@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);


html {font-size: 62.5%;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;-webkit-text-size-adjust: 100%;-ms-text-size-adjust: 100%;overflow:auto;}
body {
	font-family: 'Noto Sans JP', sans-serif;background:#fff;color:#1b1b1b;font-size:20px;font-size:2rem;line-height:1.6em;
}

* {margin:0;padding:0;}
ul, li{list-style-type:none;margin:0;padding:0;}
img {border:none;vertical-align:bottom;}
p,div {margin:0;padding:0;}

form {margin:0px;}
table {border-collapse:collapse;font-size:100%;border-spacing:0;}
a {text-decoration:none;color:#1b1b1b;}

img {width:100%;height:auto;padding:0;}
.wrapper {width:100%;max-width:750px;margin:0 auto;box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.4);position:relative;}
.container {}
.box {width:92%;margin:0 auto;}
.box0 {width:100%;margin:0 auto;}

.ellipse_white {width:100%;height:80px;border-radius:0 0 50% 50% /0 0 100% 100%;background:#fff;}
.ellipse_lightblue {width:100%;height:80px;border-radius:0 0 50% 50% /0 0 100% 100%;background:#bde3fd;}

/********************
 * header
********************/
header {background:#fff;}
header > div {width:38%;margin:0 auto;padding:5px 0;}

/********************
 * footer
********************/
footer {background:#151682;color:#fff;padding:50px 0;}
.top footer {padding:50px 0 260px;}
.f_copy {font-size:12px;text-align:center;}

/********************
 * FV
********************/
.fv {background:#389ee9;}

/********************
 * Cta
********************/
.cta {padding:70px 0;}

.cta_timg {}
.cta_top {margin-bottom:30px;}

.cta_tel {display:block;background:#ec6416;box-shadow: 0px 10px 0px 0px rgba(171,85,33,1);border-radius:20px;color:#fff;padding:20px 1em;margin-bottom:70px;cursor:pointer;}
.cta_tel > div {display:flex;align-items:center;justify-content:center;font-size:62px;line-height:1em;}
.cta_tel > div img {width:45px;height:59px;display:block;margin-right:0.25em;}
.cta_tel > p {font-size:25px;text-align:center;line-height:1.8em;}

.cta_line  {position:relative;display:block;background:#06c755;box-shadow: 0px 10px 0px 0px rgba(71,152,70,1);border-radius:20px;color:#fff;padding:10px 1em;margin-bottom:30px;}
.cta_line > span {
	position:absolute;left:50%;transform:translatex(-50%);top:-30px;color:#06c755;font-size:26px;background:#fff;padding:0 25px;
	width:calc(70% - 29px);line-height:56px;border:2px solid #06c755;text-align:center;border-radius:28px;
}
.cta_line > div {display:flex;align-items:center;justify-content:center;font-size:48px;line-height:1em;margin:25px 0 0;}
.cta_line > div img {width:62px;height:59px;display:block;margin-right:0.25em;}
.cta_line > p {font-size:25px;text-align:center;line-height:1.8em;}

.cta_text {font-size:18px;text-align:center;line-height:1.6em}

/********************
 * Contents
********************/

/* sec01 */
.sec01 {background:#bde3fd;}

/* sec02 */
.sec02 {position:relative;}
.sec02_arrow {width:20px;height:129px;position: absolute;left: 50%;top:15px;transform:translateX(-50%);}
.sec02_1 {padding:80px 0 0;}
.sec02_movie {position: relative;padding-bottom: 56.25%;height: 0;overflow: hidden;background:#ccc;}
.sec02_movie iframe, .sec02_movie video {position: absolute;top: 0;left: 0;width: 100%;height: 100%;border:none;}
.sec02_link {margin:40px auto 30px;}

/* sec03 case */
.sec03 {background: linear-gradient(-90deg, rgba(169,220,245,1) 0%, rgba(155,218,250,1)40%, rgba(91,202,248,1)100%);}
img.case_title {display:block;margin-top:-1.2%}
img.case_img {display:block;padding:0 0 70px;}

/* sec04 diagnosis */
.sec04 {background:#dceffc;padding:0 0 80px;}
.sec04 .box {margin-top:35px;}
.diag_textb {padding:70px 0 0;}

/* why sec05 */
.sec05 {}
.why_text {position:relative;z-index:5;}


/* sec06 recovery */
.sec06 {
	padding:0 0 0;position:relative;margin-top:-12%;
	position:relative;background-size:25px 25px;background-repeat: repeat;background-position: center center;background-color:#fff;
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
}

.recovery_after {margin-bottom:60px;}
.recovery_title2 {position:relative;}
.recovery_title2:before {content:'';display:block;position:absolute;top:0;left:0;width:100%;height:100%;background:#edf7ff;clip-path: polygon(0% 0%, 50% 25%, 100% 0, 100% 100%, 0% 100%);z-index:1}
.recovery_title2 img {display:block;position:relative;z-index:2;}
.recovery_titlesub {position:relative;}
.recovery_caution {position: absolute;left:50%;transform: translateX(-50%);top:-2%;width:25%;z-index:3;}
.recovery_titlesub {background:#60adec;}
.recovery_text {padding:30px 0;color:#fff;font-size:18px;text-align:center;}
.recovery_text2 {position:relative;background:#fff2e3;padding:0 0 60px;}
.recovery_text2:before {content:'';display:block;position:absolute;top:-1px;left:0;width:100%;height:9%;background:#60adec;clip-path: polygon(0 0, 0% 100%, 100% 0);z-index:1}
.recovery_text2 img {display:block;position:relative;z-index:2;}

/* sec07 price */
.sec07 {background:#bee3fe;padding:70px 0;}
.price_text2 {color:#242424;font-size:18px;margin-top:20px;}

/* sec08 flow */
.sec08 {background:#399fea;padding:100px 0 90px;}
.flow_img {}
.flow_img img {margin-bottom:20px;}
.flow_img img.last {margin-bottom:0;}

/* sec09 fqa */
.sec09 {background:#f8fdff;padding:80px 0;}
.fqa_title {}

.fqa_wrapper {display:grid;grid-auto-rows: min-content;row-gap:40px;}
.fqa_wrapper > details > summary::-webkit-details-marker {display: none;}
.fqa_wrapper > details > summary::marker {content: "";display:none;list-style-type: none;}
.fqa_wrapper > details > summary {
	display: grid;grid-template-columns: 1fr 30px;gap: 10px;align-items: center;border-radius:15px;
    padding: 16px 4%;border: 2px solid #60adec;background:#60adec;color: #fff;font-weight: bold;cursor: pointer;
}

.fqa_arrow {position: relative;width: 30px;height: 30px;margin:0;border-radius:15px;background:#fff;}
.fqa_arrow:before, .fqa_arrow:after {display: block;content: '';position: absolute;top: 0;left: 0;right: 0;bottom: 0;margin: auto;background-color: #60adec;border-radius: 10px;}
.fqa_arrow:before {width:2px;height:20px;}
.fqa_arrow:after {width:20px;height:2px;}

.fqa_wrapper > details[open] summary {border-radius:15px 15px 0 0;}
.fqa_wrapper > details[open] .fqa_arrow:before {display:none}

.fqa_text {display:flex;align-items: center;width:100%}
.fqa_icon {width:35px;height:auto;margin-right:15px;display:block;}
.fqa_text p {font-size:28px;line-height:1.5em;width:calc(100% - 50px);}

.fqa_wrapper .content {padding: 16px 4%;border:2px solid #60adec;border-radius:0 0 15px 15px;display:flex;}
.fqa_wrapper .content p {font-size:26px;line-height:1.5em;width:calc(100% - 50px);}

/* sec10 company */
.sec10 {padding:80px 0;}

.sec10 table {width:100%;margin:0 auto;border-collapse: separate;border-spacing:0px 10px;}
.sec10 table th,.sec10 table td {padding: 10px;border:2px solid #151682;line-height:1.4em;}
.sec10 table th {background:#151682;vertical-align:middle;text-align:left;width:8em;overflow: visible;position: relative;color: #fff;font-weight: normal;font-size:28px;text-align:center;}
.sec10 table td {font-size:26px;}
.sec10 table td p {font-weight:bold;}
.sec10 table td small {font-size:0.8em;}

/* sec11 profile */
.sec11 {background:#f0fafe;padding:80px 0;}
ul.profile01 {display:flex;}
ul.profile01 li:nth-child(1) {width:50%}
ul.profile01 li:nth-child(2) {margin:0 4% 0 -16%;width:62%}

.profile01_1 {font-size:36px;font-weight:bold;line-height:1.4em;margin:40px 0;}
.profile01_1 ruby {font-size:1.4em;}
.profile01_2 {font-size:38px;border-bottom:2px solid #242424;line-height:1.8em;margin-bottom:10px;}
.profile01_3 {font-size:24px;line-height:2em;text-shadow:3px 3px 3px #fff, -3px -3px 3px #fff,-3px 3px 3px #fff,  3px -3px 3px #fff,3px 0px 3px #fff, -3px -0px 3px #fff,0px 3px 3px #fff,  0px -3px 3px #fff;}

.profile02 {background:#67b5f4;color:#fff;margin-bottom:30px;}
.profile02.last {margin-bottom:0;}
.profile02 > div:nth-child(1) {border-bottom:2px solid #fff;}
.profile02 > div > p {padding:25px 5%;}
.profile02 > div:nth-child(1) > p {font-size:38px;line-height:1.2em;}
.profile02 > div:nth-child(2) > p {font-size:24px;line-height:1.6em;}

/* sec12 office */
.sec12 {background:#fcfeff;padding:80px 0;}

.office_img {position:relative;padding-top:56.25%;width:100%;}
.office_img img {position:absolute;top:0;left:0;width:100%;height:100%;}

/* sec13 map */
.sec13 {background:#fcfeff;padding:0 0 80px;}

.map_iframe {position:relative;padding-top:56.25%;width:100%;}
.map_iframe iframe {position:absolute;top:0;left:0;width:100%;height:100%;}

/* sec14 form */
.sec14 {background:#e8eef5;padding:80px 0;}
.formin {background:#fff;border-radius:20px;padding:30px 4%;}
.formin dl {}
.formin dt {display:flex;align-items:flex-start;margin-bottom:15px;font-weight:bold;font-size:30px;}
.formin dt span {background:#151682;color:#fff;width:2.5em;font-size:0.8em;padding:0.1em 0.5em;margin-right:0.4em;border-radius:6px;font-weight:normal;text-align:center;}
.formin dt p {background:#a7a2a2;color:#fff;width:2.5em;font-size:0.8em;padding:0.1em 0.5em;margin-right:0.4em;border-radius:6px;font-weight:normal;text-align:center;}
.formin dd {margin-bottom:60px;}
.formin input[type="text"],
.formin input[type="tel"] {border: 2px solid #242424;border-radius: 5px;background:#fff;width:calc(100% - 24px);padding:10px;}
textarea {border: 2px solid #242424;border-radius: 5px;background:#fff;width:calc(100% - 24px);padding:10px;}
/* checkbox */
.checkbox1 {}
.checkbox1 > label {display:block;margin-bottom:0.4em;padding-left:35px}
.checkbox2 {padding-left:30px}
.checkbox_input,.checkbox_input2{display: none;}
.checkbox_parts,.checkbox_parts2{position:relative;}
/* top checkbox */
.checkbox_parts::before{
  content:'';display:block;position:absolute;left:-35px;top:3px;
  width:20px;height:20px;border:2px solid #999;border-radius: 4px;
}
/* .checkbox_input:checked + .checkbox_parts{color:;} */
.checkbox_input:checked + .checkbox_parts::after{
  content: "";display:block;position:absolute;left:-28px;top:4px;width:7px;height:14px;
  transform:rotate(40deg);border-bottom:3px solid #151682;border-right:3px solid #151682;
}
/* 個人情報の取り扱い */
.checkbox_parts2::before{
  content:'';display:block;position:absolute;left:-35px;top:50%;transform:translateY(-50%);
  width:20px;height:20px;border:2px solid #242424;border-radius:12px;
}
.checkbox_input2:checked + .checkbox_parts2{color: #151682;}
.checkbox_input2:checked + .checkbox_parts2::after{
  content:'';display:block;position:absolute;left:-31px;top:50%;transform:translateY(-50%);
  width:16px;height:16px;border-radius:8px;background:#151682;
}
/* select */
.selbox {position: relative;display: flex;align-items: center;margin:0 auto;border: 2px solid #242424;border-radius: 5px;}
.selbox::before {position: absolute;right: 15px;content: '';width: 16px;height: 8px;background: #242424;clip-path: polygon(0 0, 100% 0, 50% 100%);}
.selbox select {width: 100%;padding: 10px 45px 10px 10px;color: #242424;cursor: pointer;text-overflow: ellipsis;z-index: 1;border: none;appearance: none;outline: none;background: transparent;}

/* submit_btn */
.submit {width:92%;max-width:300px;/* padding:; */border: none;cursor: pointer;margin:0 auto;display:block;}
#submit_btn {width:100%;background:#151682;color:#fff;line-height:100px;border-radius:10px;box-shadow:0px 6px 0px 0px rgba(115,116,179,1);cursor:pointer;border:none;}
#submit_btn[disabled] {background:#ccc;box-shadow:0px 6px 0px 0px rgba(126,126,126,1);cursor:not-allowed;}

#formWrap {padding:0;}
#formWrap h3 {text-align:center;font-size:1.6em;font-weight:bold;margin-bottom:0.5em;}
table.formTable {width:100%;border-collapse: separate;border-spacing: 0;text-align: left;line-height: 1.5;}
table.formTable th,table.formTable td {width:calc(100% - 22px) !important;display: block;padding: 10px;vertical-align: top;}
table.formTable th {background:#151682;color:#fff;font-weight: 400;border: 1px solid #151682;}
table.formTable td {background:#fff;border: 1px solid #ccc;}

.mail_send {margin-top:25px;}
.mail_send input[type="submit"], .mail_send input[type="button"] {width:47%;margin:0 1%;max-width:300px;line-height:60px;font-size:1.2em;border-radius: 10px;}
.mail_send input[type="submit"]:disabled {background:#a1c3ec;border:none;color:#5488c9;}
.mail_send input[type="submit"] {background:#151682;border:none;color:#fff;box-shadow:0px 6px 0px 0px rgba(115,116,179,1);}
.mail_send input[type="button"] {background:#ccc;border:none;color:#fff;box-shadow:0px 6px 0px 0px rgba(126,126,126,1);}

/* shindan_box */
.shindan_box {position: relative;border:2px solid #151682;border-radius:20px;padding:60px 4% 30px;background:#fff;}
.sb_q {position:absolute;top:-30px;left:50%;transform: translateX(-50%);color:#151682;padding: 0 0.5em;background:transparent;font-size:50px;line-height:60px;}
.sb_q::before {position: absolute;z-index: -1;left: 0;bottom: 50%;width: 100%;height: 2px;background-color: #fff;content: "";}
.sb_number {display:flex;justify-content:center;margin-bottom:20px}
.sb_number p {position:relative;background:#918e8b;color:#fff;margin-right:20px;width:50px;height:50px;line-height:50px;border-radius:25px;text-align:center;}
.sb_number p:before {content:'';display:block;position:absolute;right:-20px;top:50%;transform: translateY(-50%);width:20px;height:0;border-bottom:4px dotted #918e8b;}
.sb_number p:last-child {margin-right:0;}
.sb_number p:last-child:before {content:none;}
.sb_number p.active {background:#f7751e;}

.sb_qtext {color:#151682;font-weight:bold;font-size:26px;text-align:center;line-height:1.4em;}
.sindan {position: relative;width: 100%;}
.sindan ul {width:100%}
.sindan ul li {display: inline-block;width:100%;margin-top: 30px;list-style: none;}
.sindan ul li a {
  width:calc(100% - 40px);color: #fff;display:block;padding:0 20px;text-align: center;background: #151682;font-weight: 600;font-size:26px;
  line-height:100px;border-radius:50px;border:none;text-decoration: none;box-shadow:0px 6px 0px 0px rgba(115,116,179,1);
 }
.sindan ul li a:hover {background: #898aff;color: #242424;transition: 0.7s;}

.sindan ul li a.btn_return {border:2px solid #151682;background:#fff;color:#151682;display:flex;align-items:center;justify-content:center;box-shadow:0px 6px 0px 0px rgba(208,201,194,1);}
.sindan ul li a.btn_return img {width:auto;height:36px;display:block;margin-right:0.4em;color:#151682;}

.result_top {
	position:relative;border-radius:20px 20px 0 0;text-align:center;color:#fff;padding:20px 0 0;
	display:flex;align-items: center;
}
.result_a .result_top {background:#f59520;}
.result_b .result_top {background:#151682;}
.result_c .result_top {background:#19194a;}
.result_top div.result_img {margin-left:-2%;width:18%}
.result_top p {width:100%;margin-left:-16%;font-weight:bold;font-size:58px;line-height:1.4em;}

.result_box {position: relative;padding:40px 4%;background:#fff;border-radius:0 0 20px 20px;}
.result_a .result_box {border:2px solid #f59520;}
.result_b .result_box {border:2px solid #151682;}
.result_c .result_box {border:2px solid #19194a;}

.result_discription {text-align:center;font-size:26px;line-height:1.6em;}
.result_discription span {background:#fffa16;color:#f7751e;font-weight:bold;}
.result_aimg {width:90%;margin:40px auto 0;}

.result_box .cta {padding:40px 0 0;}
.result_discription a {border-bottom:2px solid #151682;color:#151682;}
img.result_link {height:30px;width:auto;vertical-align:text-top;}

.loading_img {width:200px;height:200px;margin:0 auto;}

.sp_con {display:none;}

/* floating */
.floating {
	width:100%;max-width:calc(750px - 4%);padding:40px 2%;background-color:#fff88a;display:flex;justify-content:space-between;position:fixed;bottom:0;left:50%;transform: translateX(-50%);z-index:900;
  background-color:#fff88a;background-image:radial-gradient(#fdef53 21%, transparent 24%),radial-gradient(#fdef53 21%, transparent 24%);background-position:0 0, 11px 11px;background-size:22px 22px;
}
.floating > a {width:calc(49% - 1em);display: flex;flex-flow: row wrap;align-items:center;}

.f_tel {background:#ec6416;box-shadow: 0px 10px 0px 0px rgba(171,85,33,1);border-radius:20px;color:#fff;padding:20px 0.5em;margin-bottom:10px;}
div.f_tel01 {display:flex;align-items:center;justify-content:center;font-size:36px;line-height:1.4em;}
div.f_tel01 img {width:9%;height:auto;display:block;margin-right:0.25em;}
div.f_tel02 {font-size:20px;text-align:center;line-height:1.4em;}

.f_line  {position:relative;background:#06c755;box-shadow: 0px 10px 0px 0px rgba(71,152,70,1);border-radius:20px;color:#fff;padding:20px 0.5em;margin-bottom:10px;}
.f_line small {font-size:0.75em;}
.f_line > div > div {text-align:center;}
div.f_line01 {font-size:24px;line-height:1.2em;}
div.f_line01 span {color:#fffa16}
div.f_line02 {font-size:38px;line-height:1.2em;}
div.f_line03 {font-size:20px;line-height:1.2em;}

.f_tel > div,.f_line > div {padding-right:6%;position:relative;width:calc(100% - 6%);}
.f_tel > div:before,.f_line > div:before  {
	content:'';display:block;position: absolute;right:0;top: 50%;transform: translateY(-50%);
	background:url(../images/f_arrow.svg) no-repeat center center;width:4%;height:100%;
}

.f_btn {position:absolute;right:0.5%;bottom:85%;width:34%;}
.f_diagclose {position:absolute;right:3.5%;top:0;width:22%;height:22%;z-index:905;}
.f_diag {position:absolute;right:4%;top:2%;width:93%;height:93%;z-index:904;border-radius:50%;}

.thanks_top {width:92%;max-width:300px;padding:0;border: none;cursor: pointer;margin:0 auto;display:block;text-align:center;}
.thanks_top a {display:block;width:100%;background:#151682;color:#fff;line-height:100px;border-radius:10px;box-shadow:0px 6px 0px 0px rgba(115,116,179,1);cursor:pointer;border:none;}

@media screen and (max-width:750px) {

	/********************
	 * footer
	********************/
	footer {padding:40px 0;}
	.top footer {padding:40px 0 40%;}
	.f_copy {font-size:10px;}

	/********************
	 * Cta
	********************/
	.cta {padding:50px 0;}
	.cta_tel {box-shadow: 0px 7px 0px 0px rgba(171,85,33,1);border-radius:10px;margin-bottom:50px}
	.cta_tel > div {font-size:8.4vw;}
	.cta_tel > div img {width:40px;height:52px;}
	.cta_tel > p {font-size:3.45vw;}

	.cta_line {box-shadow: 0px 7px 0px 0px rgba(71,152,70,1);border-radius:10px;}
	.cta_line > span {top:-20px;font-size:3.9vw;padding:0 10px;
		width:calc(88% - 24px);line-height:36px;border:2px solid #06c755;text-align:center;border-radius:28px;
	}
	.cta_line > div {font-size:6.4vw}
	.cta_line > div img {width:54px;height:52px;}
	.cta_line > p {font-size:3.45vw;}

	.cta_text {font-size:3.45vw;}

	/********************
	 * Contents
	********************/
	/* sec02 */
	.sec02_link {margin:30px auto 20px;}

	/* sec04 diagnosis */
	.sec04 {padding:0 0 60px;}
	.diag_textb {padding:40px 0 0;}

	/* sec07 price */
	.sec07 {padding:60px 0;}
	.price_text2 {font-size:3.45vw;}

	/* sec09 fqa */
	.sec09 {padding:60px 0;}

	.fqa_wrapper {row-gap:20px;}
	.fqa_wrapper > details > summary {border-radius:10px;}

	.fqa_wrapper > details[open] summary {border-radius:10px 10px 0 0;}

	.fqa_icon {width:30px;margin-right:15px;}
	.fqa_text p {font-size:4.2vw;line-height:1.5em;width:calc(100% - 45px);}

	.fqa_wrapper .content {border-radius:0 0 10px 10px;}
	.fqa_wrapper .content p {font-size:4vw;width:calc(100% - 45px);}

	/* sec10 company */
	.sec10 {padding:60px 0;}

	.sec10 table th,.sec10 table td {padding:10px;}
	.sec10 table th {width:7em;font-size:4.2vw;}
	.sec10 table td {font-size:3.6vw;}

	/* sec11 profile */
	.sec11 {padding:60px 0;}

	ul.profile01 {align-items: center;margin:20px auto 40px;}
	ul.profile01 li:nth-child(1) {width:45%}
	ul.profile01 li:nth-child(2) {margin:0 4% 0 -16%;width:77%}

	.profile01_1 {font-size:6vw;margin:0 0 10px;}
	.profile01_2 {font-size:6.2vw;}
	.profile01_3 {font-size:3.6vw;line-height:1.75em;}

	.profile02 > div > p {padding:20px 5%;}
	.profile02 > div:nth-child(1) > p {font-size:6.2vw;}
	.profile02 > div:nth-child(2) > p {font-size:4vw;}

	/* sec12 office */
	.sec12 {padding:60px 0;}

	/* sec13 map */
	.sec13 {padding:0 0 60px;}

	/********************
	 * sec14 form
	********************/
	.sec14 {padding:60px 0;}
	.formin {border-radius:10px;padding:20px 4%;}
	.formin dt {margin-bottom:15px;font-size:5vw;}
	.formin dd {margin-bottom:50px;}
	/* submit_btn */
	#submit_btn {line-height:80px;}

	/* shindan_box */
	.shindan_box {border-radius:15px;padding:45px 4% 30px;}
	.sb_q {font-size:50px;line-height:60px;}
	.sb_q::before {height: 3px;}
	.sb_number {margin-bottom:20px}
	.sb_number p {margin-right:20px;width:40px;height:40px;line-height:40px;border-radius:20px;}

	.sb_qtext {font-size:6.2vw;}
	.sindan ul li {margin-top: 25px;}
	.sindan ul li a {font-size:6vw;line-height:80px;border-radius:40px;}

	.result_top {border-radius:15px 15px 0 0;padding:10px 0 0}
	.result_top p {font-size:8vw;}

	.result_box {padding:30px 3.8%;border-radius:0 0 15px 15px;}

	.result_discription {font-size:4.65vw;}
	.result_aimg {width:100%;margin:30px auto 0;}

	.result_box .cta {padding:30px 0 0;}
	img.result_link {height:25px;}

	.sp_con {display:block;}

	/* floating */
	.floating {width:calc(100% - 2%);max-width:initial;padding:4% 1%;}
	.floating > a {width:calc(49% - 1em);display: flex;flex-flow: row wrap;align-items:center;}

	.f_tel {box-shadow: 0px 7px 0px 0px rgba(171,85,33,1);border-radius:10px;padding:10px 0.5em;margin-bottom:7px;}
	div.f_tel01 {font-size:4.6vw;}
	div.f_tel02 {font-size:2.9vw;}

	.f_line {box-shadow: 0px 7px 0px 0px rgba(71,152,70,1);border-radius:10px;padding:10px 0.5em;margin-bottom:7px;}
	div.f_line01 {font-size:3.2vw;}
	div.f_line02 {font-size:4.6vw;line-height:1.6em}
	div.f_line03 {font-size:3vw;}

	.thanks_top a {line-height:80px;}

}

/* 2025-11-28 ADD by KOU START */
.sec02_movie .video-wrapper {
    /* position: relative; */   /* ★ 一定要有这个 */
    width: 100%;
}

.sec02_movie video {
    display: block;
    width: 100%;
    height: auto;
}

/* 半透明遮罩 */
.video-overlay {
    position: absolute;
    inset: 0;                      /* top:0; right:0; bottom:0; left:0; 的简写 */
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 播放按钮 */
.video-play-btn {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: red;
    position: relative;
    cursor: pointer;
    transition: transform 0.2s ease;
}

/* 三角形图标 */
.video-play-btn::after {
    content: '';
    position: absolute;
    left: 28px;
    top: 20px;
    width: 0;
    height: 0;
    border-left: 24px solid #fff;
    border-top: 16px solid transparent;
    border-bottom: 16px solid transparent;
}

/* PC 端 hover 效果 & 手指光标 */
@media (hover:hover) {
    .video-overlay {
        cursor: pointer;
    }
    .video-play-btn:hover {
        transform: scale(1.12);
    }
}
.sec02_movie--title {
	text-align: center;
	font-size: 56px;
	font-weight: bold;
	margin: 16px auto 48px; 
	color: #ee7400;
}
.marker-yellow{background: linear-gradient(transparent 80%, #f9ea9b 0%);}
@media screen and (max-width:768px) {
	.sec02_movie--title {
		font-size: 8vw;
		margin: 12px auto 8.33vw; 
	}
}
/* 2025-11-28 ADD by KOU END */
/* 2025-12-02 ADD by KOU START */
.section{
	padding-top: 64px;
	display: grid;
	gap: 64px;
}


.image-lightbox-container {
	/* max-width: 1200px; */
	margin: 64px auto 0;
	padding: 40px;
	text-align: center;
	border-radius: 24px;
	position: relative;
}
.image-lightbox-container--before{
	background-color: #b0a7a7;
}
.image-lightbox-container--after{
	margin: 128px auto 64px;
	background-color: #fff9d6;
}

.image-lightbox-container--before::after{
    content: '';
    position: absolute;
    left: 50%; /* 三角形的起点从长方形的中间开始 */
    transform: translateX(-50%); /* 确保三角形居中 */
    bottom: -32px;
    width: 0;
    height: 0;
    border-left: 88px solid transparent; /* 三角形的左边透明边框 */
    border-right: 88px solid transparent; /* 三角形的右边透明边框 */
    border-top: 48px solid rgb(247, 117, 30); /* 三角形的上边框，即三角形的颜色 */
}

.image-lightbox-tag{
	position: absolute;
	top: -16px;
	left: 50%;
	transform: translateX(-50%);
	color: white;
	padding: 12px 24px;
	border-radius: 12px;
	font-size: 32px;
	font-weight: bold;
	z-index: 900;
} 
.image-lightbox-tag--before{
	background-color: #242424;
}
.image-lightbox-tag--after{
	background-color: #f59520;
}

.image-lightbox-title{
	text-align: center;
	margin-bottom: 16px;
	width: 100%;
}
.image-lightbox-title > img{
	width: 100%;
	height: auto;
}

/* 图片容器组件 */
.image-lightbox-trigger {
	position: relative;
	display: inline-block;
	cursor: pointer;
	border-radius: 12px;
	overflow: hidden;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);

}
.image-lightbox-trigger:hover {
	transform: translateY(-2px);
	transform: scale(0.98);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}
.image-lightbox-trigger::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(45deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 100%);
	opacity: 0;
	transition: opacity 0.3s ease;
}
.image-lightbox-trigger:hover::after {
	opacity: 1;
}
/* 半透明遮罩 */
.image-lightbox-trigger-overlay {
	position: absolute;
	inset: 0; /* top:0; right:0; bottom:0; left:0; 的简写 */
	background: rgba(0, 0, 0, 0.45);
	display: flex;
	align-items: center;
	justify-content: center;
}

.image-lightbox-preview {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
/* .image-lightbox-trigger:hover .image-lightbox-preview {
	transform: scale(0.98);
} */
.image-lightbox-icon-container{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 900;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}
.image-lightbox-icon-container > span{
	color: white;
	font-size: 24px;
	font-weight: bold;
}
/* 放大镜图标 */
.image-lightbox-icon {
	width: 48px;
	height: 48px;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	/* opacity: 0; */
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	backdrop-filter: blur(10px);
}
/* .image-lightbox-trigger:hover .image-lightbox-icon {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1.1);
} */
.image-lightbox-icon svg {
	width: 24px;
	height: 24px;
	stroke: #333;
	stroke-width: 2;
	fill: none;
}

/* 全屏遮罩层 */
.image-lightbox-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.95);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	backdrop-filter: blur(20px);
}
.image-lightbox-overlay.image-lightbox-active {
	opacity: 1;
	visibility: visible;
}
/* 全屏图片容器 */
.image-lightbox-modal {
	position: relative;
	max-width: 90vw;
	max-height: 90vh;
	transform: scale(0.8);
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.image-lightbox-overlay.image-lightbox-active .image-lightbox-modal {
	transform: scale(1);
}
.image-lightbox-fullscreen {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 8px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

/* 关闭按钮 */
.image-lightbox-close {
	position: absolute;
	top: -60px;
	right: 0;
	width: 48px;
	height: 48px;
	background: rgba(255, 255, 255, 0.1);
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	color: white;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	backdrop-filter: blur(10px);
}
.image-lightbox-close:hover {
	background: rgba(255, 255, 255, 0.2);
	border-color: rgba(255, 255, 255, 0.5);
	transform: scale(1.1);
}
.image-lightbox-close svg {
	width: 24px;
	height: 24px;
	stroke: currentColor;
	stroke-width: 2;
	fill: none;
}

/* 加载动画 */
.image-lightbox-loading {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 40px;
	height: 40px;
	border: 3px solid rgba(255, 255, 255, 0.3);
	border-top: 3px solid white;
	border-radius: 50%;
	animation: image-lightbox-spin 1s linear infinite;
}
@keyframes image-lightbox-spin {
	0% { transform: translate(-50%, -50%) rotate(0deg); }
	100% { transform: translate(-50%, -50%) rotate(360deg); }
}


/* 响应式设计 */
@media (max-width: 768px) {
	.section{
		padding-top: 8.33vw;
		gap: 8.33vw;
	}
	.image-lightbox-container {
		margin: 8.33vw auto 0;
		padding: 5vw;
	}
	.image-lightbox-container--before::after{
		bottom: -4.66vw;
		border-left: 11.73vw solid transparent; /* 三角形的左边透明边框 */
		border-right: 11.73vw solid transparent; /* 三角形的右边透明边框 */
		border-top: 6.4vw solid rgb(247, 117, 30); /* 三角形的上边框，即三角形的颜色 */
	}
	.image-lightbox-container--after{
		margin: 16.66vw auto 6.66vw;
	}
	.image-lightbox-tag{
		font-size: 5.33vw;
		padding: 2.2vw 5.33vw;
		top: -6.26vw;
	}
	.image-lightbox-modal {
		max-width: 95vw;
		max-height: 95vh;
	}
	.image-lightbox-close {
		top: -50px;
		width: 40px;
		height: 40px;
	}
	.image-lightbox-close svg {
		width: 20px;
		height: 20px;
	}
}
/* 2025-12-02 ADD by KOU END */

/* ADD 20251218 */
input[type=radio] {display: none;}
input[type="radio"] + label {
  width:calc(100% - 40px);color: #fff;display:block;padding:0 20px;text-align: center;background: #151682;font-weight: 600;font-size:26px;
  line-height:100px;border-radius:50px;border:none;text-decoration: none;box-shadow:0px 6px 0px 0px rgba(115,116,179,1);
}
input[type="radio"] + label:hover {background: #898aff;color: #242424;transition: 0.7s;}
input[type="radio"]:checked + label {background: #898aff;color: #242424;transition: 0.7s;}
@media screen and (max-width:750px) {
    input[type="radio"] + label {font-size:6vw;line-height:80px;border-radius:40px;}
}

