@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Outfit:wght@700&display=swap');


abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;vertical-align:baseline;background:transparent}@media screen and (min-width:768px){html{font-size:75%}}@media screen and (max-width:767px){html{font-size:62.5%}}body{color:#000;line-height:1.8;font-size:1.7rem;font-smoothing:antialiased;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;padding:0;vertical-align:baseline;text-decoration:none;color:inherit;outline:0}ins{text-decoration:none}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}img{vertical-align:middle;width:100%;max-width:100%;height:auto;font-style:italic;shape-margin:0.75rem;background-repeat: no-repeat;background-size: cover;}button,img{line-height:1}button{background-color:transparent;border:0;cursor:pointer;padding:0;appearance:none}:focus,button{outline:0}*{box-sizing:border-box}
*{
	min-height:0;
	min-width : 0;
}

body {
  line-height: 1.8;
  color: #18344D;
  font-size: 1.4rem;
  font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	padding-top: 75px;
	letter-spacing: 0.05rem;
}

/* 700
font-family: "Outfit", sans-serif;
*/

html {
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}

a{
	display: inline-block;
  transition: ease .3s;
	color: #0070C0;
	text-decoration: underline;
}

a:hover{
	text-decoration: none;
}


.wrapper{
  width: min(100%, 1280px);
  margin: 0 auto;

}
	
.outer{
  width: min(100%, 1280px);
  margin: 0 auto;
}

.inner{
  width: min(100%, 960px);
  margin: 0 auto;
}

.display_pc{ display: none!important;}
.link{ color: #0070C0;}
.note{ font-size: 85%;}
.note p a{
	text-decoration:underline;
}
.note.gray{ color: #6E777F;}

.note_w{
	display: flex;
	gap: 5px;
}

.note_w p{
	flex: 1 1 0%;
}

.note_w p:first-child{
	flex: 0 1 auto;
}

.note a[target*="_blank"]:after	{
	font-family: dashicons;
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px;
	width: 13px;
	height: 12px;
	background: url(../images/icon_window.svg) no-repeat center center / contain;
}

 img{
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}

ul.wp-block-list, ul.disc{
	list-style: disc;
}

ol.wp-block-list, ol.decimal{
	list-style: decimal;
	margin-left: 1em;
}

ul.wp-block-list li, ul.disc li,
ol.wp-block-list li, ol.decimal li{
	margin-left: 1.5em;
}

ul.square{
	list-style: none;
}

ul.square li{
	text-indent: -1em;
	margin-left: 1em;
}

ul.square li::before{
	content: "■";
}

@media screen and (min-width: 768px) {
	body {
		padding-top: 94px;
	  font-size: 1.6rem;
	}
	a[href^="tel:"] {
		pointer-events: none;
		cursor: default;
	}
  .display_pc{ display: block!important;}
  .display_sp{ display: none!important;}
	.note{
		font-size: 76%;
	}
	.header_contact{
		position:relative;
	}
	.header_contact a{
		width: 100%;
        height: 66px;
        line-height: 66px;
        padding-right: 45px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        font-size: 1.8rem;
        text-decoration: none !important;
        color: #fff;
        background: transparent;
        border-radius: 9999px;
        overflow: hidden;
        cursor: pointer;
        position: relative;
        z-index: 0;
        background: #F45D70;
        background: linear-gradient(90deg, #F45D70 0%, #FFA053 100%);
	}
	.header_contact a::before, .header_contact a::after{
		content: '';
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%;
	}
	.header_contact a::before{
		transition: all 0.6s;
        z-index: -1;
        background: linear-gradient(90deg, #F45D70 0%, #FFA053 100%);
	}
	.header_contact a::after{
		z-index: -2;
        background: linear-gradient(90deg, #FFA053 0%, #F45D70 100%);
	}
	.header_contact a:hover::before{
		opacity: 0;
	}
}


.header_wrap{
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background: #fff;
	z-index: 1000;
}

.header_in{
	display: grid;
	grid-template-columns: 1fr 75px 75px;
	gap: 10px;
	padding: 10px;
}

.header_wrap .logo{
	width: 137px;
  display: flex;
  align-items: center;
}

.header_wrap a,
.nav a{
	text-decoration: none!important;
}

.header_wrap .logo a{
	text-align: center;
	font-size: .8rem;
	color: #000;
}

.header_tel a, .header_contact a{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  padding: 5px 3px;
  height: 100%;
	color: #fff;
	font-weight: bold;
	font-size: 1rem;
	line-height: 1.3;
	border-radius: 6px;
}

.header_tel a{
	background: #F45D70;
	background: linear-gradient(90deg, #F45D70 0%, #FFA053 100%);
}

.header_tel a::before{
	content: "";
	display: block;
	width: 19px;
	height: 19px;
	background: #fff;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../images/icon_tel.svg);
	mask-size: contain;
}

.header_tel a span.num{
	display: none;
}
	
.header_contact a{
background: #F45D70;
background: linear-gradient(90deg, #F45D70 0%, #FFA053 100%);
}

@media screen and (min-width: 768px) {
	.header_in{
	  width: min(100%, 1280px);
	  margin: 0 auto;
		grid-template-columns: 1fr 314px 171px;
		gap: 40px;
	}
	.header_wrap .logo{
		width: 221px;
	}
	.header_wrap .logo a{
		font-size: 1.1rem;
	}
	.header_tel a{
		display: none;
	}
	.header_contact a{
		font-size: 1.8rem;
		border-radius: 9999px;
	}
}

.nav{
	padding: 15px;
	background: #18344D;
}

.nav ul{
	display: flex;
	justify-content: center;
	flex-wrap:wrap;
	gap: 15px;
	line-height: 1;
}

.nav ul li a{
	display: block;
	padding-left: 15px;
	color: #fff;
	background: url(../images/icon_arrow.svg) no-repeat left center;
	position: relative;
}

@media screen and (min-width: 768px) {
	.nav{
		padding: 30px;
	}
	.nav ul{
		gap: 20px;
	}
	.nav ul li a{
		padding-left: 18px;
		background-size: 10px auto;
	}
}

.cta_wrap{
	width: min(100%, 960px);
	margin: 0 auto;
	padding: 15px;
	text-align: center;
	color: #18344D!important;
	background: #EDF5FC;
	border-radius: 20px;
	position: relative;
	z-index: 10;
}

.cta_tt{
	margin: 0!important;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cta_wrap .btn_box{
	list-style: none!important;
	margin: 10px 0!important;
	display: grid;
	grid-template-columns: 1fr;
	gap: 15px;
}

.cta_wrap .btn_box li{
	margin: 0!important;
	padding: 5px 20px!important;
	background: #fff;
	border-radius: 15px;
}

.cta_wrap .btn_box li p{
	margin: 0!important;
}

.cta_wrap .btn_box li .tt{
	font-size: 1.6rem;
	font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.cta_wrap .btn_box li .tt::before{
	content: "";
	display: block;
	content: "";
	display: block;
	width: 20px;
	aspect-ratio: 1 / 1;
	background: #F45D70;
	background: linear-gradient(90deg, #F45D70 0%, #FFA053 100%);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../images/icon_tel.svg);
	mask-size: contain;
}

.cta_wrap .btn_box li.mail .tt::before{
	mask-image: url(../images/icon_mail.svg);
}

.cta_wrap .btn_box li a{
	width: min(100%, 280px);
	margin: 5px auto;
	height: 50px;
	line-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.6rem;
  text-decoration: none!important;
  color: #fff;
	background: transparent;
	border-radius: 10px;
	overflow: hidden;
  cursor: pointer;
	position: relative;
	z-index: 0;
	background: #F45D70;
	background: linear-gradient(90deg, #F45D70 0%, #FFA053 100%);
}

.cta_wrap .btn_box li.tel a{
  font-family: "Outfit", sans-serif;
  font-weight: bold;
  font-size: 2.4rem;
}

.cta_wrap .btn_box li.tel a + span{
	font-size: 1.2rem;
	display: block;
}

.index_mv{
	position: relative;
	overflow: hidden;
}

.mv_kyoninka{
  display: flex;
  align-items: center;
  width: 100%;
	height: 122px;
	padding: 0 15px;
	background: url(../images/mv_round.svg) no-repeat center bottom / auto 100%;
}

.mv_kyoninka p{
	margin-bottom: 10px;
	text-align: center;
	line-height: 1.5;
	font-size: 1.6rem;
	font-weight: bold;
}

.mv_kyoninka img{
	width: min(100%, 574px);
}

@media screen and (min-width: 768px) {
	.index_mv{
		padding-bottom: 80px;
	}
	.mv_kyoninka{
		height: 158px;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	.mv_kyoninka .wrap{
		width: min(100%, 695px);
		margin: 0 auto;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  gap: 20px;
	}
	.mv_kyoninka p{
		margin-bottom: 0;
		flex: 0 1 120px;
		font-size: 1.8rem;
	}
}

.intro_wrap{
	text-align: center;
	padding: 40px 15px;
	background: #fff;
	position: relative;
}

.home .intro_wrap::before{
	content: "";
	display: block;
	width: 100%;
	aspect-ratio: 375 / 188;
	background: #0070C0;
	position: absolute;
	bottom: 0;
	left: 0;
}

h1.h1_txt{
	font-size: 1.6rem;
	color: #0070C0;
	margin-bottom: 20px;
}

.intro_wrap .cta_wrap{
	margin: 20px auto 0 auto;
}

@media screen and (min-width: 768px) {
	.intro_wrap{
		padding: 60px 20px;
	}
	.intro_wrap::before{
		height: 210px;
		aspect-ratio: auto;
	}
	h1.h1_txt{
		font-size: 1.8rem;
		margin-bottom: 30px;
	}
	.intro_wrap .cta_wrap{
		margin: 30px auto 0 auto;
	}
}

.btn_txt{
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

.cta_wrap .btn_txt{
	grid-template-columns: 1fr 1fr;
}

.btn_txt li{
	margin: 0!important;
	list-style: none!important;
}

.btn_txt li a{
	height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
	padding: 5px 25px 5px 5px;
	line-height: 1.3;
	font-weight: bold;
	font-size: 1.4rem;
	text-decoration: none!important;
	color: #18344D!important;
	background: #fff;
	border: 2px solid #18344D!important;
	border-radius: 9999px;
	position: relative;
	transition: ease .2s;
}

.btn_txt.dark li a{
	color: #fff!important;
	background: #18344D;
}

.btn_txt li a::after{
	content: "";
	content: "";
	display: block;
	width: 16px;
	aspect-ratio: 1 / 1;
	background: url(../images/icon_arrow_circle.svg) no-repeat center center / contain;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}

.btn_txt.dark li a::after{
	background-image: url(../images/icon_arrow_circle2.svg);
}

.btn_txt li a:hover{
	color: #fff!important;
	background: #18344D;
}

.btn_txt.dark li a:hover{
	color: #18344D!important;
	background: #fff;
}

.btn_txt li a:hover::after{
	background: url(../images/icon_arrow_circle2.svg);
}

.btn_txt.dark li a:hover::after{
	background: url(../images/icon_arrow_circle.svg);
}

.bg{
	background: #F9FAFB;
}

.sec{
	padding: 50px 15px;
}

.ttl{
	text-align: center;
	margin-bottom: 30px;
	line-height: 1.5;
}

.ttl::after{
	content: "";
	display: block;
	margin: 15px auto 0 auto;
	width: 40px;
	height: 4px;
	background: #0070C0;
	background: linear-gradient(90deg, #0070C0 0%, #59A6DE 100%);
}

.ttl2{
	margin: 30px 0 25px 0;
	padding: 0 0 9px 15px;
	color: #0070C0;
	font-size: 1.8rem;
	line-height: 1.5;
	border-left: 4px solid #0070C0;
	border-bottom: 1px solid #0070C0;
}

.catch_txt{
	margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
	.sec{
		padding: 80px 15px;
	}
	.ttl{
		font-size: 3.2rem;
		margin-bottom: 40px;
	}
	.ttl::after{
		margin: 20px auto 0 auto;
	}
	.ttl2{
		margin: 60px 0 30px 0;
		padding: 0 0 13px 25px;
		font-size: 2.4rem;
		border-left: 6px solid #0070C0;
	}
	.index__contents-list .ttl{
		font-size:2.4rem;
	}
	.catch_txt{
		text-align: center;
		margin-bottom: 40px;
	}
	.btn_txt.dark li a{
		font-size:1.8rem;
	}
}

.box_gra{
	color: #fff;
	background: #0070C0;
	background: linear-gradient(90deg, #0070C0 0%, #59A6DE 100%)!important;
}

.txt_gra{
	display: inline-block;
  font-size: 3rem;
  font-family: "Roboto", sans-serif;
  font-weight: bold;
  margin: 0;
  background: linear-gradient(90deg, #F45D70 0%, #FFA053 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (min-width: 768px) {
	.cta_wrap{
		padding: 25px 60px;
		border-radius: 30px;
	}
	.cta_tt{
		font-size: 2rem;
	}
	.cta_wrap .btn_box{
		margin: 25px 0;
		grid-template-columns: 1fr 1fr;
		gap: 40px;
	}
	.cta_wrap .btn_box li{
		padding: 30px;
		border-radius: 20px;
	}
	.cta_wrap .btn_box li .tt{
		font-size: 2rem;
	}
	.cta_wrap .btn_box li .tt::before{
		width: 22px;
	}
	.cta_wrap .btn_box li a{
		margin-top: 20px;
		font-size: 2rem;
		width: min(100%, 320px);
		height: 60px;
	}
	.cta_wrap .btn_box li.tel a{
		font-size: 4.3rem;
		height: auto;
		pointer-events: none;
		cursor: default;
		background: none;
		display: inline-block;
	  margin: 10px 0 0 0;
	  background: linear-gradient(90deg, #F45D70 0%, #FFA053 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
	}
	.cta_wrap .btn_box li.tel a + span {
	    font-size: 1.4rem;
	}
	.cta_wrap .btn_box li.mail a{
		background: transparent;
		overflow: hidden;
	}
	.cta_wrap .btn_box li.mail a::before,
	.cta_wrap .btn_box li.mail a::after{
	  content: '';
	  position: absolute;
	  top: 0;
	  left: 0;
	  display: block;
	  width: 100%;
	  height: 100%;
	}
	.cta_wrap .btn_box li.mail a::before {
	  transition: all 0.6s;
	  z-index: -1;
	  background: linear-gradient(90deg, #F45D70 0%, #FFA053 100%);
	}
	.cta_wrap .btn_box li.mail a::after {
	  z-index: -2;
	  background: linear-gradient(90deg, #FFA053 0%, #F45D70 100%);
	}
	.cta_wrap .btn_box li.mail a:hover::before {
	  opacity: 0;
	}
	.btn_txt{
	  display: flex;
	  align-items: center;
	  justify-content: center;
		gap: 30px;
	}
	.btn_txt li{
		flex: 0 1 300px;
	}
	.btn_txt li.tel a::after{
		display: none;
	}
	.btn_txt li a{
		height: 55px;
	  gap: 10px;
		padding: 5px;
		font-size: 1.6rem;
	}
}

@media (max-width: 1000px) and (min-width: 768px) {
	.cta_wrap{
		padding: 50px 4vw;
	}
	.cta_wrap .btn_box li.tel a{
		font-size: 3.4rem;
	}
}

.sec a{
	text-decoration: none;
}

.btn_gra{
	width: min(100%, 450px);
	margin: 30px auto 0 auto;
}

.btn_gra a{
  display: flex;
  align-items: center;
  justify-content: center;
	height: 50px;
  gap: 15px;
	padding: 0 20px 0 10px;
	line-height: 1.3;
	font-weight: bold;
	font-size: 1.5rem;
	color: #fff!important;
	background: #0070C0;
	background: linear-gradient(90deg, #0070C0 0%, #59A6DE 100%);
	border-radius: 9999px;
	text-decoration: none!important;
	position: relative;
	transition: ease .2s;
	z-index: 0;
}
.btn_gra.orange a{
	background: #F45D70;
	background: linear-gradient(90deg, #F45D70 0%, #FFA053 100%);
}

.btn_gra a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2px;
  background: linear-gradient(to right, #0070C0, #59A6DE);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  border-radius: 9999px;
  z-index: -1;
}
.btn_gra.orange a::before {
	background: linear-gradient(to right, #F45D70, #FFA053);
}

.btn_gra a:hover{
	color: #0070C0!important;
	background: #fff;
}
.btn_gra.orange a:hover{
	color: #F45D70!important;
}

.btn_gra a::after{
	content: "";
	display: block;
	width: 16px;
	aspect-ratio: 1 / 1;
	background: url(../images/icon_arrow2_circle2.svg) no-repeat center center / contain;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}

.btn_gra a:hover::after{
	background-image: url(../images/icon_arrow2_circle.svg)
}

.btn_gra2{
	width: min(100%, 420px);
	margin: 40px auto 0 auto;
	position: relative;
}

.btn_gra2::before{
	content: "";
	display: block;
	width: 34px;
	height: 34px;
	background: url(../images/icon_arrow_or.svg) no-repeat center center / contain;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	z-index: 3;
	pointer-events: none;
}

.btn_gra2 a{
	width: 100%;
	height: 66px;
	line-height: 66px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.8rem;
  text-decoration: none!important;
  color: #fff;
	background: transparent;
	border-radius: 9999px;
	overflow: hidden;
  cursor: pointer;
	position: relative;
	z-index: 0;
	background: #F45D70;
	background:  linear-gradient(90deg, #F45D70 0%, #FFA053 100%);
}

.btn_gra2 a::before,
.btn_gra2 a::after{
	  content: '';
	  position: absolute;
	  top: 0;
	  left: 0;
	  display: block;
	  width: 100%;
	  height: 100%;
}

.btn_gra2 a::before {
	transition: all 0.6s;
	z-index: -1;
	background: linear-gradient(90deg, #F45D70 0%, #FFA053 100%);
}

.btn_gra2 a::after {
	z-index: -2;
	background: linear-gradient(90deg, #FFA053 0%, #F45D70 100%);
}

.btn_gra2 a:hover::before {
	opacity: 0;
}

@media screen and (min-width: 768px) {
	.btn_gra{
		width: min(100%, 450px);
		margin-left: auto;
		margin-right: auto;
	}
	.btn_gra a{
	  gap: 15px;
		height: 60px;
		padding: 0 55px 0 30px;
		font-size: 1.6rem;
		border-radius: 9999px!important;
	}
	.btn_gra2{
		margin: 60px auto 0 auto;
	}
	.btn_gra2 a{
		height: 70px;
		line-height: 70px;
	  font-size: 2.2rem;
	}
}

.btn_list{
  display: flex;
	justify-content: space-between;
	gap: 15px 0;
	flex-wrap: wrap;
}

.btn_list li{
	flex: 0 1 48%;
}

.btn_list li.l{
	flex: 0 1 100%!important;
}

.btn_list li a{
  display: flex;
  align-items: center;
  justify-content: center;
	height: 45px;
  gap: 15px;
	padding: 0 35px 0 20px;
	line-height: 1.3;
	font-weight: bold;
	font-size: 1.5rem;
	color: #18344D!important;
	background: #fff;
	border: 2px solid #18344D;
	border-radius: 10px;
	text-decoration: none!important;
	position: relative;
	transition: ease .2s;
	text-align:center;
}

.btn_list li a::after{
	content: "";
	display: block;
	width: 16px;
	aspect-ratio: 1 / 1;
	background: url(../images/icon_arrow_circle.svg) no-repeat center center / contain;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}

.btn_list li a:hover{
	color: #fff!important;
	background: #18344D;
}

.btn_list li a:hover::after{
	background: url(../images/icon_arrow_circle2.svg);
}

.btn_list li.dark a{
	color: #fff!important;
	background: #18344D;
}

.btn_list li.dark a:hover{
	color: #18344D!important;
	background: #fff;
}

.btn_list li.dark a::after{
	background-image: url(../images/icon_arrow_circle2.svg);
}

.btn_list li.dark a:hover::after{
	background-image: url(../images/icon_arrow_circle.svg);
}

@media screen and (min-width: 768px) {
	.btn_list{
	  align-items: center;
	  justify-content: center;
		gap: 20px;
	}
	.btn_list li{
		flex: 0 1 auto!important;
	}
	.btn_list li.l{
		flex: 0 1 auto!important;
	}
	.btn_list li.l.dark {
		margin-top: 20px;
		flex: 0 1 450px !important;
	}
	.btn_list li a{
	  gap: 15px;
		height: 60px;
		padding: 0 55px 0 30px;
		font-size: 1.8rem;
		border-radius: 9999px;
	}
}

.tb, .tb_plain{
	width: 100%;
	border-collapse: collapse;
}

.tb caption{
  caption-side: top;
  font-weight: bold;
  font-size: 1.5rem;
	line-height: 1.5;
	color: #0070C0;
	text-align: left;
  margin-bottom: 8px;
}

.tb th, .tb td{
	font-size: 1.5rem;
	line-height: 1.5;
	padding: 10px;
	vertical-align: middle;
	text-align: left;
	font-weight: normal;
	border: 1px solid #DFECF6;
}

.tb thead th, .tb thead td{
	font-weight: bold;
	text-align: center;
	color: #fff;
	background: #0070C0;
}

.tb tbody th{
	text-align: center;
	background: #EDF5FC;
}

@media screen and (min-width: 768px) {
	th, td{
		font-size: 1.8rem;
		line-height: 1.5;
		padding: 10px;
	}
	tbody th{
		font-size: 1.8rem;
	}
}

.tb_plain th{
	white-space: nowrap;
	pading: 20px 0;
	text-align: left;
	font-size: 1.5rem;
	font-weight: bold;
	vertical-align: middle;
	color: #259F95;
	border-bottom: 1px solid #EFEDED;
}

.tb_plain td{
	font-size: 1.4rem;
	vertical-align: middle;
	line-height: 1.5;
	padding: 20px 0 20px 10px;
	border-bottom: 1px solid #EFEDED;
}

.tb_plain td .note{
	color: #6E777F;
}

@media screen and (min-width: 768px) {
	.tb_plain th{
		pading: 30px 0;
		font-size: 1.8rem;
	}
	.tb_plain td{
		font-size: 1.6rem;
		padding: 30px 0 30px 60px;
	}
}

.footer_wrap{
	padding: 50px 15px 20px 15px;
	color: #fff;
	font-size: 1.3rem;
	background: #18344D;
}

.footer_wrap .inner .txt .logo{
	width: 170px;
	margin-bottom: 15px;
}

.footer_wrap .inner .txt .logo a{
	display: block;
	padding: 10px;
	background: #fff;
}

.footer_wrap .inner .txt .logo + p{
	font-weight: bold;
	font-size: 1.5rem;
}

.footer_wrap nav{
	margin-top: 30px;
}

.footer_wrap nav li{
	margin-bottom: 6px;
}

.footer_wrap nav li.cp{
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #4D6172;
}

.footer_wrap nav li a{
  display: flex;
  align-items: center;
  gap: 7px;
  color: #fff;
  text-decoration: none;
}

.footer_wrap nav li a::before{
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

.footer_wrap small{
	display: block;
	margin-top: 40px;
	text-align: center;
	font-size: 1rem;
}

@media screen and (min-width: 768px) {
	.footer_wrap{
		padding: 70px 20px 30px 20px;
		font-size: 1.4rem;
	}
	.footer_wrap a:hover{
		text-decoration: underline;
	}
	.footer_wrap .inner{
	  display: flex;
		justify-content: space-between;
		gap: 20px;
	}
	.footer_wrap .inner .txt{
		flex: 0 1 auto;
		white-spacr: nowrap;
	}
	.footer_wrap .inner .txt .logo{
		width: 223px;
		margin-bottom: 20px;
	}
	.footer_wrap .inner nav{
		flex: 0 1 490px;
	}
	.footer_wrap .inner nav ul{
		display: flex;
		flex-wrap: wrap;
		gap: 10px 25px;
	}
	.footer_wrap nav li{
		margin-bottom: 0;
	}
	.footer_wrap .inner nav ul li.cp{
		flex: 0 1 100%;
	}
	.footer_wrap small{
		font-size: 1.1rem;
		margin-top: 60px;
	}
	.footer_wrap .inner .txt .logo + p{
		font-size:1.6rem;
	}
}

.breadcrumb{
  width: min(100%, 1280px);
  margin: 0 auto;
	padding: 0 15px 20px 15px;
}

.breadcrumb ul{
	display: flex;
	flex-wrap: wrap;
	font-size: 1.2rem;
	line-height: 1.5;
}

.breadcrumb ul li::after{
  content: "";
  display: inline-block;
  margin: 0 6px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #18344D;
  border-right: 1px solid #18344D;
  transform: rotate(45deg);
}

.breadcrumb ul li:last-child::after{
	display: none;
}

.breadcrumb ul li a{
	font-weight: bold;
}

@media screen and (min-width: 768px) {
	.breadcrumb{
		padding: 10px 30px 20px 30px;
	}
	.breadcrumb ul{
		font-size: 1.3rem;
	}
}

.category_list_wrap{
	text-align: center;
}

.category_list_wrap .ttl{
	font-size: 2rem;
}

.category_list_wrap .ttl::after{
	background: #fff;
}

.category_list_wrap .btn_list + p.btn{
	margin-top: 15px;
}

.category_list_wrap .btn_list + .ttl{
	margin-top: 30px;
}
	
.category_list_wrap .btn_list li a{
	padding: 0 30px 0 15px;
	color: #0070C0!important;
	border: 2px solid #fff;
}

.category_list_wrap .btn_list li a::after{
	background-image: url(../images/icon_arrow2_circle.svg);
}

.category_list_wrap .btn_list li a:hover{
	color: #fff!important;
	background: none;
}

.category_list_wrap .btn_list li a:hover::after{
	background: url(../images/icon_arrow2_circle2.svg);
}

.category_list_wrap .btn a{
  display: flex;
  align-items: center;
  justify-content: center;
	height: 60px;
  gap: 15px;
	padding: 0 25px 0 10px;
	line-height: 1.3;
	font-weight: bold;
	font-size: 1.6rem;
	color: #fff!important;
	background: none;
	border: 2px solid #fff;
	border-radius: 10px;
	text-decoration: none!important;
	position: relative;
	transition: ease .2s;
}

.category_list_wrap .btn a:hover{
	color: #0070C0!important;
	background: #fff;
}

.category_list_wrap .btn a::after{
	content: "";
	display: block;
	width: 16px;
	aspect-ratio: 1 / 1;
	background: url(../images/icon_arrow2_circle2.svg) no-repeat center center / contain;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}

.category_list_wrap .btn a:hover::after{
	background-image: url(../images/icon_arrow2_circle.svg)
}

@media screen and (min-width: 768px) {
	.category_list_wrap .btn_list + .ttl {
    margin-top: 40px;
	}
	.category_list_wrap .ttl{
		font-size: 2.4rem;
	}
	.category_list_wrap .btn_list + p.btn{
		margin-top: 30px;
	}
	.category_list_wrap .btn_list li a{
		padding: 0 50px 0 35px;
	}
	.category_list_wrap .btn{
		width: min(100%, 450px);
		margin-left: auto;
		margin-right: auto;
	}
	.category_list_wrap .btn a{
	  gap: 15px;
		height: 60px;
		padding: 0 55px 0 30px;
		font-size: 2.0rem;
		border-radius: 9999px!important;
	}
}

.faq_list dd + dt{
  margin-top: 15px;
}

.faq_list dt{
  position: relative;
  font-size: 1.6rem;
  padding: 15px 30px 15px 60px;
  border-radius: 10px;
  font-weight: bold;
  cursor: pointer;
  background: #fff;
}

.faq_list dt.active{
	border-radius: 10px 10px 0 0;
}

.faq_list dt::before, .faq_list dd::before{
  content: "Q";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  aspect-ratio: 1 / 1;
  border-radius: 100%;
  font-family: "Outfit", sans-serif;
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
	background: #0070C0;
	background: linear-gradient(90deg, #0070C0 0%, #59A6DE 100%);
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
}

.faq_list dd::before{
  content: "A";
	background: #F45D70;
	background: linear-gradient(90deg, #F45D70 0%, #FFA053 100%);
}

.faq_list dt::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid #0070d2;
  border-bottom: 2px solid #0070d2;
  transform: translateY(-60%) rotate(45deg);
  transition: transform .25s;
}

.faq_list dt.active::after {
  transform: translateY(-40%) rotate(-135deg);
}

.faq_list dd{
	display: none;
  overflow: hidden;
  transition: max-height .3s ease;
  position: relative;
  padding: 15px 30px 15px 60px;
  border-radius: 0 0 10px 10px;
  background: #fff;
  position: relative;
}

.faq_list dd::after{
	content: "";
	display: block;
	width: calc(100% - 60px);
	height: 1px;
	background: #e5eaf0;
	position: absolute;
	left: 30px;
	top: 0;
}

@media screen and (min-width: 768px) {
	.faq_list dd + dt{
	  margin-top: 20px;
	}
	.faq_list dt{
	  font-size: 1.8rem;
	  border-radius: 20px;
	  line-height:2;
		padding: 20px 70px 20px 110px;
	}
	.faq_list dt.active{
		border-radius: 20px 20px 0 0;
	}
	.faq_list dt::before, .faq_list dd::before{
	  width: 44px;
	  font-size: 2.2rem;
	  left: 40px;
	}
	.faq_list dt::after {
	  right: 40px;
	  border-right: 3px solid #0070d2;
	  border-bottom: 3px solid #0070d2;
	}
	.faq_list dd{
		line-height:2;
		padding: 20px 70px 20px 110px;
	}
}

.overview_tb{
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	margin: 30px 0;
}

.overview_tb th{
	white-space: nowrap;
	vertical-align: middle;
	text-align: left;
	font-weight: bold;
	color: #0070C0;
	padding: 15px 20px 15px 0;
	position: relative;
}

.page-recruit .overview_tb th{
	color: #259F95;
}

.overview_tb th::before{
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: #0070C0;
	background: linear-gradient(90deg, #0070C0 0%, #59A6DE 100%);
	position: absolute;
	bottom: 0;
	left: 0;
}

.page-recruit .overview_tb th::before{
	background: #259f95;
	background: linear-gradient(90deg, #259f95 0%, #5ec7dd 100%);
}

.overview_tb td{
	vertical-align: middle;
	padding: 15px 0;
	border-bottom: 1px solid #DFECF6;
}

.overview_wrap h3{
	font-size: 1.6rem;
	margin-bottom: 20px;
}

.overview_wrap .gmap{
	display: block;
	width: 100%;
	aspect-ratio: 345 / 250;
	margin-bottom: 30px;
}

.overview_wrap .btn_txt li a{
	font-size: 1.5rem;
	padding: 10px;
}

@media screen and (min-width: 768px) {
	.overview_tb{
		width: 100%;
		margin: 70px 0;
	}
	.overview_tb th{
		width: 150px;
		padding: 20px 20px 20px 0;
		font-size: 1.6rem;
	}
	.overview_tb td{
		padding: 20px 0;
		font-size: 1.6rem;
	}
	.overview_tb td li + li{
		margin-top: 10px;
	}
	.overview_wrap .gmap{
		height: 360px;
		aspect-ratio: auto;
		margin-bottom: 70px;
	}
	.overview_wrap .btn_txt li {
        flex: 0 1 400px;
    }
	.overview_wrap .btn_txt li a{
		font-size: 1.8rem;
    height: 60px;
	}
}

.swiper-scrollbar{
	background: #e5e5e5;
	height: 4px;
	position: absolute;
	bottom: 10px;
	left: 0;
	width: 100%;
}

.swiper-scrollbar .swiper-scrollbar-drag {
	background: #b2b2b2;
	border-radius: 4px;
}

@media screen and (min-width: 768px) {
	.swiper-scrollbar{
		display: none!important;
	}
}
