@charset "utf-8";
/* CSS Document */
/*====================================
Reset
====================================*/
html{
	width: 100%;
	font-size: 2.41546vw;
	font-weight: 500;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}
@media screen and (min-width: 1024px) {
	html{
		font-size: 62.5%;
	}
}
body{
	min-width: 320px;
	line-height: 1;
	color: #5F5E5E;
	background-color: #FFF;
	font-family: 'Noto Serif JP','YuMincho','Yu Mincho','游明朝体','ＭＳ Ｐ明朝','MS PMincho',serif;
	font-size: 1rem;
	position: relative;
	overflow-x: hidden;
	overflow-y: hidden;
	word-wrap: break-word;
	overflow-wrap : break-word;
}

@media screen and (min-width: 1200px) {
	a.hover:hover div,
	a.hover:hover img,
	a.hover:hover{
		opacity: 0.7;
	}
}
img{
	width: 100%;
	height: auto;
}
img,
input[type="image"]{
	transition: 0.5s;
}
a,a div{
	text-decoration: none;
	color:inherit;
	transition:0.5s all ease;
}
a, input{
	-webkit-tap-highlight-color:rgba(0,0,0,0); /* ハイライトカラー無効化 */
}
.svg{
	position: relative;
}
.svg svg{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.underline{
	text-decoration: underline;
}
@media screen and (min-width: 1200px) {
	.underline:hover{
		text-decoration: none;
	}
}

::-moz-selection {
	background: #47A3C3;
	color: #FFF;
}
::selection {
	background: #47A3C3;
	color: #FFF;
}

/*====================================
デバイス別
====================================*/
@media screen and (max-width: 539px) {
	.sp-none{
		display: none !important;
	}
}
@media screen and (min-width: 540px) and (max-width: 1023px) {
	.tb-none{
		display: none !important;
	}
}
@media screen and (min-width: 1024px) {
	.pc-none{
		display: none !important;
	}
}


/*====================================
Common
====================================*/
#wrap{
	width: 100%;
	position: relative;
	z-index: 1;
	/* overflow-y: hidden; */
}
.anchor{
	display: block;
	width: 0;
	height: 0;
	padding-top: 4rem;
	margin-top: -4rem;
}
.cmn-width01,
.cmn-width02,
.cmn-width03,
.cmn-width04{
	width: 37.4rem;
	margin: 0 auto;
	box-sizing: border-box;
}
.cmn-width_inner01,
.cmn-width_inner02,
.cmn-width_inner03 {
	box-sizing: border-box;
	padding: 0 2rem;
}

@media screen and (min-width: 540px) {
}
@media screen and (min-width: 1024px) {
	.cmn-width01{
		width: calc(100vw - 20rem);
		max-width: calc(100vw - 20rem);
	}
	.cmn-width02,
	.cmn-width04 {
		width: calc(100vw - 10rem);
		max-width: calc(100vw - 10rem);
	}
	.cmn-width03 {
		width: calc(100vw - 2.5rem);
		max-width: calc(100vw - 2.5rem);
	}
	.cmn-width_inner01,
	.cmn-width_inner02 {
		padding: 0 10rem;
	}
	.cmn-width_inner03 {
		padding: 0 5rem;
	}
}
@media screen and (min-width: 1200px) {
	.cmn-width01{
		width: 110rem;
	}
	.cmn-width02,
	.cmn-width03{
		width: 130rem;
	}
	.cmn-width04{
		width: 120rem;
	}
	.cmn-width_inner02 {
		padding: 0 20rem;
	}
}

/* ------------------
 共通アイコン
------------------ */
.icon-window svg{
	width: 6px;
	height: 6px;
}
.icon-window svg path,
.icon-window svg polygon{
	fill: #5B3D6D;
}

@media screen and (min-width: 1024px) {
	.icon-window svg{
		width: 8px;
		height: 8px;
	}
	.icon-window:hover svg path,
	.icon-window:hover svg polygon{
		fill: #FFF;
	}
}


/* ------------------
 共通ボタン
 ------------------ */
 .cmn-btn01{
	 width: 26rem;
	 height: 5rem;
	 display: flex;
	 justify-content: center;
	 align-items: center;
	 border: 1px solid #47A3C3;
	 box-sizing: border-box;
	 background-color: #FFF;
	 margin: 0 auto;
 }
 .cmn-btn01 span {
	 font-size: 1.5rem;
	 color: #47A3C3;
	 text-align: center;
 }

@media screen and (min-width: 540px) {
	.cmn-btn01{
		width: 12.5rem;
		height: 2rem;
	}
	.cmn-btn01 span {
		font-size: .7rem;
	}
}
@media screen and (min-width: 1024px) {
	.cmn-btn01{
		width: 25rem;
		height: 4rem;
		position: relative;
		margin: 0;
	}
	.cmn-btn01::before {
		content: "";
		width: 0;
		height: 100%;
		background-color: #47A3C3;
		transition: .5s ease-in-out;
		position: absolute;
		left: auto;
		right: 0;
		top: 0;
	}
	.cmn-btn01 span {
		font-size: 1.5rem;
	}
}
@media screen and (min-width: 1200px) {
	.cmn-btn01 {
		width: 30rem;
		height: 7rem;
	}
	.cmn-btn01:hover::before {
		width: 100%;
		left: 0;
		right: auto;
	}
	.cmn-btn01 span {
		font-size: 2rem;
		transition: .4s ease-in-out;
		position: relative;
		z-index: 10;
	}
	.cmn-btn01:hover span {
		color: #FFF;
	}
}

/* ------------------
 共通テキスト
------------------ */
.cmn-txt{
	font-size: 1.3rem;
	line-height: 2.3;
}
.cmn-txt p:not(:last-child){
	margin-bottom: 1.5em;
}
.cmn-txt.lh_mini {
	line-height: 2;
}

@media screen and (min-width: 540px) {
	.cmn-txt{
		font-size: .6rem;
		line-height: 2;
	}
	.cmn-txt.lh_mini {
		line-height: 1.8;
	}
}
@media screen and (min-width: 1024px) {
	.cmn-txt{
		font-size: 1.5rem;
	}
}

/* 文字色 */
.txt-black{
	color: #000 !important;
}
.txt-white{
	color: #FFF !important;
}
.txt-gold{
	color: #47A3C3 !important;
}
.txt-gray{
	color: #828282 !important;
}
.txt-red{
	color: #E21F33 !important;
}

/* フォント */
.txt-gothic{
	font-family: 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3', YuGothic,'Yu Gothic',sans-serif;
}

/* ------------------
 共通タイトル
------------------ */
/* cmn-sec_ttl01 */
.cmn-sec_ttl01{
	margin-bottom: 4rem;
	font-weight: 700;
	text-align: center;
}
.cmn-sec_ttl01 .en {
	font-size: 4rem;
	line-height: 1.3;
	color: #8DE1FF;
	background: linear-gradient(90deg,#8DE1FF 0%, #47A3C3 100%);
	-webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	letter-spacing: .1em;
	margin-bottom: .7rem;
}
.cmn-sec_ttl01 .ja {
	font-size: 1.1rem;
	color: #828282;
}
@media screen and (min-width: 540px) {
	.cmn-sec_ttl01{
		margin-bottom: 2rem;
	}
	.cmn-sec_ttl01 .en {
		font-size: 2rem;
		margin-bottom: .35rem;
	}
	.cmn-sec_ttl01 .ja {
		font-size: .6rem;
	}
}
@media screen and (min-width: 1024px) {
	.cmn-sec_ttl01{
		margin-bottom: 6rem;
	}
	.cmn-sec_ttl01 .en {
		font-size: 5rem;
		margin-bottom: 1rem;
	}
	.cmn-sec_ttl01 .ja {
		font-size: 1.4rem;
		letter-spacing: .1em;
	}
}
@media screen and (min-width: 1200px) {
	.cmn-sec_ttl01 .en {
		font-size: 7.6rem;
	}
	.cmn-sec_ttl01 .ja {
		font-size: 1.8rem;
	}
}

/* cmn-sec_ttl02 */
.cmn-sec_ttl02{
	margin-bottom: 4rem;
	font-weight: 700;
	text-align: center;
}
.cmn-sec_ttl02 .ja {
	font-size: 3.7rem;
	color: #5F5E5E;
	line-height: 1.4;
	margin-bottom: 0.7rem;
}
.cmn-sec_ttl02 .en {
	font-size: 1.1rem;
	color: #828282;
	letter-spacing: .2em;
}
@media screen and (min-width: 540px) {
	.cmn-sec_ttl02{
		margin-bottom: 2rem;
	}
	.cmn-sec_ttl02 .ja {
		font-size: 1.85rem;
		margin-bottom: .35rem;
	}
	.cmn-sec_ttl02 .en {
		font-size: .55rem;
	}
}
@media screen and (min-width: 1024px) {
	.cmn-sec_ttl02{
		margin-bottom: 7rem;
	}
	.cmn-sec_ttl02 .ja {
		font-size: 4.5rem;
		margin-bottom: 2rem;
	}
	.cmn-sec_ttl02 .en {
		font-size: 1.4rem;
	}
}
@media screen and (min-width: 1200px) {
	.cmn-sec_ttl02 .ja {
		font-size: 6.2rem;
	}
	.cmn-sec_ttl02 .en {
		font-size: 1.8rem;
	}
}

/* cmn-sec_ttl03 */
.cmn-sec_ttl03 {
	margin-bottom: 4rem;
	font-size: 3rem;
	font-weight: 700;
	text-align: center;
	color: #47A3C3;
	line-height: 1.4;
}
@media screen and (min-width: 540px) {
	.cmn-sec_ttl03 {
		margin-bottom: 2rem;
		font-size: 1.5rem;
	}
}
@media screen and (min-width: 1024px) {
	.cmn-sec_ttl03 {
		margin-bottom: 5rem;
		font-size: 3.4rem;
	}
}
@media screen and (min-width: 1200px) {
	.cmn-sec_ttl03 {
		font-size: 4.6rem;
	}
}


/* ------------------
 共通影
------------------ */
.cmn-shadow{
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

/* ------------------
 共通bg
------------------ */
.cmn-bg01{
	background: url(../img/common/wrap_bg.jpg) no-repeat center top / cover;
}

/* ------------------
 triming
------------------ */
.cmn-size_fit {
	width: 100%;
	height: 100%;
}
.cmn-size_fit img,
.cmn-size_fit video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* IE */
.is-ie .cmn-size_fit{
    position: relative;
    overflow: hidden;
}
.is-ie .cmn-size_fit img,
.is-ie .cmn-size_fit video {
    width: auto;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

@media screen and (min-width: 1200px) {
    .cmn-hover_zoom{
        position: relative;
        overflow: hidden;
    }
    .cmn-hover_zoom img{
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
    }
    a:hover .cmn-hover_zoom img,
    a.cmn-hover_zoom:hover img{
        transform: translate(-50%,-50%) scale(1.1);
    }
}

/*====================================
 下層ページ共通 
====================================*/
/* メインビジュアル
------------------------------------*/
.cmn-page_ttl{
	width: 100%;
	height: 40rem;
	position: relative;
	margin: 6rem 0;
}
.cmn-page_ttl .main_img{
	width: 100%;
	height: 100%;
	background: no-repeat center / cover;
	position: absolute;
	top: 0;
	right: 0;
}
.cmn-page_ttl .catch_box {
	max-width: 39.4rem;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: #FFF;
	padding: 2rem 3rem 1.4rem;
	/* padding-right: 0.5rem; */
}
.cmn-page_ttl .catch_box .catch01 {
	font-size: 3.0rem;
	font-weight: 700;
	color: #47A3C3;
	letter-spacing: .05em;
	margin-bottom: 1rem;
}
.cmn-page_ttl .catch_box .catch02 {
	font-size: 1.2rem;
	color: #828282;
	letter-spacing: .3em;
}

@keyframes scroll_anim {
	0% {
		transform: scale(0, 1);
		transform-origin: 0 0;
	}
	50% {
		transform: scale(1, 1);
		transform-origin: 0 0;
	}
	50.1% {
		transform: scale(1, 1);
		transform-origin: 100% 0;
	}
	100% {
		transform: scale(0, 1);
		transform-origin: 100% 0;
	}
}

@media screen and (min-width: 540px) {
	.cmn-page_ttl{
		height: 20rem;
		margin: 3rem 0;
	}
	.cmn-page_ttl .catch_box {
		width: auto;
		max-width: calc(100% - 5rem);
	}
	.cmn-page_ttl .catch_box .catch01 {
		font-size: 1.9rem;
	}
	.cmn-page_ttl .catch_box .catch02 {
		font-size: .6rem;
	}
}
@media screen and (min-width: 1024px) {
	.cmn-page_ttl{
		width: calc(100% - 10rem);
		height: 55rem;
		margin: 8.3rem 0 15rem auto;
	}
	.cmn-page_ttl .catch_box {
		padding: 2.5rem 5rem 2rem;
	}
	.cmn-page_ttl .catch_box .catch01 {
		font-size: 4rem;
		margin-bottom: 1.5rem;
	}
	.cmn-page_ttl .catch_box .catch02 {
		font-size: 1.4rem;
	}
	.cmn-page_ttl .deco_wrap {
		width: 100%;
		height: 100%;
		position: relative;
		z-index: 100;
	}
	.cmn-page_ttl .deco {
		width: 8rem;
		font-size: 1.6rem;
		font-weight: 700;
		position: absolute;
		letter-spacing: .1em;
		bottom: 0rem;
		left: -5rem;
		transform-origin: left;
		transform: rotate(90deg);
		z-index: 20;
	}
	.cmn-page_ttl .deco::before {
		content: "";
		width: 100%;
		height: 1px;
		background-color: #5F5E5E;
		position: absolute;
		top: 50%;
		right: -8rem;
		animation: scroll_anim 2s 1s cubic-bezier(1, 0, 0, 1) infinite;
	}
}
@media screen and (min-width: 1200px) {
	.cmn-page_ttl{
		margin: 10.6rem 0 20rem auto;
	}
	.cmn-page_ttl .catch_box .catch01 {
		font-size: 5rem;
	}
	.cmn-page_ttl .deco {
		bottom: 5rem;
	}
}

/*====================================
 エフェクト
====================================*/
/* スクロールアニメーション
------------------------------------*/
/* フェードイン */
.fadein_y{
	transform:translateY(-15px);
	opacity: 0;
	transition:0.8s all;
	transition-delay:.4s;
}
.is-fire .fadein_y,
.fadein_y.is-fire{
	transform:translateY(0px) !important;
	opacity: 1 !important;
}
.fadein{
	opacity: 0;
	transition:0.8s all;
	transition-delay:.4s;
}
.is-fire .fadein,
.fadein.is-fire{
	opacity: 1 !important;
}

/* フェードイン X */
.fadein_x_l{
	-webkit-transform:translateX(-15px);
	transform:translateX(-15px);
	opacity: 0;
	-webkit-transition:0.8s all;
	transition:0.8s all;
}
.fadein_x_r{
	-webkit-transform:translateX(15px);
	transform:translateX(15px);
	opacity: 0;
	-webkit-transition:0.8s all;
	transition:0.8s all;
}
.is-fire .fadein_x_l,
.fadein_x_l.is-fire,
.is-fire .fadein_x_r,
.fadein_x_r.is-fire{
	-webkit-transform:translateX(0px) !important;
	transform:translateX(0px) !important;
	opacity: 1;
	transition-delay:.4s;
}

/* 時差 */
.delay1{
	transition-delay:.6s !important;
}
.delay2{
	transition-delay:.8s !important;
}
.delay3{
	transition-delay:1s !important;
}
.delay4{
	transition-delay:1.2s !important;
}
.delay5{
	transition-delay:1.4s !important;
}
.delay6{
	transition-delay:1.6s !important;
}
.delay7{
	transition-delay:1.8s !important;
}
.delay8{
	transition-delay:2s !important;
}
.delay9{
	transition-delay:2.2s !important;
}
.delay10{
	transition-delay:2.4s !important;
}

/* imageアニメーション
------------------------------------*/
.cmn-img_anim{
	position: relative;
}
.cmn-img_anim_inner{
	position: relative;
}
.cmn-img_anim_inner::before,
.cmn-img_anim_inner::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 10;
}
.cmn-img_anim_inner:before {
	background: #47A3C3;
	transition: 1s 1.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.cmn-img_anim_inner:after {
	transition: 0.6s .8s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.cmn-img_anim_inner.c-gray:after {
	background: #F5F5F5;
}
.cmn-img_anim_inner.c-white:after {
	background: #FFF;
}
.cmn-img_anim.is-fire .cmn-img_anim_inner:after {
	width: 0;
}
.cmn-img_anim.is-fire .cmn-img_anim_inner:before {
	width: 0;
}

/*====================================
floating navi
====================================*/
@media screen and (min-width: 540px) {
	#float_navi{
		width: 2rem;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 999;
		display: block;
	}
	#float_navi a{
		width: 100%;
		box-sizing: border-box;
		background: #B7BCBE;
		display: inline-block;
		vertical-align: bottom;
		margin-bottom: 2px;
	}
	#float_navi a.navi_txt{
		-webkit-writing-mode: vertical-rl;
		-moz-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-ms-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
		text-align: center;
		padding: .8rem .7rem;
	}
	#float_navi a.navi_txt .txt {
		font-size: .7rem;
		font-weight: 700;
		letter-spacing: .25em;
		color: #FFF;
	}
	#float_navi a.navi_icon {
		height: 2rem;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#float_navi a.navi_icon svg {
		width: 1.25rem;
		height: 1.25rem;
		position: relative;
	}
	#float_navi a.navi_icon.yt svg {
		width: 1.75rem;
		height: 1rem;
	}
	#float_navi a.navi_icon svg .path01 {
		fill: #FFF;
	}
	#float_navi a.navi_icon svg .path02 {
		fill: #B7BCBE;
	}
}	
@media screen and (min-width: 1024px) {
	#float_navi {
		width: 5rem;
	}
	#float_navi a{
		transition: .3s;
	}
	#float_navi a:hover {
		background-color: #47A3C3;
	}
	#float_navi a.navi_txt{
		padding: 3rem 1.7rem;
	}
	#float_navi a.navi_txt .txt {
		font-size: 1.6rem;
	}
	#float_navi a.navi_icon {
		height: 5rem;
	}
	#float_navi a.navi_icon svg {
		width: 2.5rem;
		height: 2.5rem;
	}
	#float_navi a.navi_icon.yt svg {
		width: 2.9rem;
		height: 2rem;
	}
	#float_navi a.navi_icon svg .path02 {
		transition: .3s;
	}
	#float_navi a.navi_icon:hover svg .path02 {
		fill: #47A3C3;
	}
}

/*====================================
header
====================================*/
header{
	width: 100%;
	height: 6rem;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1010;
	box-sizing: border-box;
	transition: .3s;
	background-color: #FFF;
}

/* ヘッダー
---------------------------------------- */
header .head_inner{
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;
	transition: .3s;
	z-index: 600;
}
header .head_logo{
	width: 14.9rem;
	transition: .2s ease-in-out;
}

@keyframes hbgr_anim1{
	0%{
		top: -6rem;
	}
	50%{
		top: -6rem;
	}
	100%{
		top: 0;
	}
}
@keyframes hbgr_anim2{
	0%{
		top: -6rem;
	}
	50%{
		top: -6rem;
	}
	100%{
		top: 6rem;
	}
}

/*====================================
 gナビ・ハンバーガーボタン
====================================*/
@media screen and (max-width: 539px) {
	header.is-over {
		position: fixed;
		top: -6rem;
		z-index: 500;
	}
	header.is-open {
		position: fixed;
		background-color: transparent;
		transition-delay: 0s !important;
	}
	header::before {
		content: "";
		width: 100%;
		height: 7.2rem;
		position: absolute;
		top: -7.2rem;
		left: 0;
		transition: .3s ease-in-out;
		z-index: -1;
	}
	header.is-nav-open::before{
		top: 0;
	}
	header.is-nav-open.is-open::before {
		opacity: 0;
	}
	header.is-nav-open {
		top: 0;
		animation: hbgr_anim1 .8s ease-in-out forwards;
	}
	header .head_inner {
		padding: 0 2rem;
	}
	/* head_btn */
	header .head_btn {
		display: block;
		transition: .3s ease-in-out;
	}
	header.is-open .head_btn {
		opacity: 0;
		pointer-events: none;
	}
	header .head_btn.btn_access {
		margin-left: 4rem;
		margin-right: 1.5rem;
	}
	header .head_btn.btn_access .svg {
		width: 1.3rem;
		height: 2rem;
		margin: 0 auto 0.26rem;
	}
	header .head_btn.btn_time {
		margin-right: 2rem;
	}
	header .head_btn.btn_time .svg {
		width: 1.8rem;
		height: 1.8rem;
		margin: 0 auto 0.36rem;
	}
	header .head_btn span {
		font-size: 1rem;
		font-weight: 700;
		color: #47A3C3;
	}
	/* side_btn */
	header .side_btn{
		width: 2rem;
		height: 2.7rem;
		z-index: 9999;
		box-sizing: border-box;
	}
	header .side_btn .menu_inner{
		width:100%;
		height: 100%;
		position: relative;
	}
	header .side_btn span{
		width: 100%;
		height:1px;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		transition:all 0.4s ease-in-out;
		background-color: #47A3C3;
	}
	header .side_btn span:first-child{
		top: 1rem;
	}
	header .side_btn span:last-child{
		bottom: 1rem;
	}
	header.is-open .side_btn span:first-child{
		transform: translate(-50%) rotate(315deg);
	}
	header.is-open .side_btn span:last-child{
		bottom: 1.5rem;
		transform: translate(-50%) rotate(225deg);
	}
}

/*====================================
ハンバーガー / footer 共通メニュー
====================================*/
@media screen and (max-width: 539px) {
	#side{
		width: 100vw;
		height: 100vh;
		position: fixed;
		top: -100vh;
		left: 0;
		z-index: 300;
		transition: .3s ease-in-out;
	}
	#side.is-open {
		top: 0;
	}
	header.is-nav-open + #side .side_btn {
		position: fixed;
		animation: hbgr_anim2 .8s ease-in-out forwards;
	}
	#side:before{
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background-color: rgba(255, 255, 255, 0.5);
		backdrop-filter: blur(50px);
		 -webkit-backdrop-filter: blur(50px);
		z-index: -1;
	}
	#side .side_inner{
		width: 100%;
		height: calc(100% - 8.5rem);
		margin-top: 8.5rem;
	}
	#side .scroll_area{
		height: 100%;
		overflow-y: auto;
		box-sizing: border-box;
		padding-bottom: 8.5rem;
	}
	.side_link_wrap{
		margin-bottom: 6rem;
	}
	.side_link_wrap .link_item:not(:last-child) {
		margin-bottom: 3.5rem;
	}
	.side_link_wrap .link_item .menu_btn .label{
		font-size: 1.8rem;
		font-weight: 700;
		letter-spacing: .1em;
		position: relative;
	}
	.side_link_wrap .link_item .menu_btn .label::before {
		content: "";
		width: 1.6rem;
		height: .4rem;
		border-bottom: 1px solid #5F5E5E;
		border-right: 1px solid #5F5E5E;
		position: absolute;
		top: 40%;
		right: -2.5rem;
		transform: skewX(50deg);
	}
	.side_link_wrap .link_item .open_btn .label::before {
		transition: .3s ease-in-out;
		transform: skewY(-50deg) rotate(90deg);
	}
	.side_link_wrap .link_item .open_btn.is-on .label::before {
		transform: skewY(50deg) rotate(90deg) scale(-1,1);
		top: 55%;
	}
	.side_link_wrap .link_item .link_box {
		margin-top: 3rem;
		margin-bottom: 0.5rem;
	}
	.side_link_wrap .link_item .link_box li:not(:last-child){
		margin-bottom: 2.5rem;
	}
	.side_link_wrap .link_item .link_box li a{
		font-size: 1.6rem;
		letter-spacing: .1em;
		color: #828282;
	}
	.side_sns_box {
		/* display: flex; */
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.side_sns_box a{
		display: flex;
		align-items: center;
		justify-content: center;
		border: 1px solid #E9E6E6;
		box-sizing: border-box;
		background-color: #FFF;
	}
	.side_sns_box a:nth-child(-n+2) {
		/* width: 18rem; */
		height: 5rem;
		margin-bottom: 1.5rem;
	}
	.side_sns_box a:nth-child(3) {
		width: 100%;
		height: 5rem;
	}
	.side_sns_box a.sns_ig .svg {
		width: 2.5rem;
		height: 2.5rem;
	}
	.side_sns_box a.sns_ig .svg .path01{
		fill: #47A3C3;
	}
	.side_sns_box a.sns_yt .svg {
		width: 2.9rem;
		height: 2rem;
	}
	.side_sns_box a.sns_yt .svg .path01{
		fill: #47A3C3;
	}
	.side_sns_box a.sns_yt .svg .path02{
		fill: #FFF;
	}
	.side_sns_box a.sns_ln .svg {
		width: 2.5rem;
		height: 2.5rem;
	}
	.side_sns_box a.sns_ln .svg .path01{
		fill: #47A3C3;
	}
	.side_sns_box a.sns_ln .svg .path02{
		fill: #FFF;
	}
	.side_sns_box a span {
		font-size: 1.6rem;
		font-weight: 700;
		color: #47A3C3;
		padding-left: 1.4rem;
	}
}

/*====================================
footer float navi
====================================*/
@media screen and (max-width: 539px) {
	#btm_navi{
		width: 100%;
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 100;
		display: flex;
		border-top: 1px solid #F5F5F5;
		box-sizing: border-box;
	}
	#btm_navi .item {
		width: 100%;
		height: 7.8rem;
		display: block;
		position: relative;
		box-sizing: border-box;
		background-color: #FFF;
		padding: 2rem 0 .6rem;
	}
	#btm_navi .item:not(:last-child) {
		border-right: 1px solid #F5F5F5;
	}
	#btm_navi .item .comment {
		position: absolute;
		left: 50%;
		top: -1rem;
		transform: translateX(-50%);
		font-size: 1rem;
		font-weight: 700;
		color: #47A3C3;
		text-align: center;
		padding: .5rem 0;
		background-color: #F1EFEF;
	}
	#btm_navi .item:nth-child(-n+2) .comment {
		width: 7rem;
	}
	#btm_navi .item:nth-child(n+3) .comment {
		width: 8rem;
	}
	#btm_navi .item .comment::before {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 3px 2.5px 0 2.5px;
		border-color: #F1EFEF transparent transparent transparent;
		position: absolute;
		bottom: -3px;
		left: 50%;
		transform: translateX(-50%);
	}
	#btm_navi .item .icon {
		width: 3rem;
		margin: 0 auto;
	}
	#btm_navi .item .label {
		font-size: 1.3rem;
		font-weight: 700;
		text-align: center;
		margin-top: 0.5rem;
	}
	#btm_navi .item:nth-child(3) .label {
		letter-spacing: -.1em;
	}
}

/*====================================
 PC gnavi
====================================*/
@media screen and (min-width: 540px) {
	header{
		height: 4rem;
	}
	header .head_inner{
		box-sizing: border-box;
		position: relative;
	}
	header .head_logo{
		width: 9rem;
		margin-left: 1rem;
	}
	header .head_logo:hover {
		opacity: .7;
	}
	header .gnav{
		height: 100%;
		display: flex;
		align-items: center;
		position: absolute;
		top: 0;
		right: 0;
	}
	header .gnav li{
		margin-right: .5rem;
	}
	header .gnav li .gnav_item {
		display: block;
		font-size: .6rem;
		font-weight: 700;
		position: relative;
	}
	header .gnav li .hover_item::before{
		content: "";
		width: .25rem;
		height: .25rem;
		background-color: #AFAFAF;
		border-radius: 50px;
		position: absolute;
		bottom: -.5rem;
		left: 50%;
		transform: translateX(-50%);
	}
	header .gnav li.counseling_btn {
		margin-right: 0;
	}
	header .gnav li.counseling_btn .gnav_item {
		padding: 1.7rem .5rem;
        background: linear-gradient(140deg,#5fd5ff 0%, #47A3C3 100%);
		color: #FFF;
	}

	header .hover_menu{
		width: 100vw;
		position: fixed;
		left: 0;
		top: 4rem;
		background-color: rgba(244, 244, 244, 0.9);
		transition: .3s;
		z-index: 100;
		opacity: 0;
		pointer-events: none;
		box-sizing: border-box;
		padding: 2rem;
	}
	header .hover_menu.is-open{
		opacity: 1;
		pointer-events: all;
	}
	header .navi01 .hover_menu .menu_box {
		display: flex;
		justify-content: center;
	}
	header .hover_menu .menu_box:not(:first-child){
		margin-top: 1rem;
	}
	header .hover_menu .menu_box .label{
		font-size: .75rem;
		font-weight: 700;
		color: #47A3C3;
		letter-spacing: .1em;
		margin-bottom: .75rem;
	}
	header .hover_menu .menu_box a{
		font-size: .7rem;
		font-weight: 700;
		letter-spacing: .1em;
		display: inline-block;
		margin-bottom: .75rem;
	}
	header .hover_menu .menu_box a:not(:last-child){
		margin-right: 1rem;
	}
}
@media screen and (min-width: 1024px) {
	header {
		height: 8.3rem;
	}
	header .head_logo {
		width: 20rem;
		/* margin-left: calc((1100px - 100%) / -2); */
		margin-left: 10rem;
	}
	header.is-top .head_logo {
		margin-left: 10rem;
	}
	header .gnav li{
		margin-right: 1.25rem;
	}
	header .gnav li .gnav_item {
		font-size: 1.2rem;
		letter-spacing: .1em;
	}
	header .gnav li .hover_item::before{
		width: .5rem;
		height: .5rem;
		bottom: -1rem;
	}
	header .gnav li.counseling_btn .gnav_item {
		padding: 3.5rem 1rem;
		margin-left: 1rem;
	}

	header .hover_menu{
		top: 8.3rem;
		padding: 2rem 10rem 1rem;
	}
	header .hover_menu .menu_box:not(:first-child){
		margin-top: 2rem;
	}
	header .hover_menu .menu_box .label{
		font-size: 1.5rem;
		margin-bottom: 1.5rem;
	}
	header .hover_menu .menu_box a{
		font-size: 1.4rem;
		margin-bottom: 1.5rem;
	}
	header .hover_menu .menu_box a:not(:last-child){
		margin-right: 3rem;
	}
}
@media screen and (min-width: 1200px) {
	header {
		height: 10.6rem;
	}
	header .head_logo {
		width: 22rem;
	}
	header .gnav li {
		height: 100%;
		margin-right: 2.5rem;
	}
	header .gnav li .gnav_item{
		font-size: 1.5rem;
		transition: .3s;
		padding-top: 4.5rem;
	}
	header .gnav li:not(.counseling_btn) .gnav_item:hover {
		color: #47A3C3;
	}
	header .gnav li .hover_item{
		cursor: pointer;
	}
	header .gnav li .hover_item::before {
		bottom: -1.8rem;
	}
	header .gnav li.counseling_btn .gnav_item {
		padding: 4.55rem 1rem;
	}
	header .gnav li.counseling_btn .gnav_item:hover {
		opacity: .7;
	}
	
	header .hover_menu{
		top: 10.6rem;
	}
	header .hover_menu .menu_box a{
		transition: .3s ease-in-out;
	}
	header .hover_menu .menu_box a:hover {
		color: #47A3C3;
	}
}

	
/*====================================
footer
====================================*/
footer{
	position: relative;
	/* z-index: 1; */
	padding: 6rem 0 13rem;
	background-color: #47A3C3;
}
/* foot_menu */
footer .foot_menu{
	color: #FFF;
}
footer .foot_menu .side_link_wrap .link_item .menu_btn .label::before {
	border-color: #FFF;
}
footer .foot_menu .side_link_wrap .link_item .link_box li a {
	color: #F7F0E0;
}
/* logo */
footer .foot_logo {
	width: 21.3rem;
	display: block;
	margin-bottom: 4.7rem;
}
footer .copyright {
	font-size: 1rem;
	font-weight: 700;
	color: #D5C29F;
	text-align: center;
	display: block;
	margin-top: 4rem;
}

@media screen and (min-width: 540px) {
	footer {
		padding: 3rem 0 2rem;
	}
	/* foot_menu */
	footer .foot_menu .menu_blc:not(:first-child){
		margin-top: 1.2rem;
	}
	footer .foot_menu .menu_blc .label{
		font-size: .75rem;
		font-weight: 700;
		letter-spacing: .1em;
		margin-bottom: .75rem;
	}
	footer .foot_menu .menu_blc a{
		font-size: .7rem;
		font-weight: 700;
		letter-spacing: .1em;
		color: #F7F0E0;
		display: inline-block;
		margin-bottom: .75rem;
	}
	footer .foot_menu .menu_blc a:not(:last-child){
		margin-right: 1rem;
	}
	/* logo */
	footer .foot_logo {
		width: 12.5rem;
		margin-bottom: 1.5rem;
	}
	footer .copyright {
		font-size: .5rem;
		margin-top: 2rem;
	}
	/* sns */
	footer .sns_box{
		margin-top: 2.5rem;
		display: flex;
		align-items: center;
	}
	footer .sns_box a{
		height: 2rem;
		display: flex;
		align-items: center;
		justify-content: center;
		border: 1px solid #E9E6E6;
		box-sizing: border-box;
		background-color: #FFF;
		padding: 0 1rem;
		margin-right: .5rem;
	}
	footer .sns_box a.sns_ig .svg {
		width: 1.25rem;
		height: 1.25rem;
	}
	footer .sns_box a.sns_ig .svg .path01{
		fill: #47A3C3;
	}
	footer .sns_box a.sns_yt .svg {
		width: 1.45rem;
		height: 1rem;
	}
	footer .sns_box a.sns_yt .svg .path01{
		fill: #47A3C3;
	}
	footer .sns_box a.sns_yt .svg .path02{
		fill: #FFF;
	}
	footer .sns_box a.sns_ln .svg {
		width: 1.25rem;
		height: 1.25rem;
	}
	footer .sns_box a.sns_ln .svg .path01{
		fill: #47A3C3;
	}
	footer .sns_box a.sns_ln .svg .path02{
		fill: #FFF;
	}
	footer .sns_box a span {
		font-size: .8rem;
		font-weight: 700;
		color: #47A3C3;
		padding-left: .7rem;
	}
}
@media screen and (min-width: 1024px) {
	footer {
		padding: 5rem 0;
	}
	/* foot_menu */
	footer .foot_menu .menu_blc:not(:first-child){
		margin-top: 2.5rem;
	}
	footer .foot_menu .menu_blc .label{
		font-size: 1.8rem;
		font-weight: 700;
		letter-spacing: .1em;
		margin-bottom: 2rem;
	}
	footer .foot_menu .menu_blc a{
		font-size: 1.6rem;
		letter-spacing: .1em;
		color: #F7F0E0;
		display: inline-block;
		margin-bottom: 1.5rem;
	}
	footer .foot_menu .menu_blc a:not(:last-child){
		margin-right: 4rem;
	}
	/* logo */
	footer .foot_logo {
		width: 25rem;
		margin-bottom: 5rem;
	}
	footer .copyright {
		font-size: 1.2rem;
		color: #828282;
		position: fixed;
		top: 25%;
		left: 5rem;
		transform: rotate(90deg) translateX(-50%);
		transform-origin: left;
		z-index: 100;
		margin-top: 0;
	}
	.is-ie footer .copyright {
		left: 5rem;
	}
	/* sns */
	footer .sns_box{
		margin-top: 5rem;
	}
	footer .sns_box a{
		height: 4rem;
		padding: 0 2rem;
		margin-right: 1rem;
	}
	footer .sns_box a.sns_ig .svg {
		width: 2.5rem;
		height: 2.5rem;
	}
	footer .sns_box a.sns_yt .svg {
		width: 2.9rem;
		height: 2rem;
	}
	footer .sns_box a.sns_ln .svg {
		width: 2.5rem;
		height: 2.5rem;
	}
	footer .sns_box a span {
		font-size: 1.6rem;
		padding-left: 1.4rem;
	}
}
@media screen and (min-width: 1200px) {
	footer .copyright {
		top: 25%;
	}
	/* sns */
	footer .sns_box{
		margin-top: 5rem;
	}
	footer .sns_box a{
		height: 4rem;
		padding: 0 2rem;
		margin-right: 1rem;
		transition: .3s ease-in-out;
	}
	footer .sns_box a:hover {
		background-color: #47A3C3;
	}
	footer .sns_box a .svg path{
		transition: .3s ease-in-out;
	}
	footer .sns_box a.sns_ig .svg {
		width: 2.5rem;
		height: 2.5rem;
	}
	footer .sns_box a.sns_ig:hover .svg .path01{
		fill: #FFF;
	}
	footer .sns_box a.sns_yt .svg {
		width: 2.9rem;
		height: 2rem;
	}
	footer .sns_box a.sns_yt:hover .svg .path01{
		fill: #FFF;
	}
	footer .sns_box a.sns_yt:hover .svg .path02{
		fill: #47A3C3;
	}
	footer .sns_box a.sns_ln .svg {
		width: 2.5rem;
		height: 2.5rem;
	}
	footer .sns_box a.sns_ln:hover .svg .path01{
		fill: #FFF;
	}
	footer .sns_box a.sns_ln:hover .svg .path02{
		fill: #47A3C3;
	}
	footer .sns_box a span {
		font-size: 1.6rem;
		padding-left: 1.4rem;
		transition: .3s ease-in-out;
	}
	footer .sns_box a:hover span {
		color: #FFF;
	}
}


/*====================================
Form
====================================*/
.cmn-form .alert {
	color:#FF0000;
	line-height: 1.6;
	font-size: 1.6rem;
	margin-bottom: 3rem;
}
.cmn-form .form_tbl{
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	word-wrap: break-word;
	margin-bottom: 3rem;
}
.cmn-form .form_tbl th,
.cmn-form .form_tbl td{
	box-sizing: border-box;
	background-color: #F5F5F5;
}
.cmn-form .form_tbl th{
	width: 100%;
	font-size: 1.6rem;
	font-weight: 700;
	color: #47A3C3;
	padding: 2rem 2rem 1.5rem;
	position: relative;
}
.cmn-form .form_tbl th .required{
	width: 4.5rem;
	height: 2rem;
	display: block;
	box-sizing: border-box;
	padding: .5rem 0 .3rem;
	font-size: 1.1rem;
	color: #FFF;
	text-align: center;
	background-color: #47A3C3;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.cmn-form .form_tbl td{
	font-size: 1.3rem;
	line-height: 1.4;
	padding: 0 2rem 2rem;
	border-bottom: 5px solid #FFF;
}
.cmn-form .form_tbl td .label_ttl{
	font-size: 1.5rem;
	font-weight: 700;
	color: #47A3C3;
	margin-bottom: 1.5rem;
}
.cmn-form .form_tbl td .label_ttl02{
	margin-top: 2rem;
}

@media screen and (max-width: 539px) {
	.cmn-form .form_tbl th,
	.cmn-form .form_tbl td{
		display: block;
	}
}
@media screen and (min-width: 540px) {
	.cmn-form .alert{
		font-size: .7rem;
		margin-bottom: 1.5rem;
	}
	.cmn-form .form_tbl{
		margin-bottom: 1.5rem;
	}
	.cmn-form .form_tbl.confirm th,
	.cmn-form .form_tbl.confirm td{
		vertical-align: middle;
	}
	.cmn-form .form_tbl th,
	.cmn-form .form_tbl td{
		border-bottom: 5px solid #FFF;
	}
	.cmn-form .form_tbl th{
		width: 10rem;
		font-size: .8rem;
		padding: 1rem 0 1rem 1rem;
	}
	.cmn-form .form_tbl tr:last-child th {
		vertical-align: top;
	}
	.cmn-form .form_tbl th .required{
		width: 2rem;
		height: 1rem;
		padding: 3px 0;
		font-size: .45rem;
	}
	.cmn-form .form_tbl tr.form__privacy th {
		padding-top: 1.5rem;
	}
	.cmn-form .form_tbl td{
		font-size: .7rem;
		padding: 1rem;
	}
	.cmn-form .form_tbl td .label_ttl{
		font-size: .8rem;
		margin-bottom: .75rem;
	}
	.cmn-form .form_tbl td .label_ttl02{
		margin-top: 1.4rem;
	}
}
@media screen and (min-width: 1024px) {
	.cmn-form .alert{
		font-size: 1.6rem;
		margin-bottom: 2rem;
	}
	.cmn-form .form_tbl{
		margin-bottom: 4rem;
	}
	.cmn-form .form_tbl tr.privacy_tr th,
	.cmn-form .form_tbl tr.privacy_tr td {
		vertical-align: middle;
	}
	.cmn-form .form_tbl th{
		width: 22rem;
		font-size: 2rem;
		font-weight: 500;
		padding: 3.7rem 0 3.7rem 4rem;
	}
	.cmn-form .form_tbl th .required{
		width: 5.6rem;
		height: 3rem;
		padding: .8rem 0;
		font-size: 1.3rem;
	}
	.cmn-form .form_tbl tr.form__privacy th {
		padding-top: 4.5rem;
	}
	.cmn-form .form_tbl td{
		width: 40rem;
		font-size: 1.5rem;
		padding: 2rem 3rem;
	}
	.cmn-form .form_tbl td .label_ttl{
		font-size: 1.6rem;
		font-weight: 500;
		margin-bottom: 1.5rem;
	}
	.cmn-form .form_tbl td .label_ttl02{
		margin-top: 2.8rem;
	}
}
@media screen and (min-width: 1200px) {
	.cmn-form .form_tbl th{
		width: 31rem;
		font-size: 2.6rem;
	}
	.cmn-form .form_tbl td{
		width: 63rem;
		font-size: 1.6rem;
	}
	.cmn-form .form_tbl td .label_ttl{
		font-size: 1.8rem;
	}
}

/* form input tag
--------------------------------------*/
input[type="text"],
textarea,
select{
	width: 100%;
	box-sizing:border-box;
	padding: 1.2rem 2rem;
	font-size: 1.2rem;
	line-height: 2.1;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border-radius: 0;
	background-color: #FFF;
	border: 1px solid #D7D7D7;
}
input[type="radio"],
input[type="checkbox"] {
	display: none;
}
button,
input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
}
input[type="text"],
select{
	height: 5rem;
}
textarea{
	height: 13rem;
}
select::-ms-expand{
	display: none;
}

@media screen and (min-width: 540px) {
	input[type="text"],
	textarea,
	select{
		padding: .25rem .85rem;
		font-size: .7rem;
	}
	input[type="text"],
	select{
		height: 2.5rem;
	}
	textarea{
		height: 5rem;
	}
}
@media screen and (min-width: 1024px) {
	input[type="text"],
	textarea,
	select{
		width: 40rem;
		padding: 1rem 2.6rem;
		font-size: 1.3rem;
	}
	input[type="text"],
	select{
		height: 7rem;
	}
	textarea{
		height: 20rem;
	}
	textarea.course_txtarea {
		height: 5rem;
	}
	select{
		width: 22rem;
		cursor: pointer;
	}
}
@media screen and (min-width: 1200px) {
	input[type="text"],
	textarea,
	select{
		width: 63rem;
	}
	textarea{
		height: 25rem;
	}
	select{
		width: 27rem;
	}
}

/* その他
--------------------------------------*/
.select_wrap{
	width: 100%;
	position: relative;
}
.select_wrap::before,
.select_wrap::after{
	content: "";
	position: absolute;
	pointer-events: none;
}
.select_wrap::before{
	width: 5rem;
	height: 100%;
	background-color: #47A3C3;
	top: 0;
	right: 0;
}
.select_wrap::after{
	width: .4rem;
	height: 1.4rem;
	border-right: #FFF 1px solid;
	border-bottom: #FFF 1px solid;
	top: 30%;
	right: 2rem;
	transform: skewY(-50deg) scale(-1, 1);
}

.reserve_box{
	margin-top: 2rem;
}
.reserve_box > *{
	margin-bottom: 1rem;
}
.reserve_box .reserve_ttl{
	font-size: 1.6rem;
	font-weight: 700;
	color: #47A3C3;
	margin-bottom: 1.5rem;
}
.course_box {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.course_box label:nth-child(12) {
	display: none;
}

@media screen and (max-width: 539px) {
	.course_box label {
		width: 14.4rem;
	}
	.course_box label:last-child{
		width: 100%;
	}
	.course_box label span span{
		width: 9rem;
		letter-spacing: -.1em;
	}
	.course_box label:last-child span span{
		width: 23.8rem;
	}
}
@media screen and (min-width: 540px) {
	.select_wrap {
		width: 10rem;
	}
	.select_wrap::before{
		width: 2rem;
	}
	.select_wrap::after{
		width: .2rem;
		height: .7rem;
		right: .75rem;
	}

	.about_box{
		line-height: 1.6;
	}
	.reserve_box{
		display: flex;
		align-items: center;
		margin-top: 2rem;
	}
	.reserve_box > *{
		margin-bottom: 0;
	}
	.reserve_box > *:not(:last-child){
		margin-right: 1rem;
	}
	.reserve_box .reserve_ttl{
		font-size: .7rem;
		margin-bottom: 0;
	}
	.reserve_box input[type=text]{
		width: 6.5rem;
	}
	.course_box{
		justify-content: flex-start;
		align-items: baseline;
	}
	.course_box label{
		width: 7.5rem;
	}
	.course_box label:last-child {
		width: 24rem;
	}
}
@media screen and (min-width: 1024px) {
	.select_wrap {
		width: 22rem;
	}
	.select_wrap::before{
		width: 7rem;
	}
	.select_wrap::after{
		width: .5rem;
		height: 2rem;
		right: 3rem;
	}

	.reserve_box{
		display: flex;
		align-items: center;
		margin-top: 2rem;
	}
	.reserve_box>*:not(:last-child) {
		margin-right: .5rem;
	}
	.reserve_box .reserve_ttl{
		font-size: 2rem;
		font-weight: 500;
		margin-bottom: 0;
	}
	.reserve_box input[type=text]{
		width: 11rem;
	}
	.course_box label{
		width: 10.5rem;
		margin-right: .5rem;
	}
	.course_box label:last-child {
		width: 37.6rem;
	}
}
@media screen and (min-width: 1200px) {
	.select_wrap {
		width: 27rem;
	}
	.reserve_box input[type=text] {
		width: 27rem;
	}
	.course_box label:nth-child(4n+1){
		width: 12.9rem;
		margin-right: 1.9rem;
	}
	.course_box label:nth-child(4n+2){
		width: 12.9rem;
		margin-right: 2.7rem;
	}
	.course_box label:nth-child(4n+3){
		width: 17.5rem;
		margin-right: 1.3rem;
	}
	.course_box label:nth-child(4n+4){
		width: 11.2rem;
		margin-right: 0;
	}
	.course_box label:nth-child(11) {
		width: 29.9rem;
	}
	.course_box label:nth-child(11) span {
		width: 100%;
	}
	.course_box label:last-child {
		width: 37.6rem;
	}
}

/* inputのボタンデザイン
--------------------------------------*/
label{
	display: inline-block;
}
.radio-btn{
	position: relative;
	display: flex;
}
.check-btn{
	position: relative;
	display: flex;
	align-items: center;
}
.box .radio-btn,
.box .check-btn {
	margin-bottom: 1.8rem;
}
.trans_box .radio-btn {
	margin-right: 3rem;
}
.radio-btn span,
.check-btn span {
	width: 26.4rem;
	display: block;
	font-size: 1.4rem;
	line-height: 1.2;
}
.radio-btn::before,
.check-btn::before{
	content: "";
	background: #FFF;
	display: block;
	margin-right: 1rem;
	transform: translateY(-2px);
	transition: .3s;
	box-sizing: border-box;
}
.radio-btn::before {
	width: 2rem;
	height: 2rem;
	border: 1px solid #D7D7D7;
}
.check-btn::before{
	width: 5rem;
	height: 5rem;
	border: 1px solid #E9E6E6;
}
.radio-btn::before{
	border-radius: 10rem;
}
.radio-btn::after{
	content: "";
	width: 1.4rem;
	height: 1.4rem;
	background-color: #47A3C3;
	position: absolute;
	top: .1rem;
	left: .3rem;
	border-radius: 100px;
	opacity: 0;
	transition: .3s;
}
input[type="radio"]:checked + .radio-btn::after{
	opacity: 1;
}
.check-btn::after{
	content: "";
	width: 2rem;
	height: 1.2rem;
	border-left: 1px solid #FFF;
	border-bottom: 1px solid #FFF;
	position: absolute;
	left: 2.6rem;
	top: 50%;
	transform: rotate(-45deg) translateY(-130%);
	transition: .2s ease-in-out;
	opacity: .3;
}
input[type="checkbox"]:checked + .check-btn::before{
	opacity: 1;
}
input[type="checkbox"]:checked + .check-btn::after{
	opacity: 1;
	border-color: #47A3C3;
}
.policy-btn {
	display: inline-block;
	margin-top: 1rem;
}

@media screen and (min-width: 540px) {
	.trans_box .radio-btn{
		margin-right: 1.5rem;
	}
	.visit_box .radio-btn{
		margin-bottom: .8rem;
	}
	.visit_box .radio-btn span {
		width: 22rem;
	}
	.course_box .check-btn {
		margin-bottom: 1.5rem;
	}
	.radio-btn span,
	.check-btn span {
		width: auto;
		font-size: .8rem;
	}
	.radio-btn::before,
	.check-btn::before{
		width: 1rem;
		height: 1rem;
		margin-right: .4rem;
	}
	.radio-btn::after{
		width: .65rem;
		height: .65rem;
		top: .05rem;
		left: .15rem;
	}
	.check-btn::after{
		width: .6rem;
		height: .3rem;
		left: .5rem;
	}
	.policy-btn{
		margin-top: 0;
	}
}
@media screen and (min-width: 1024px) {
	label{
		cursor: pointer;
	}
	.trans_box .radio-btn{
		margin-right: 3rem;
	}
	.visit_box .radio-btn{
		margin-bottom: .8rem;
	}
	.visit_box .radio-btn span{
		width: 37rem;
	}
	.course_box .check-btn {
		margin-bottom: 2.5rem;
	}
	.course_box .check-btn span {
		width: calc(100% - 2.5rem);
	}
	.course_box label:last-child .check-btn span{
		width: 37rem;
	}
	.radio-btn span,
	.check-btn span {
		width: auto;
		font-size: 1.6rem;
	}
	.check-btn::before{
		width: 2.5rem;
		height: 2.5rem;
		margin-right: .5rem;
		background-color: #FFF;
		/* opacity: .3; */
	}
	.radio-btn::before{
		width: 2rem;
		height: 2rem;
		margin-right: 1rem;
		transform: translateY(0);
	}
	.check-btn::after{
		width: 1.3rem;
		height: .7rem;
		left: 1.4rem;
		transform: rotate(-45deg) translateY(-150%);
	}
	.radio-btn::after{
		width: 1.4rem;
		height: 1.4rem;
		top: .3rem;
		left: .3rem;
	}
}
@media screen and (min-width: 1200px) {
	.visit_box .radio-btn span{
		width: auto;
	}
}

/* placeholder
--------------------------------------*/
:placeholder-shown {
	color: #D7D7D7;
}
::-webkit-input-placeholder {
	color: #D7D7D7;
}
:-moz-placeholder {
	color: #D7D7D7;
}
::-moz-placeholder {
	color: #D7D7D7;
}
:-ms-input-placeholder {
	color: #D7D7D7;
}

/* submit
--------------------------------------*/
.cmn-form .submit_btn:not(:first-child) {
	margin-top: 5rem;
}
.cmn-form .form_btn{
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	transition:0.3s all ease;
	text-align: center;
	font-size: 1.6rem;
	color: #47A3C3;
	background: none;
	opacity: 1;
}
.cmn-form .cmn-btn01 {
	transition: .3s;
}
.cmn-form .is-disabled .cmn-btn01 {
	pointer-events: none;
	opacity: .3;
}

@media screen and (min-width: 540px) {
	.cmn-form .submit .cmn-btn01 {
		margin: 0 auto;
	}
	.cmn-form .form_btn {
		font-size: .8rem;
	}
	.cmn-form .submit_btn:not(:first-child) {
		margin-top: 0;
		margin-left: 2.5rem;
	}
}
@media screen and (min-width: 1024px) {
	.cmn-form .submit_btn:not(:first-child) {
		margin-left: 2rem;
	}
	.cmn-form .form_btn{
		cursor: pointer;
		font-size: 2rem;
		z-index: 10;
	}
	.cmn-form .form_btn:not(:disabled):hover{
		color: #FFF;
	}
}

/* datepicker
--------------------------------------*/
.ui-datepicker {
	font-size: 170%;
}
@media screen and (min-width: 540px) {
	.ui-datepicker {
		font-size: 80%;
	}
}
@media screen and (min-width: 1024px) {
	.ui-datepicker {
		font-size: 205%;
	}
}
@media screen and (min-width: 1200px) {
	.ui-datepicker {
		font-size: 155%;
	}
}

/* confirm
--------------------------------------*/
@media screen and (min-width: 540px) {
	.cmn-form .submit_box{
		display: flex;
		justify-content: center;
	}
}


/*====================================
 pagenavi
====================================*/
.wp-pagenavi{
    display: flex;
    justify-content: center;
	align-items: center;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
    pointer-events: all;
    display: block;
	position: relative;
	font-size: 1.6rem;
	font-weight: 700;
	color: #5F5E5E;
}
.wp-pagenavi .previouspostslink{
    margin-right: 2rem;
}
.wp-pagenavi .nextpostslink{
    margin-left: 2rem;
}
.wp-pagenavi .previouspostslink::before ,
.wp-pagenavi .nextpostslink::before{
    content: "";
    width: 1.4rem;
    height: .4rem;
    border-right: #5F5E5E 1px solid;
    border-bottom: #5F5E5E 1px solid;
    position: absolute;
    top: 40%;
}
.wp-pagenavi .previouspostslink:before{
    left: -2rem;
    transform: skewX(-50deg) scale(-1, 1);
}
.wp-pagenavi .nextpostslink:before{
    right: -2rem;
    transform: skewX(50deg);
}
.wp-pagenavi a,
.wp-pagenavi span{
    margin: 0 .5rem;
}
.wp-pagenavi .current,
.wp-pagenavi .page,
.wp-pagenavi span{
    content: "";
	width: 5rem;
	height: 5rem;
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	color: #AAA7A7;
	background-color: #FFF;
	box-sizing: border-box;
	padding: 1.5rem 0;
}
.wp-pagenavi .current{
	color: #FFF;
	background-color: #47A3C3;
}

@media screen and (min-width: 540px) {
	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink {
		font-size: .8rem;
	}
	.wp-pagenavi .previouspostslink{
		margin-right: 1rem;
	}
	.wp-pagenavi .nextpostslink{
		margin-left: 1rem;
	}
	.wp-pagenavi .previouspostslink::before ,
	.wp-pagenavi .nextpostslink::before{
		width: .7rem;
		height: .2rem;
	}
	.wp-pagenavi .previouspostslink:before{
		left: -1rem;
	}
	.wp-pagenavi .nextpostslink:before{
		right: -1rem;
	}
	.wp-pagenavi a,
	.wp-pagenavi span {
		margin: 0 .25rem;
	}
	.wp-pagenavi .current,
	.wp-pagenavi .page,
	.wp-pagenavi span{
		width: 2rem;
		height: 2rem;
		font-size: .9rem;
		padding: .5rem 0;
	}
}
@media screen and (min-width: 1024px) {
	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink {
		font-size: 18px;
	}
	.wp-pagenavi .previouspostslink{
		margin-right: 20px;
	}
	.wp-pagenavi .nextpostslink{
		margin-left: 20px;
	}
	.wp-pagenavi .previouspostslink::before ,
	.wp-pagenavi .nextpostslink::before{
		width: 14px;
		height: 4px;
	}
	.wp-pagenavi .previouspostslink:before{
		left: -20px;
	}
	.wp-pagenavi .nextpostslink:before{
		right: -20px;
	}
	.wp-pagenavi a,
	.wp-pagenavi span {
		margin: 0 5px;
	}
	.wp-pagenavi .current,
	.wp-pagenavi .page,
	.wp-pagenavi span{
		width: 50px;
		height: 50px;
		font-size: 20px;
		padding: 15px 0;
		transition: .3s ease-in-out;
	}
	.wp-pagenavi .page:hover,
	.wp-pagenavi span:hover {
		background-color: #47A3C3;
		color: #FFF;
	}
}


/*====================================
 menu contents
====================================*/
.cmn-menu_contents .tab_btn {
	margin-bottom: 4rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.cmn-menu_contents .tab_btn li {
	width: 17.7rem;
	border-bottom: 2px solid #AAA7A7;
	padding-bottom: 1.2rem;
	transition: .3s ease-in-out;
}
.cmn-menu_contents .tab_btn li:nth-child(-n+2) {
	margin-bottom: 2.5rem;
}
.cmn-menu_contents .tab_btn li .label {
	font-size: 1.1rem;
	letter-spacing: .1em;
	text-align: center;
	color: #AAA7A7;
	margin-bottom: 0.7rem;
	transition: .3s ease-in-out;
}
.cmn-menu_contents .tab_btn li .sub_label {
	font-size: 1.4rem;
	letter-spacing: .1em;
	text-align: center;
	color: #AAA7A7;
	transition: .3s ease-in-out;
}
.cmn-menu_contents .tab_btn li.is-active {
	border-color: #47A3C3;
}
.cmn-menu_contents .tab_btn li.is-active .sub_label{
	font-weight: 700;
}
.cmn-menu_contents .tab_btn li.is-active .label ,
.cmn-menu_contents .tab_btn li.is-active .sub_label {
	color: #47A3C3;
}
.cmn-menu_contents .tab_area .menu_list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 2rem 2rem 0;
	background-color: #F5F5F5;
}
.cmn-menu_contents .tab_area .menu_list li {
	width: 15.7rem;
	margin-bottom: 2rem;
	background-color: #FFF;
}
.cmn-menu_contents .tab_area .menu_list li a{
	display: block;
}
.cmn-menu_contents .tab_area .menu_list li .txt_item {
	padding: 1.5rem;
}
.cmn-menu_contents .tab_area .menu_list li .txt_item .label {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.4;
	color: #47A3C3;
	margin-bottom: 1rem;
}
.cmn-menu_contents .tab_area .menu_list li .txt_item .txt {
	font-size: 1.1rem;
	line-height: 1.8;
	color: #828282;
}
.menu_list_price {
    font-size: 1.3rem;
	line-height: 1.8;
	color: #828282;
}

/* treatment */
.cmn-menu_contents .tab_area .menu_list li .txt_item .cat_list {
	margin-top: 1rem;
}
.cmn-menu_contents .tab_area .menu_list li .txt_item .cat_list .cat:not(:last-child) {
	margin-bottom: 0.5rem;
}
.cmn-menu_contents .tab_area .menu_list li .txt_item .cat_list .cat span {
	display: inline-block;
	box-sizing: border-box;
	border: 1px solid #E9E6E6;
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: .1em;
	color: #47A3C3;
	padding: .5rem 1rem;
}
/* ranking */
.cmn-menu_contents .tab_area .ranking_box {
	margin-top: 9rem;
}
.cmn-menu_contents .tab_area .ranking_box .ranking_wrap{
	position: relative;
}
.cmn-menu_contents .tab_area .ranking_box .ranking_wrap:not(:last-child) {
	margin-bottom: 8rem;
}
.cmn-menu_contents .tab_area .ranking_box .ranking_wrap .rank_name {
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: .05em;
	position: absolute;
	top: -3.4rem;
	left: 2rem;
	z-index: 1;
}
.cmn-menu_contents .tab_area .ranking_box .ranking_wrap .rank_name .num {
	font-size: 5rem;
}
.cmn-menu_contents .tab_area .ranking_box .ranking_wrap .ranking_list {
	padding-top: 4.3rem;
}
.cmn-menu_contents .tab_area .ranking_box .ranking_wrap .ranking_list .img_item {
	position: relative;
}
.cmn-menu_contents .tab_area .ranking_box .ranking_wrap .ranking_list .img_item .no {
	padding: .8rem 1rem .7rem;
	display: block;
	background-color: #47A3C3;
	font-size: 1.1rem;
	letter-spacing: .1em;
	color: #FFF;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.cmn-menu_contents .tab_area .ranking_box .ranking_wrap .ranking_list .img_item .no span {
	font-size: 1.6rem;
}

@media screen and (min-width: 540px) {
	.cmn-menu_contents .tab_btn {
		margin-bottom: 1rem;
		padding: 0 7rem;
	}
	.cmn-menu_contents .tab_btn li {
		width: 8rem;
		padding-bottom: .6rem;
	}
	.cmn-menu_contents .tab_btn li:nth-child(-n+2) {
		margin-bottom: 0;
	}
	.cmn-menu_contents .tab_btn li .label {
		font-size: .55rem;
		margin-bottom: 0.35rem;
	}
	.cmn-menu_contents .tab_btn li .sub_label {
		font-size: .7rem;
	}
	.cmn-menu_contents .tab_area .menu_list {
		padding: 1rem 1rem 0;
	}
	.cmn-menu_contents .tab_area .menu_list::after {
		content: "";
		width: 11rem;
		display: block;
	}
	.cmn-menu_contents .tab_area .menu_list li {
		width: 11rem;
		margin-bottom: 1.25rem;
	}
	.cmn-menu_contents .tab_area .menu_list li .txt_item {
		padding: .75rem;
	}
	.cmn-menu_contents .tab_area .menu_list li .txt_item .label {
		font-size: .7rem;
		margin-bottom: .5rem;
	}
	.cmn-menu_contents .tab_area .menu_list li .txt_item .label.lh-ir {
		letter-spacing: -.05em;
	}
	.cmn-menu_contents .tab_area .menu_list li .txt_item .txt {
		font-size: .55rem;
	}
	/* treatment */
	.cmn-menu_contents .tab_area .menu_list li .txt_item .cat_list {
		margin-top: .5rem;
	}
	.cmn-menu_contents .tab_area .menu_list li .txt_item .cat_list .cat:not(:last-child) {
		margin-bottom: 0.25rem;
	}
	.cmn-menu_contents .tab_area .menu_list li .txt_item .cat_list .cat span {
		font-size: .55rem;
		padding: .25rem .5rem;
	}
	/* ranking */
	.cmn-menu_contents .tab_area .ranking_box {
		margin-top: 3.5rem;
	}
	.cmn-menu_contents .tab_area .ranking_box .ranking_wrap:not(:last-child) {
		margin-bottom: 3rem;
	}
	.cmn-menu_contents .tab_area .ranking_box .ranking_wrap .rank_name {
		font-size: 1.2rem;
		top: -1.7rem;
		left: 1rem;
	}
	.cmn-menu_contents .tab_area .ranking_box .ranking_wrap .rank_name .num {
		font-size: 2.5rem;
	}
	.cmn-menu_contents .tab_area .ranking_box .ranking_wrap .ranking_list {
		padding-top: 2.15rem;
	}
	.cmn-menu_contents .tab_area .ranking_box .ranking_wrap .ranking_list .img_item .no {
		padding: .4rem .5rem .35rem;
		font-size: .55rem;
	}
	.cmn-menu_contents .tab_area .ranking_box .ranking_wrap .ranking_list .img_item .no span {
		font-size: .8rem;
	}
}
@media screen and (min-width: 1024px) {
	.cmn-menu_contents .sec_inner {
		padding: 0 5rem;
	}
	.cmn-menu_contents .tab_btn {
		margin-bottom: 5rem;
		padding: 0 13rem;
		flex-wrap: nowrap;
	}
	.cmn-menu_contents .tab_btn li {
		width: 19rem;
		padding-bottom: 2rem;
	}
	.cmn-menu_contents .tab_btn li .label {
		font-size: 1.4rem;
		margin-bottom: 0.5rem;
	}
	.cmn-menu_contents .tab_btn li .sub_label {
		font-size: 2rem;
	}
	.cmn-menu_contents .tab_area .menu_list {
		padding: 5rem 5rem 2rem;
	}
	.cmn-menu_contents .tab_area .menu_list::after {
		width: 25.6rem;
	}
	.cmn-menu_contents .tab_area .menu_list li {
		width: 25.6rem;
		margin-bottom: 3rem;
	}
	.cmn-menu_contents .tab_area .menu_list li .txt_item {
		padding: 2rem;
	}
	.cmn-menu_contents .tab_area .menu_list li .txt_item .label {
		font-size: 1.8rem;
		margin-bottom: 1.5rem;
	}
	.cmn-menu_contents .tab_area .menu_list li .txt_item .txt {
		font-size: 1.3rem;
		line-height: 1.6;
	}
	/* treatment */
	.cmn-menu_contents .tab_area .menu_list li .txt_item .cat_list {
		margin-top: 1.7rem;
		display: flex;
		flex-wrap: wrap;
	}
	.cmn-menu_contents .tab_area .menu_list li .txt_item .cat_list .cat:not(:last-child) {
		margin-bottom: .5rem;
		margin-right: 1rem;
	}
	.cmn-menu_contents .tab_area .menu_list li .txt_item .cat_list .cat span {
		font-size: 1.3rem;
		padding: .5rem 2.2rem;
	}
	/* ranking */
	.cmn-menu_contents .tab_area .ranking_box {
		margin-top: 9.4rem;
	}
	.cmn-menu_contents .tab_area .ranking_box .ranking_wrap:not(:last-child) {
		margin-bottom: 7.6rem;
	}
	.cmn-menu_contents .tab_area .ranking_box .ranking_wrap .rank_name {
		font-size: 4rem;
		top: -5rem;
		left: 5rem;
	}
	.cmn-menu_contents .tab_area .ranking_box .ranking_wrap .rank_name .num {
		font-size: 7rem;
	}
	.cmn-menu_contents .tab_area .ranking_box .ranking_wrap .ranking_list {
		padding-top: 7rem;
	}
	.cmn-menu_contents .tab_area .ranking_box .ranking_wrap .ranking_list .img_item .no {
		padding: .8rem 1rem;
		font-size: 1.3rem;
	}
	.cmn-menu_contents .tab_area .ranking_box .ranking_wrap .ranking_list .img_item .no span {
		font-size: 2.2rem;
	}
}
@media screen and (min-width: 1200px) {
	.cmn-menu_contents .tab_btn {
		margin-bottom: 7rem;
	}
	.cmn-menu_contents .tab_btn li {
		width: calc(100% / 4 - 1.5rem);
		cursor: pointer;
	}
	.cmn-menu_contents .tab_btn li .label {
		font-size: 1.8rem;
	}
	.cmn-menu_contents .tab_btn li .sub_label {
		font-size: 2.4rem;
	}
	.cmn-menu_contents .tab_btn li:hover {
		border-color: #47A3C3;
	}
	.cmn-menu_contents .tab_btn li:hover .sub_label{
		font-weight: 700;
	}
	.cmn-menu_contents .tab_btn li:hover .label ,
	.cmn-menu_contents .tab_btn li:hover .sub_label {
		color: #47A3C3;
	}
	.cmn-menu_contents .tab_area .menu_list {
		padding: 5rem 2rem 2rem 5rem;
		justify-content: flex-start;
	}
	#top .cmn-menu_contents .tab_area .menu_list {
		justify-content: space-between;
	}
	.cmn-menu_contents .tab_area .menu_list::after {
		content: none;
	}
	.cmn-menu_contents .tab_area .menu_list li {
		width: 34.6rem;
		margin-right: 3rem;
	}
	.cmn-menu_contents .tab_area .menu_list li .img_item {
		width: 100%;
		height: 16rem;
	}
	.cmn-menu_contents .tab_area .menu_list li .txt_item {
		padding: 3rem 2rem;
	}
	.cmn-menu_contents .tab_area .menu_list li .txt_item .label {
		font-size: 2rem;
		margin-bottom: 2rem;
	}
	.cmn-menu_contents .tab_area .menu_list li .txt_item .txt {
		font-size: 1.5rem;
	}
	.menu_list_price {
		font-size: 1.8rem;
	}
    
}


/*====================================
 2022/02/13 footer update
====================================*/
footer .foot_bnr{
	margin: 2rem 0 5rem;
	border-top: 1px solid #FFF;
	padding-top: 4.3rem;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
footer .foot_bnr .bnr {
	width: 18rem;
	display: block;
	margin-bottom: 1.3rem;
}

@media screen and (min-width: 1024px) {
	footer .foot_bnr{
		margin: 4.5rem 0 0;
		padding-top: 4rem;
		justify-content: flex-start;
	}
	footer .foot_bnr .bnr {
		width: 24.5rem;
		margin-bottom: 0;
	}
	footer .foot_bnr .bnr:not(:last-child) {
		margin-right: 4rem;
	}
}