@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/css/yakuhanjp.min.css');
/*
.zen-old-mincho-regular {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}R400 M500 SM600 Bold700 Black900
.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}R400 M500 SM600 Bold700 EB800 Black900
*/

#content img {
	vertical-align: top;
}
#content-main {
  overflow: clip;
}
#content-main .contact-note, .btn-link a {
	font-family: YakuHanJP, 'M PLUS Rounded 1c', sans-serif;
	transform: rotate(0.03deg);
	letter-spacing: .05em;
}
#content-main .sec-info p {
	font-family: YakuHanJP, 'M PLUS Rounded 1c', sans-serif;
}
.content-inner {
	width: 100%;
	max-width: 840px;
	margin: 0 auto;
	padding: .1px 20px;
	position: relative;
	text-align: left;
}
@media screen and (max-width: 767px) {
	.content-inner {
		padding: .1px 30px;
	}
}


/* tds25th navi */
.header-tds25th {
	position: relative;
	z-index: 3;
	background: #009db8;
	background-image: linear-gradient(90deg, #009db8 35%, #9ad3d7);

}
.header-tds25th::before,
.header-tds25th::after {
  content: "";
  width: 100%;
  height: 2px;
  background-image: linear-gradient(90deg, #a4b1ae 20%, #c7cdc8 50%, #a4b1ae 80%);
  display: block;
	position: absolute;
  left: 0;
}
.header-tds25th::before {
  top: 0;
}
.header-tds25th::after {
  bottom: 0;
}
.header-tds25th .-logo {
  width: 684px;
  height: 86px;
	background: url("../images/tds25th_hd_logo01.png") 0 0 no-repeat;
	background-size: contain;
  display: block;
  overflow: hidden;
  text-indent: -9999em;
  margin: 0 auto;
}
.footer-tds25th {
	background: #cddfef url("../images/tds25th_ft_bg01.jpg") 50% 0;
	padding: 104px 0;
	position: relative;
}
.footer-tds25th::before,
.footer-tds25th::after {
  content: "";
  width: 100%;
  height: 4px;
  background-image: linear-gradient(90deg, #a4b1ae 20%, #c7cdc8 50%, #a4b1ae 80%);
  display: block;
	position: absolute;
  left: 0;
}
.footer-tds25th::before {
  top: 0;
}
.footer-tds25th::after {
  bottom: 0;
}
.footer-tds25th .content-nav {
  max-width: 660px;
	margin: 0 auto -20px;
}
.footer-tds25th .content-nav li {
  margin: 0 0 20px;
}
.footer-tds25th .content-nav li > a {
	display: block;
	position: relative;
}
.footer-tds25th .content-nav li.btn-official {
	position: relative;
}
.footer-tds25th .content-nav li.btn-official a[class^="btn"] {
  border-radius: 9999em;
  width: 248px;
  height: 36px;
  position: absolute;
  bottom: 20px;
  display: block;
  overflow: hidden;
  text-indent: -9999em;
}
.footer-tds25th .content-nav li.btn-official a.btn01 {
  left: 9%
}
.footer-tds25th .content-nav li.btn-official a.btn02 {
  right: 9%
}
@media screen and (max-width: 767px) {
	.header-tds25th {
	}
  .header-tds25th::before,
  .header-tds25th::after {
    height: calc(4/750*100vw);
  }
  .header-tds25th .-logo {
    width: 100%;
    height: calc( 100vw * 102 / 750);
    background-image: url("../images/tds25th_hd_logo01_sp.png");
  }
	.footer-tds25th {
    background-image: url("../images/tds25th_ft_bg01_sp.jpg");
    background-size: calc(568/750*100vw) auto;
		padding: calc(108/750*100vw) 0;
	}
  .footer-tds25th::before,
  .footer-tds25th::after {
    height: calc(8/750*100vw);
  }
	.footer-tds25th .content-nav {
		max-width: calc( 100vw * 660 / 750);
	  margin: 0 auto calc(-30/750*100vw);
	}
  .footer-tds25th .content-nav li {
    margin: 0 0 calc(30/750*100vw);
  }
}
.pageTop {
  width: 100%;
	transform: translate3d(0, 0, 0);
  position: sticky;
  z-index: 9999;
  right: 0;
   bottom: 0;
}
.pageTop a {
  display: block;
  background: url(../images/tds25th_pagetop.png) no-repeat 50% 50%;
  width: 60px;
  height: 60px;
  text-indent: -9999px;
  overflow: hidden;
  position: absolute;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  right: 20px;
   bottom: 15px;
}
.pageTop a:hover {
	opacity: .8;
}
@media screen and (max-width: 767px) {
  .pageTop {
  }
	.pageTop a {
		background-size: contain;
    width: calc( 100vw * 90 / 750);
    height: calc( 100vw * 90 / 750);
    right: calc( 100vw * 30 / 750);
    bottom: calc( 100vw * 40 / 750);
	}
}


.sec-special li, .sec-special p, .sec-special dt, .sec-special dd, .sec-special .sp-ti04 .-tx {
	font-family: 'Noto Sans JP', serif;
	transform: rotate(0.03deg);
}
.sec-special .sp-ti01, .sec-special .sp-ti02 .-tx, .sec-special .sp-ti03, .sec-special .sp-label, .sec-special .sp-copy p, .sec-special .sp-present, .sec-special .sp-date {
  font-family: "Zen Old Mincho", serif;
}
.sec-special {
	background: #fbf9f5;
	color: #515763;
	position: relative;
	font-size: 16px;
	line-height: 2;
	z-index: 0;
}
.special-bg {
	background: url("../images/tds25th_bg03b.png") 50% -139px no-repeat, linear-gradient(0deg, rgba(0,157,184,0), rgba(0,157,184,1)) no-repeat, url("../images/tds25th_bg01.jpg") 50% 0 repeat;
  /*background-size: min(100%, 1400px) auto, 100% 963px, auto auto;*/
  background-size: 1400px auto, 100% 560px, auto auto;
	text-align: center;
	padding: 128px 0 160px;
  position: relative;
}
.special-bg .content-inner {
  max-width: none;
  text-align: center;
  padding: .1px 50px .1px;
}
.sp-copy {
	font-size: 22px;
  font-weight: 600;
  color: #008da8;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 2;
  margin: 2.4em 0 1.8em;
}
.sp-present {
  min-width: 290px;
	background: url("../images/tds25th_bg04.png") 50% 100% no-repeat;
	font-size: 34px;
  font-weight: 800;
  color: #9789c5;
  line-height: 1;
  display: inline-block;
  margin: 1.3em 0 .1em;
  padding: 0 .5em 2.4em 0;
  text-shadow: 0 0 .3em #fff, 0 0 .3em #fff, 0 0 .2em #fff;
}
.sp-present .-number {
	font-size: calc(50/34*1em);
  font-weight: inherit;
  display: inline-block;
  vertical-align: baseline;
  transform: translateY(.05em);
  padding: 0 .07em 0 .3em;
}
.sp-date {
	font-size: 22px;
  font-weight: 900;
  color: #fff;
  line-height: 1.8;
  display: table;
  margin: 0 auto;
  letter-spacing: 0.04em;
}
.sp-date.-normal {
	font-size: 24px;
  letter-spacing: 0.04em;
}
.sp-date > span {
  font-weight: inherit;
  line-height: 1;
  display: inline-block;
  vertical-align: baseline;
}
.sp-date .-number {
	font-size: calc(30/22*1em);
}
.sp-date .-fs-s {
	font-size: calc(20/22*1em);
}
.sp-date .-fs-ss {
	font-size: calc(18/22*1em);
}
.sp-date .-thin {
  margin: 0 -.3em;
}
.sp-img {
  margin: 3.1em 0 0;
}
.sp-icon-arrow {
  height: 24px;
  width: 56px;
  background: #7fc0d0;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  display: block;
  position: relative;
  margin: 30px auto;
}
.sp-label {
  height: calc(53em/18);
	font-size: 18px;
	font-weight: 500;
	background: url("../images/top_sp_bg01.png") 50% 0 no-repeat;
  background-size: contain;
  color: #fff;
  margin: 2.2em 0 1em;
  padding-top: .6em;
  line-height: 1.4;
}
.sp-logo {
  margin: 40px 0 -35px;
}

.sp-ti01 {
	font-size: min(100vw * 56 / 1140, 56px);
  font-weight: 800;
	text-align: center;
	line-height: 1.535;
  color: #008da8;
  margin: 0 -1em;
  padding-left: .2em;
  text-shadow: -1px -1px .1em #fff, 1px 1px .1em #fff, -1px 1px .1em #fff, -1px 1px .1em #fff, 0 0 .2em #fff;
}
.sp-ti01 .-sub {
  display: block;
	font-size: calc(32/56*1em);
  margin-bottom: .6em;
  padding-right: .5em;
}
.sp-ti01 .-sub2 {
  display: block;
	font-size: calc(36/56*1em);
  margin-bottom: .4em;
}
.sp-ti01 .-tx {
	display: block;
	line-height: 1;
}
.sp-ti02 {
	background: #029db8 url("../images/tds25th_bg05.jpg") 50% 0 no-repeat;
  background-size: cover;
	font-size: 36px;
	color: #fff;
	text-align: center;
	line-height: 1.34;
	font-weight: 700;
	position: relative;
	margin: 0 auto .95em;
  text-shadow: -2px 2px .2em #029db8, -2px -2px .2em #029db8, 2px -2px .2em #029db8, 2px 2px .2em #029db8;
}
.sp-ti02::before,
.sp-ti02::after {
  content: "";
  width: 100%;
  height: 3px;
  background-image: linear-gradient(90deg, #a4b1ae 20%, #c7cdc8 50%, #a4b1ae 80%);
  display: block;
	position: absolute;
  left: 0;
}
.sp-ti02::before {
  top: 0;
}
.sp-ti02::after {
  bottom: 0;
}
.sp-ti02 .-tx {
  max-width: 1200px;
	display: block;
	position: relative;
  margin: 0 auto;
	padding: .7em 0 .65em;
}
.-list-detail + .sp-ti02 {
	margin-top: 3.7em;
}
.sp-ti03 {
	background: url("../images/tds25th_bg06.png") 50% 100% no-repeat;
	font-size: 42px;
	font-weight: 700;
  color: #008da8;
	text-align: center;
	line-height: 1.34;
	position: relative;
	margin: 1.05em auto .55em;
  padding: 0 0 1.8em .2em;
}
.sp-ti03 .-sub {
  font-size: calc(30/42*1em);
  color: #34abbc;
  display: block;
  letter-spacing: .15em;
  line-height: 1;
  margin-bottom: .9em;
}
.sp-ti03 .-sub .-number {
  font-size: calc(38/26*1em);
  color: #9587c4;
  display: inline-block;
  vertical-align: baseline;
  line-height: calc(26/38*1em);
}
.sp-ti04 {
	font-size: 16px;
	color: #fff;
	text-align: center;
	line-height: 1.34;
	font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
	margin: 0 auto .4em;
}
.sp-ti04::before,
.sp-ti04::after {
  content: "";
	background: url("../images/tds25th_bg07.png") 50% 50% no-repeat;
  background-size: contain;
  width: calc(31/16*1em);
  height: calc(20/16*1em);
  display: block;
  margin: 0 .6em;
}
.sp-ti04::after {
  transform: rotate(180deg);
}
.tx-att {
	color:#c886c1 !important;}
.tx-att2 {
	color:#9587c4 !important;}
.icon-star {
	color:#008da7 !important;}
a.tx_link {
	color: #019eb9 !important;
}
.icon-att {
	font-size: 16px;
	display: table;
	font-weight: 500 !important;
	border-radius: 9999em;
	background: #c886c1;
	color:#fff;
	margin: 1em auto 0;
	padding: .6em 2em .6em;
	line-height: 1;
}
@media screen and (max-width: 767px) {
	.sec-special {
		font-size: calc(28/750*100vw);
	}
	.special-bg {
    background-image: url("../images/tds25th_bg03b_sp.png"), linear-gradient(0deg, rgba(0,157,184,0), rgba(0,157,184,1)), url("../images/tds25th_bg01.jpg");
    background-position: 50% calc(-68/750*100vw), 50% calc(-110/750*100vw), 50% calc(-230/750*100vw);
    background-size: 100% auto, 100% calc(571/750*100vw), calc(700/750*100vw) auto;
		padding: calc(120/750*100vw) 0 calc( 100vw * 160 / 750);
	}
  .special-bg .content-inner {
    padding: .1px 0 .1px;
  }
	.sp-copy {
		font-size: calc( 100vw * 32 / 750);
    line-height: 2;
    margin: 1.6em calc(50/750*100vw);
    text-align: left;
	}
	.sp-ti01 + .sp-copy {
    margin-top: 2.3em;
  }
	.sp-copy .inline-block {
		display: initial;
	}
  .sp-present {
		font-size: calc(34/750*100vw);
    background-size: calc(290/750*100vw) auto;
    margin: 1.1em 0 0;
  }
  .sp-date {
		font-size: calc(26/750*100vw);
  }
  .sp-date .-spn-hidden {
    visibility: hidden;
  }
  .sp-date.-normal {
		font-size: calc(28/750*100vw);
  }
  .sp-img {
    margin: 2.5em calc(50/750*100vw) 0;
  }
  .sp-icon-arrow {
    height: calc(34/750*100vw);
    width: calc(80/750*100vw);
    margin: calc(30/750*100vw) auto;
  }
	.sp-label {
    font-size: calc(28/750*100vw);
    height: calc(80em/28);
    margin: 1.8em 0 1em;
    padding-top: .5em;
	}
  .sp-logo {
    margin: calc(30/750*100vw) calc(97/750*100vw) calc(-45/750*100vw);
  }
  .sp-ti01 {
		font-size: calc(54/750*100vw);
    line-height: 1.518;
  }
  .sp-ti01 .-sub {
    margin-bottom: .6em;
    letter-spacing: -.04em;
  }
  .sp-ti01 .-sub2 {
    margin-bottom: .5em;
    letter-spacing: normal;
  }
	.sp-ti01 .-tx {
		margin: 0 calc( 100vw * 50 / 750);
    line-height: 1.33;
	}
	.sp-ti02 {
    border-top-width: calc( 1em * 6 / 42);
    border-bottom-width: calc( 1em * 6 / 42);
		font-size: calc( 100vw * 42 / 750);
		margin-bottom: .7em;
	}
  .sp-ti02 .-tx {
    padding: 1em 0;
  }
  .sp-ti02::before,
  .sp-ti02::after {
    height: calc(100vw * 6 / 750);
  }
	.-list-detail + .sp-ti02 {
		margin-top: 4.3em;
	}
  .sp-ti03 {
    background-image: url("../images/tds25th_bg06_sp.png");
    background-size: calc(531/750*100vw) auto;
    font-size: calc(46/750*100vw);
    margin-top: .7em;
    padding-bottom: 1.9em;
  }
  .sp-ti03 .-sub {
    font-size: calc(30.5/46*1em);
    margin-bottom: 1.1em;
  }
  .sp-ti04 {
    font-size: calc(26/750*100vw);
  }
	.icon-att {
    font-size: calc(100vw* 25 / 750);
	}
}