@charset "UTF-8";
@font-face {
  font-family: YuGothicM;
  src: local("Yu Gothic Medium");
}

/* ================================================== *
 *  base
 * ================================================== */
* {
  margin: 0;
  padding: 0;
}
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align:baseline;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
article, header, footer, aside, figure, figcaption, nav, section { 
  display:block;
}
body {
	color: #222222;
	font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
	font-size: 16px;
	line-height: 1.8;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	background-color: #fff;
	margin: 0;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	position: relative;
	z-index: 0;
}
ol, ul {
  list-style: none;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-size: 100%;
}
a {
	color: #14c8c8;
	text-decoration: none;
}
a:hover, a:active, a:focus {
	color: #14c8c8;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	transition: all .6s;
	text-decoration: none;
}
a img {
  border: none;
}

/* ================================================== *
 *  common
 * ================================================== */
/* section */
.bg-gray {
	background: #e6f0f0;
}
.bg-green {
	background: #14c8c8;
}
.section {
	position: relative;
}  
.inner {
	max-width: 980px;
	width: 100%;
	margin: auto;
	position: relative;
}
.section > .inner {
	padding: 70px 0 80px;
}
.sec-ttl {
	color: #14c8c8;
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
}
.section > .inner > .sec-ttl {
	margin-bottom: 30px;
}
.section section + section  {
	margin-top: 70px;
}
.flex {
	display: flex;
	justify-content: space-between;
}
.fadeIn {
	opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
	transform: translate(0, 20px);
	-webkit-transform: translate(0, 20px);
	transition: .6s;
	-webkit-transition: .6s;
}
.inview {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}
@media only screen and (max-width: 768px) {
	.inner {
		max-width: auto;
		width:90%;
		margin: auto;
	}
	.section > .inner {
		padding: 3rem 0 4rem;
	}
	.section:last-of-type > .inner {
		padding: 3rem 0 6rem;
	}
	.sec-ttl {
		font-size: 1.4em;
		letter-spacing: -0.04em;
		line-height: 1.2;
	}
	.section section + section  {
		margin-top: 70px;
	}
	.flex {
		display: block;
	}
}

/* position */
.position {	position:relative;}

/*font-size*/
.f-14 {font-size: 0.875em;}
.f-18 {font-size: 1.125em;}
.f-20 {font-size: 1.25em;}
.f-22 {font-size: 1.375em;}
.f-24 {font-size: 1.5em;}
.f-26 {font-size: 1.625em;}
.f-28 {font-size: 1.75em;}
.f-40 {font-size: 2.5em;}
.f-50 {font-size: 3.125em;}
.f-54 {font-size: 3.375em;}
.f-bold {font-weight: bold;}

/*text-align*/
.text-left {text-align: left;}
.text-center {text-align: center;}
.text-right {text-align: right;}

/*text-indent*/
.text-indent {
	padding-left: 1em;
	text-indent: -1em;
}
.c-white {color: #ffffff;}
.c-mint {color: #14c8c8;}

/*margin*/
.mt-10 { margin-top:10px;}
.mt-70 { margin-top:70px;}
.mb-10 { margin-bottom:10px;}
.mb-20 { margin-bottom:20px;}
.mb-30 { margin-bottom:30px;}
.mb-40 { margin-bottom:40px;}
.mb-50 { margin-bottom:50px;}
.mb-60 { margin-bottom:60px;}

/*padding*/
.pt-30 { padding-top:30px;}

.pc-only {
	display: block;
}
.sp-only {
	display: none;
}
@media screen and (max-width: 768px) {
	.pc-only {
		display: none;
	}
	.sp-only {
		display: block;
	}
}

/* ================================================== *
 *  loading
 * ================================================== */
.loading-wrap {
	background: #ffffff;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	text-align: center;
	display: table;
	z-index: 100;
}
#pageloading-icon {
	display: table-cell;
	vertical-align: middle;
}
.ball-pulse>div {
	background-color: #14c8c8;
}

/* ================================================== *
 *  header / main
 * ================================================== */
header {
	position: relative;
	min-height: 720px;
}
.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
}
@media print, screen and (max-width: 768px) {
	header {
		min-height: auto;
	}
}
.mv {
	width: 100%;
	min-height: 720px;
	position: relative;
}
.mv-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1280px;
	width: 100%;
	height: auto;
	margin: auto;
	padding: 180px 0;
	position: relative;
	z-index: 1;
}
.mv-inner .mv-inner-txt {
	width: 50%;
	padding-top: 40px;
	text-align: center;
}
.mv-inner .mv-inner-txt h1 {
	margin-bottom: 28px;
}
.mv-inner .mv-inner-txt h1 img {
	margin: 0 auto;
}
.mv-inner .mv-inner-txt .sec-ttl {
	margin-bottom: 8px;
}
.mv-inner .mv-inner-movie {
	width: 50%;
}
.mv-inner .mv-inner-movie .movie-in {
	position:relative;
	width:100%;
	padding-top:56.25%;
}
.mv-inner .mv-inner-movie .movie-in video {
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
}
.mv-ttl {
	color: #14c8c8;
	font-weight: bold;
}
@media only screen and (max-width: 768px) {
	.mv {
		width: 100%;
		min-height: auto;
		margin: auto;
	}
	.mv-inner {
		display: block;
		max-width: auto;
		width: 80%;
		height: auto;
		margin: auto;
		padding: 5rem 0 4rem;
	}
	.mv-inner .mv-inner-txt, .mv-inner .mv-inner-movie {
		width: 100%;
		padding-top: 0;
	}
	.mv-inner .mv-inner-txt h1 {
		margin-bottom: 28px;
	}
	.mv-inner .mv-inner-txt h1 img {
		width: 69.335%;
		margin: 0 auto;
	}
	.mv-inner .mv-inner-txt .sec-ttl {
		margin-bottom: 8px;
	} 
	.mv-inner .mv-inner-txt p {
		font-size: 1.1em;
		font-feature-settings : "palt";
		line-height: 1.5;
		margin-bottom: 2rem;
	}
}
@media only screen and (max-width: 479px) {
	.mv-inner .mv-inner-txt .sec-ttl {
		font-size: 1.2em;
	}
	
}
@media only screen and (max-width: 320px) {
	.mv-inner .mv-inner-txt p br.s-sp-only {
		display: none;
	}
	.mv-inner .mv-inner-txt p br.sp-only {
		display: none;
	}
}

/* ================================================== *
 *  contact
 * ================================================== */
.contact {
	background: #14c8c8;
	color: #fff;
	padding: 16px 0;
}
.contact-list {
	display: flex;
	justify-content: center;
	align-items: center;
}
.contact-list span, .contact-list a {
	display: block;
	color: #fff;
	line-height: 1.6;
}
.contact-list .left {
	margin-right: 80px;
}
.contact-list .left .left-number {
	display: inline-block;
	position: relative;
	font-size: 1.625em;
	font-weight: bold;
}
.contact-list .left .left-number::before {
	content: "";
	background: url(../images/icon-tel.png) left center no-repeat;
	width: 28px;
	height: 28px;
	position: absolute;
	left: -32px;
	top: 50%;
	margin-top: -14px;
}
.contact-list .left .sp-only {
	display: none;
}
.contact-list .left .pc-only {
	display: block;
	font-feature-settings: "palt";
	letter-spacing: -0.04em;
}
.contact-list .left .holiday {
	display: inline-block;
}
.contact-list .right a {
	width: 320px;
	height: 60px;
	line-height: 60px;
	background: #ff548c;
	border-radius: 6px;
	color: #fff;
	font-size: 1.125em;
	font-weight: bold;
	text-align: center;
}
.contact-list .right a:hover {
	position: relative;
	top: 4px;
	box-shadow: none;
	transition: all .6s;
	opacity: 1;
}

@media only screen and (max-width: 768px) {
	.contact {
		padding: 0.5rem 0 1rem;
	}
	.contact-list {
		display: block;
	}
	.contact-list .left {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 0 0.2rem 0;
	}
	.contact-list .left .sp-left {
		font-size: 0.7em;
		letter-spacing: -0.04em;
		text-align: left;
	}
	.contact-list .left .sp-left .sp-only {
		font-size: 0.9em;
	}
	.contact-list .left .sp-right {
		font-size: 0.6em;
		text-align: right;
	}
	.contact-list .left .left-number::before {
		background-size: 50%;
		left: -16px;
	}
	.contact-list .left .sp-only {
		display: block;
		font-feature-settings: "palt";
		letter-spacing: -0.06em;
	}
	.contact-list .left .pc-only {
		display: none;
	}
	.contact-list .right a {
		width: 100%;
		height: 2.5rem;
		line-height: 2.5rem;
	}
}
@media only screen and (max-width: 370px) {
	.contact-list .left .sp-left {
		font-size: 0.6em;
	}
	.contact-list .left .left-number::before {
		background-size: 40%;
		left: -13px;
	}
	.contact-list .left .sp-right {
		font-size: 0.5em;
	}
	
}

/* ================================================== *
 *  section
 * ================================================== */
.sec-list > li {
	width: 30.612%;
} 
.image-box {
	max-width: 300px;
	width: 100%;
	height:  200px;
	background: #fff;
	border-radius: 5px;
	margin-bottom: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.image-box.gray {
	background: #e6f0f0;
}
.sec01 .sec-list li {
	text-align: center;
}
.sec01 .sec-list li figure h3 {
	color: #14c8c8;
	font-weight: bold;
	margin-bottom: 5px;
}
.sec01 .sec-list li figure p {
	font-size: 1.25em;
	font-weight: bold;
	line-height: 1.3;
	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}
.sec01-arrow img {
	margin: 20px auto;
}
.sec01-inner-bottom {
	font-size: 2.5em;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
}
.section.sec02 > .inner > .sec-ttl {
    margin-bottom: 10px;
}
.sec02 .sec-list {
	margin-top: 30px;
}
.sec-list li .num {
	text-align: center;
	margin: 10px 0 0;
}
.sec02 .sec-list li figure h3, .sec05 .sec-list li h3, .sec06 .sec-list li h3, .sec07 .sec-list li h3 {
	font-size: 1.25em;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}
.sec03-list li:not(:nth-child(3)) {
	border-bottom: 1px solid #b8c0c0;
	padding: 40px 0 35px;
}
.sec03-list li:nth-child(1) {
	padding: 0 0 35px;
}
.sec03-list li:nth-child(3) {
	padding: 40px 0 0;
}
.sec03-list li dl {
	width: 64.795%;
}
.sec03-list li dt {
	font-size: 1.5em;
	font-weight: bold;
}
.sec03-list li .image-box {
	width: 30.612%;
}
.sec03-list li .sp-only {
	display: none;
}
.sec04-list > li:not(:last-child) {
	margin-bottom: 40px;
}
.sec04-list-left {
//	width: 65.306%;
	width: 63%;
	background: #e6f0f0;
	border-radius: 5px;
	padding: 25px 4.08%;
	text-align: center;
	position: relative;
}
.sec04-list-left::after {
	content: "";
	background: url(../images/sec04-img02.png) left center no-repeat;
	background-size: 50%;
	width: 131px;
	height: 200px;
	position: absolute;
	right: -120px;
	top: 50%;
	margin-top: -100px;
}
.sec04-list-left > dd:nth-of-type(1) {
	font-size: 1.25em;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 10px;
}
.sec04-list-left > dd:nth-of-type(2) {
	font-size: 0.875em;
}
.sec04-list-left > dd:nth-of-type(2) ul {
	display: inline-block;
	text-align: left;
}
.sec04-list-left > dd:nth-of-type(2) li::before {
	content: "-";
	margin-right: 0.5em;
}
.sec04-list-right {
//	width: 30.612%;
	width: 34%;
	background: #14c8c8;
	border-radius: 5px;
	color: #fff;
	padding: 25px 3%;
}
.sec04-list-right dt {
	font-size: 1.125em;
	font-weight: bold;
	text-align: center;
}
.sec04-list-right > dd:nth-of-type(1) {
	margin: 5px 0;
	text-align: center;
}
.sec04-list-right > dd:nth-of-type(2) {
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.3;
}
.sec04-list-right > dd:nth-of-type(2) .bb {
	font-weight: bold;
	text-decoration: underline;
}
.sec05 .sec-list {
	flex-wrap: wrap;
}
.sec05 .sec-list li {
	background: #fff;
	border-radius: 5px;
	padding: 20px 2.5% 25px;
}
.sec05 .sec-list li:nth-child(-n+3) {
	margin-bottom: 30px;
}
.sec05 .sec-list li h3 {
	letter-spacing: -0.04em;
	line-height: 1.2;
}
.sec05 .sec-list li:not(:nth-child(3)) h3 {
	margin: 10px 0 30px;
}
.sec05 .sec05-list-img {
	margin: 15px 0;
}
.sec05 .sec05-list-img img {
	margin: auto;
	width: 100%;
}
.sec05 p, .sec07 p {
	font-size: 0.875em;
}
.sec05 p a {
	font-weight: bold;
}
.section.sec06 > .inner > .sec-ttl {
	margin-bottom: 0;
}
.sec06 h3 {
	font-size: 1.5em;
	font-weight: bold;
}
.sec06 h3 .num {
	display: inline-block;
	color: #14c8c8;
	font-size: 1.8em;
	font-weight: bold;
	padding: 0 .1em;
}
.btn-contact {
	margin-top: 20px;
}
.btn-contact a {
	display: block;
	background: #14c8c8;
	border-radius: 5px;
	box-shadow: 0px 6px 0px 0px #029d9d;
	color: #fff;
	font-size: 1.125em;
	font-weight: bold;
	max-width: 320px;
	width: 100%;
	margin: auto;
	padding: 14px 10px;
}
.btn-contact a:hover {
	position: relative;
	top: 4px;
	box-shadow: none;
	transition: all .6s;
	opacity: 1;
}
.sec07 .sec-list > li {
	text-align: center;
}
.sec07 .sec-list > li {
	background: #fff;
	border-radius: 5px;
	padding: 10px 2.5% 25px;
	position: relative;
}
.sec07 .sec-list > li:not(:last-child)::after {
	content: "";
	background: url(../images/sec07-img01.png) left center no-repeat;
	background-size: 50%;
	width: 107px;
	height: 163px;
	position: absolute;
	right: -96px;
	top: 50%;
	margin-top: -81.5px;
	z-index: 1;
}
.sec07 .sec-list li h3 {
	line-height: 1.4;
}
.sec07 .sec-list .sec07-list-in {
	font-size: 0.85em;
	text-align: left;
}
.sec07 .sec-list .sec07-list-in li {
	text-indent: -1em;
}
.sec07 .sec-list .sec07-list-in li::before {
	content: "・";
}
.sec07 .sec-list .sec07-list-in li:not(:last-child) {
	margin-bottom: 10px;
}
.sec07 p {
	letter-spacing: -0.04em;
}
.sec07 .btn-contact a {
	font-size: 0.85em;
	max-width: 172px;
	margin: 10px auto 0;
}
.sec08-inner {
	max-width: 720px;
	width: 100%;
	margin: auto;
}
.sec08-inner dl {
	padding: 25px 0; 
}
.sec08-inner dl:first-of-type {
	padding: 0 0 25px;
}
.sec08-inner dl:not(:last-of-type) {
	border-bottom: 1px solid #ccc;
}
.sec08-inner dl dt {
	color: #14c8c8;
	font-size: 1.25em;
	font-weight: bold;
	margin-bottom: 10px;
	padding-left: 5.555%;
	position: relative;
}
.sec08-inner dl dt::before {
	content: "";
	background:  url(../images/sec08-img01.png) left top no-repeat;
	background-size: 50%;
	width: 59px;
	height: 46px;
	position: absolute;
	left: 0;
	top: 0.2em;
}
.sec08-inner dl dd {
	padding-left: 5.555%;
	position: relative;
}
.sec08-inner dl dd::before {
	content: "";
	background:  url(../images/sec08-img02.png) left top no-repeat;
	background-size: 50%;
	width: 57px;
	height: 42px;
	position: absolute;
	left: 0;
	top: 0.2em;
}

/* modal */
.modal-txt {
	display: none;
}
.modaal-content-container h3 {
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
	margin-bottom: 25px;
}
.modaal-content-container img {
	margin: auto;
}
.modaal-container {
	border-radius: 5px;
	max-width: 800px;
}
.modaal-content-container {
    padding: 5%;
}
.modaal-close {
	position: absolute;
	right: 5px;
	top: 5px;
	color: #14c8c8;
}
.modaal-close:focus, .modaal-close:hover {
	background: none;
}
.modaal-close::after, .modaal-close::before {
	color: #14c8c8;
}
.modaal-close::after, .modaal-close::before, 
.modaal-close:focus::after, .modaal-close:focus::before, 
.modaal-close:hover::after, .modaal-close:hover::before {
	background: #14c8c8;
}
.modaal-close:focus::after, .modaal-close:focus::before, 
.modaal-close:hover::after, .modaal-close:hover::before {
	opacity: 0.5;
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	transition: all .6s;
	text-decoration: none;
}

@media only screen and (max-width: 768px) {
	.sec-list > li {
		width: 100%;
	}
	.sec-list > li:not(:last-child) {
		margin: 0 auto 2rem;
	}
	.image-box {
		max-width: 100%;
	}
	.sec-list li:last-child {
		margin: 0 auto;
	}
	.sec01 .sec-list li figure h3 {
		font-size: 1.1em;
	}
	.sec01 .sec-list li figure p {
		font-size: 1.15em;
	}
	.sec01-arrow img {
		width: 50%;
		margin: 0.5rem auto 1rem;
	}
	.sec01-inner-bottom {
		font-size: 1.4em;
		letter-spacing: -0.02em;
	}
	.sec03-list li dl, .sec03-list li .image-box {
		width: 100%;
	}
	.sec03-list li dl {
		margin-bottom: 1rem;
	}
	.sec03-list li dt {
		font-size: 1.2em;
		line-height: 1.3;
		margin-bottom: 1rem;
		text-align: center;
	}
	.sec03-list li .pc-only {
		display: none;
	}
	.sec03-list li dt .sp-only {
		display: block;
	}
	.sec03-list .image-box.sp-only {
		display: flex;
	}
	.sec04-list-left, .sec04-list-right {
		width: 100%;
		padding: 25px 5.55%;
	}
	.sec04-list-left {
		margin-bottom: 1.5rem;
		
	}
	.sec04-list-left::after {
		left: 50%;
		right: 0;
		top: unset;
		bottom: -155px;
		margin-left: -64px;
		transform: rotate(90deg);
	}
	.sec04-list-left > dd:nth-of-type(1) {
		font-size: 1.1em;
	}
	.sec04-list-left > dd:nth-of-type(2) ul li {
		text-indent: -1em;
		padding-left: 1em;
	}
	.sec05 .sec-list li {
		padding: 25px 5.55% 25px;
	}
	.sec05 .sec-list li:not(:nth-child(3)) h3 {
		margin: 0;
	}
	.sec06 h3 {
		font-size: 1.2em;
		line-height: 1.3;
		margin: 1rem 0;
	}
	.sec06 h3 .num {
		font-size: 1.6em;
	}
	.sec06 p {
		text-align: left;
	}
	.btn-contact a {
		max-width: 100%;
	}
	.sec07 .sec-list > li {
		padding: 10px 5.55% 25px;
	}
	.sec07 .sec-list > li:not(:last-child)::after {
		left: 50%;
		right: 0;
		top: unset;
		bottom: -120px;
		margin-left: -53px;
		transform: rotate(90deg);
	}
	.sec02 .sec-list li figure h3, .sec05 .sec-list li h3, .sec06 .sec-list li h3, .sec07 .sec-list li h3 {
		line-height: 1.3;
	}
	.sec08-inner dl dt {
		font-size: 1.1em;
		line-height: 1.2;
		padding-left: 2em;
	}
	.sec08-inner dl dt::before, .sec08-inner dl dd::before {
		top: 0;
	}
	.sec08-inner dl dd {
		font-size: 0.9em;
		line-height: 1.6;
		padding-left: 2.5em;
	}
	.modaal-inner-wrapper {
		padding: 80px 5%;
	}
	.modaal-content-container {
		padding: 10% 6% 6%;
	}
	.modaal-close {
		right: -5px;
		top: -5px;
	}
}
/* ================================================== *
 *  footer
 * ================================================== */
footer {
	background: #18c9c9;
	color: #fff;
	padding: 10px 0;
}
footer .inner {
	align-items: center;
}
.ftr-left {
	width: 60%;
}
.ftr-left a, .ftr-right {
	color: #fff;
	font-size: 0.75em;
}
.ftr-left a {
	font-weight: bold;
}
@media only screen and (max-width: 768px) {
	.ftr-left.flex {
		display:  block;
		text-align: center;
		width: 100%;
		margin-bottom: 1.4rem;
	}
	.ftr-left.flex li {
		line-height: 1.4;
	}
	.ftr-right {
		text-align: center;
		line-height: 1.2;
	}
}
.small-img {
  width: 50% !important; /* 元のスタイルを上書きするために !important を使用 */
}

@media only screen and (max-width: 768px) {
  .small-img {
    width: 75% !important; /* タブレットサイズで画像を75%に */
  }
}

@media only screen and (max-width: 480px) {
  .small-img {
    width: 90% !important; /* スマートフォンサイズで画像を90%に */
  }
}


/* ===== header base ===== */
.site-header { background:#fff; border-bottom:1px solid rgba(0,0,0,.06); }
.header-inner { max-width: 1200px; margin: 0 auto; padding: 12px 16px; display:flex; align-items:center; justify-content:flex-start; }
.logo img { display:block; height:auto; }

/* ===== page title ===== */

h1.page-title {
  font-size: clamp(24px, 1.8vw + 0.8rem, 36px);
  line-height: 1.22;
  font-weight: 750;
  letter-spacing: 0.005em;
  color: #000;
  margin: 0 0 8px;
}

/* text color unify */
body, .ui-card, .ui-card p, .ui-card li, .ui-card ul, .ui-card h2, .ui-card h3, .ui-card h4,
.two-col-wrap, .left-content, .right-form { color:#000; }
.left-content a, .two-col-wrap a { color:#000; }

/* image spacing */
.left-content .ui-card > img:first-of-type { margin:8px 0; border-radius:10px; display:block; width:100%; height:auto; }
.left-content .ui-card > img:last-of-type { margin-top:8px; border-radius:10px; display:block; width:100%; height:auto; }

h1.page-title .nowrap { white-space: nowrap; }
