@charset "utf-8";

/*-------------------------------
	基本設定
-------------------------------*/

/*----- フォント設定 */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;800&family=Noto+Sans+JP:wght@500&display=swap');



*,
*::before,
*::after{
	box-sizing: border-box;
	line-height: 1;
	word-wrap: break-word;
}
*::before,
*::after{
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}
html{
	font-size: 62.5%;
}
body{
	/* opacity: 0; */
	width: 100%;
	font-size: 1.4rem;
	letter-spacing: -.04rem;
	font-weight: 400;
	-webkit-text-size-adjust: 100%;
	margin-left: auto;
	margin-right: auto;
	background: #f1eeec;
	color: #000;
	/* font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; */
	font-family: 'M PLUS Rounded 1c', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
body.on{
	overflow: hidden;
}
body::before{
	width: 100%;
	max-width: 53rem;
	height: 6.4rem;
	left: 0;
	top: -1rem;
	right: 0;
	z-index: 6000;
	position: fixed;
	margin-left: auto;
	margin-right: auto;
	background-size: 100%;
	background-image: url(../../images/common/bg_after-frame.png);
	background-image: image-set(url(../../images/common/bg_after-frame.png) 1x, url(../../images/common/bg_after-frame@2x.png) 2x);
    background-image: -webkit-image-set(url(../../images/common/bg_after-frame.png) 1x, url(../../images/common/bg_after-frame@2x.png) 2x);
	display: block;
	content: "";
}
body.end::before{
	display: none;
}

/*----- 画像関連 */
img{
	height: auto;
	vertical-align: bottom;
}

/* SVG表示されないとき */
.svg{
	line-height: 1;
	display: block;
}
.svg img{
	display: block;
	width: 100%;
	height: auto;
	line-height: 1;
}

/* object-fit */
.obj-img img{
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

/*----- ホバー系 */
a{
	transition: .3s all ease;
	color: #808080;
}
*:not(.not-a) > a:hover{
	opacity: 0.6;
}

/* 画像拡大 */
.hover_zoom img{
	transition: .3s all ease;
}
.hover_zoom:hover img{
	transform: scale(1.2);
}

/*----- コンテンツ */
.fullwidth{
	width: 100%;
	max-width: 42rem;
	padding-left: 3rem;
	padding-right: 3rem;
	margin-left: auto;
	margin-right: auto;
}
.maxwidth{
	width: 100%;
	/* max-width: 37.5rem;
	padding-left: 3.2rem;
	padding-right: 3.2rem; */
	max-width: 42rem;
	padding-left: 3rem;
	padding-right: 3rem;
	margin-left: auto;
	margin-right: auto;
}
.maxwidth2{
	width: 100%;
	/* max-width: 37.5rem; */
	max-width: 42rem;
	padding-left: 3rem;
	padding-right: 3rem;
	margin-left: auto;
	margin-right: auto;
}
.maxwidth3{
	width: 100%;
	max-width: 42rem;
	padding-left: 3rem;
	padding-right: 3rem;
	margin-left: auto;
	margin-right: auto;
}
.maxwidth4{
	width: 100%;
	max-width: 42rem;
	padding-left: 3rem;
	padding-right: 3rem;
	margin-left: auto;
	margin-right: auto;
}

.sec{
	padding-top: 9rem;
	padding-bottom: 9rem;
	overflow: hidden;
	z-index: 2;
	position: relative;
}
.sec:first-child{
	padding-top: 0;
}
.sec:last-child{
	padding-bottom: 0;
}
.main{
	width: 100%;
	min-height: 100vh;
	/* margin-top: 3rem; */
	max-width: 42rem;
	/* border-top-left-radius: 3rem;
	border-top-right-radius: 3rem; */
	padding: 9rem 2.2rem 10rem;
	padding-top: 9rem;
	padding-bottom: 10rem;
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding: 9rem 0 10rem;
	/* box-shadow: 0 0 2rem rgba(51,51,51,.2); */
}
.main::before{
	max-width: 42rem;
	height: 100%;
	/* height: calc(100% - 3rem); */
	border-top-left-radius: 3rem;
	border-top-right-radius: 3rem;
	left: 0;
	right: 0;
	bottom: 0;
	box-shadow: 0 0 2rem rgba(51,51,51,.2);
	z-index: 1;
	background: #f1eeec;
	margin-left: auto;
	margin-right: auto;
	position: fixed;
	display: block;
	content: "";
}
.wrap1210{
	width: 100%;
	max-width: 129rem;
	padding-left: 4rem;
	padding-right: 4rem;
	padding-top: 0;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
}
.wrap1210::before,
.wrap1210::after{
	bottom: 0;
	position: fixed;
	background-size: auto;
	background-repeat: no-repeat;
	z-index: 6000;
	display: block;
	content: "";
}
.wrap1210::before{
	left: calc(50% - (121rem / 2) - 8rem);
	width: 33.4rem;
	height: 22.7rem;
	background-image: url(../../images/common/img_body-left.svg);
	/* background-image: image-set(url(../images/common/img_body-left.png) 1x, url(../images/common/img_body-left@2x.png) 2x);
    background-image: -webkit-image-set(url(../images/common/img_body-left.png) 1x, url(../images/common/img_body-left@2x.png) 2x); */
}
.wrap1210::after{
	right: calc(50% - (121rem / 2) - 8rem);
	width: 33.4rem;
	height: 22.2rem;
	background-image: url(../../images/common/img_body-right.svg);
	/* background-image: image-set(url(../images/common/img_body-right.png) 1x, url(../images/common/img_body-right@2x.png) 2x);
    background-image: -webkit-image-set(url(../images/common/img_body-right.png) 1x, url(../images/common/img_body-right@2x.png) 2x); */
}
body.end .wrap1210::before,
body.end .wrap1210::after{
	display: none;
}
.wrap1210__inner{
	width: 100%;
	z-index: 5000;
	position: relative;
}
.wrap1210__inner::before{
	width: calc(100% - (4rem * 2));
	max-width: 121rem;
	height: calc(100% - (8.5rem * 2));
	border-radius: 8.4rem;
	border: 4px solid #fff;
	left: 4rem;
	right: 4rem;
	top: 8.5rem;
	bottom: 8.5rem;
	z-index: -1;
	margin-left: auto;
	margin-right: auto;
	position: fixed;
	display: block;
	content: "";
}

/*----- アニメーション */
.view{
	opacity : 0;
	transform : translate(0, 0.7rem);
	transition : all 750ms;
}
.view.scrollin{
	opacity : 1;
	transform : translate(0, 0);
}
.view2{
	overflow: hidden;
	position: relative;
}
.view2:after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	position: absolute;
	background: #fff;
	transition : all ease-in-out 750ms;
}
.view2.scrollin2:after{
	left: 100%;
}



/*-------------------------------
	ヘッダー
-------------------------------*/

.header{
	width: 100%;
	max-width: 42rem;
	z-index: 9910;
	left: 0;
	top: 2rem;
	right: 0;
	border-top-left-radius: 3rem;
	border-top-right-radius: 3rem;
	background: #f1eeec;
	position: fixed;
	margin-left: auto;
	margin-right: auto;
	display: none;
}
.header__inner{
	width: 100%;
	height: 5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/*----- ロゴ */
.header-logo{
	width: 12.6rem;
}
.header-logo a{
	width: 100%;
	display: block;
}
.header-logo img{
	width: 100%;
}

/*----- ナビ */
.header-nav{
	width: calc(100% - 12.6rem);
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: relative;
}
.header-nav__item{
	width: 2.3rem;
}
.header-nav__item:not(:last-child){
	margin-right: 1.5rem;
}
.header-nav__item a{
	display: block;
}
.header-nav__item__icon{
	width: 2.3rem;
	cursor: pointer;
}
.header-nav__item__icon img{
	width: 100%;
}


/* ユーザーナビ */
.usernav{
	width: 20.2rem;
	padding: 3rem 2.2rem 1rem;
	border-radius: 1.8rem;
	box-shadow: 0 1.9rem 1.9rem rgba(0,0,0,.15);
	right: 0;
	top: 3.5rem;
	position: absolute;
	background: #fff;
	display: none;
}
.usernav-account{
	margin-bottom: 1rem;
	text-align: center;
}
.usernav-account__image{
	width: 6rem;
	height: 6rem;
	margin-bottom: 1rem;
	margin-left: auto;
	margin-right: auto;
}
.usernav-account__image img{
	width: 100%;
	height: 100%;
}
.usernav-account__name{
	font-size: 1.6rem;
	font-weight: 500;
	display: block;
}
.usernav-account__name::after{
	font-size: 1.4rem;
	content: "さん";
}
.usernav-menu__item:not(:last-child){
	border-bottom: .1rem solid #F2F2F2;
}
.usernav-menu__item a{
	width: 100%;
	height: 4.2rem;
	font-size: 1.2rem;
	font-weight: 500;
	color: #000;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.usernav-menu__item a::before{
	margin-right: 1rem;
	display: block;
	content: "";
}
.usernav-menu__item__icon{
	width: 1.6rem;
	margin-right: 1rem;
	display: block;
}
.usernav-menu__item__icon img{
	width: 100%;
}



/*-------------------------------
	フッター
-------------------------------*/

.footer{
	width: 100%;
	max-width: 121rem;
	left: 0;
	right: 0;
	bottom: 0;
	position: fixed;
	margin-left: auto;
	margin-right: auto;
}
.footer__inner{
	width: 100%;
	padding-bottom: 3rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.footer-copyright{
	width: 50%;
	font-size: 1rem;
	color: rgba(55,80,112,.3);

	text-align: center;
}
.footer__inner .gotop{
	width: 50%;
	font-size: 1rem;
	text-align: center;
}
.footer__inner .gotop a{
	display: inline-block;
	color: #375070;
	position: relative;
}
.footer__inner .gotop a::before{
	width: 1rem;
	height: 1rem;
	margin-right: .5rem;
	left: -1.5rem;
	top: 0;
	position: absolute;
	background-image: url(../../images/common/icon_gotop.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
	display: block;
	content: "";
}



/*-------------------------------
	グローバルナビ
-------------------------------*/

.global-nav{
    width: 100%;
	height: 100%;
    max-width: 121rem;
    top: 0;
	bottom: 0;
    right: 0;
    left: 0;
    z-index: -1;
	position: fixed;
    margin-left: auto;
    margin-right: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.global-nav__inner{
	width: calc((100% - 42rem) / 2);
	padding-left: 2rem;
	padding-right: 2rem;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.global-nav-left__logo{
	width: 100%;
	max-width: 26.9rem;
	margin-bottom: 5rem;
}
.global-nav-left__logo a{
	display: block;
}
.global-nav-left__logo img{
	width: 100%;
}
.global-nav-list{
	margin-bottom: 4rem;
}
.global-nav-list__item{
	position: relative;
}
.global-nav-list__item:not(:last-child){
	margin-bottom: 2.8rem;
}
.global-nav-list__item:hover::before{
	width: .8rem;
	height: .8rem;
	border-radius: 50%;
	left: -2rem;
	top: calc(50% - .4rem);
	position: absolute;
	background: #38516F;
	display: block;
	content: "";
}
.global-nav-list__item a{
	font-size: 1.5rem;
	line-height: 1;
	opacity: 1 !important;
	display: block;
	color: #38516F;
}
.global-nav-left-button{
	width: 100%;
	max-width: 21.5rem;
}
.global-nav-left-button a{
	width: 100%;
	height: 3rem;
	border-radius: 1.5rem;
	box-shadow: 0 0 1rem rgba(0,0,0,.06);
	background: #fff;
	font-size: 1.5rem;
	line-height: 1;
	color: #38516F;
	display: flex;
	align-items: center;
	justify-content: center;
}
.global-nav-left-button a::before{
	width: 2.3rem;
	height: 1.5rem;
	margin-right: .8rem;
	background-image: url(../../images/common/icon_nav-liveseminar.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	display: block;
	content: "";
}
.global-nav-banner{
	width: 100%;
	max-width: 30.6rem;
}
.global-nav-banner a{
	width: 100%;
	z-index: 2;
	display: block;
	position: relative;
}
.global-nav-banner a::before{
	width: 100%;
	height: 9rem;
	border-radius: 2.5rem;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: -1;
	position: absolute;
	background: #fff;
	display: block;
	content: "";
	box-shadow: 0 0 1rem rgba(0,0,0,.06);
}
.global-nav-banner a img{
	width: 100%;
}



/*-------------------------------
	パーツ
-------------------------------*/

/*----- 見出し */
/* ページタイトル */
.page-title{
	font-size: 2.2rem;
	margin-bottom: 4rem;
	line-height: 1.181818;
	font-weight: 800;
	text-align: center;
}

/* 中見出し */
.sec-title{
	font-size: 2rem;
	margin-bottom: 3rem;
	font-weight: 800;
	text-align: center;
}

/*----- ボタン */
.Button-wrap{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.Button{
}

/*----- 導入文章 */
.first-message{
	font-size: 1.3rem;
	line-height: 1.538461;
	margin-bottom: 4rem;
	text-align: center;
}

/*----- 更新アイコン */
.update{
	position: relative;
}
.update::after{
	width: .8rem;
	height: .8rem;
	border: 1px solid #fff;
	border-radius: 50%;
	left: -.2rem;
	top: -.2rem;
	position: absolute;
	background: #ED1C24;
	display: block;
	content: "";
}
.update-number{
	min-width: 1.8rem;
	padding-left: .4rem;
	padding-right: .4rem;
	height: 1.8rem;
	border-radius: .9rem;
	font-size: 1rem;
	left: -.3rem;
	top: -.3rem;
	position: absolute;
	color: #fff;
	background: #ED1C24;
	display: flex;
	align-items: center;
	justify-content: center;
}

/*----- テキスト */
.text{
	line-height: 1.857142;
}

/*----- ポップアップ */
.Popup{
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 9990;
	position: fixed;
	display: flex;
	align-items: center;
	justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: .3s all ease-in-out;
}
.Popup.on{
    opacity: 1;
    visibility: visible;
}
.Popup::before{
	width: 100%;
	height: 100%;
	z-index: -1;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	position: fixed;
	background: rgba(0,0,0,.6);
	display: block;
	content: "";
}
.Popup-block{
	width: 100%;
	max-width: calc(37.5rem - (2.5rem * 2));
	padding: 5.5rem 3rem 3.8rem;
	border-radius: 4.6rem;
	background: #fff;
	text-align: center;
}
.Popup-block__logo{
	width: 10.8rem;
	margin-bottom: 2.2rem;
	margin-left: auto;
	margin-right: auto;
}
.Popup-block__logo img{
	width: 100%;
}
.Popup-block__title{
	font-size: 2.2rem;
	margin-bottom: 1.8rem;
	font-weight: 800;
	text-align: center;
}
.Popup-block__body{
	margin-bottom: 2.6rem;
}
.Popup-block__text{
	font-size: 1.5rem;
	line-height: 1.466666;
}
.Popup-block__text:not(:last-child){
	margin-bottom: 1.5rem;
}
.Popup-block__text span{
	font-weight: 800;
}
.Popup-block__subtext{
	font-size: 1.2rem;
	line-height: 1.25;
	color: #808080;
}
.Popup-button-wrap{
	width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.Popup-button{
	width: 11.5rem;
	height: 3.6rem;
	border-radius: 1.8rem;
	overflow: hidden;
	margin-left: auto;
	margin-right: auto;
}
.Popup-button button{
    appearance: none;
    border: none;
    border-radius: 0;
    font: inherit;
    outline: none;
}
.Popup-button__text{
	width: 100%;
	height: 100%;
	font-size: 1.5rem;
	background: #38516F;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .3s all ease-in-out;
	cursor: pointer;
}
.Popup-button__text:hover{
	opacity: .6;
}
.Popup-close{
	margin-top: 1.5rem;
	line-height: 1;
	color: #808080;
	display: inline-block;
	transition: .3s all ease-in-out;
}
.Popup-close:hover{
	opacity: .6;
}

/*----- 検索窓 */
.Search-panel button{
    appearance: none;
    background: transparent;
    border: none;
    border-radius: 0;
    font: inherit;
    outline: none;
}
.Search-panel{
	padding-top: 1.2rem;
	padding-bottom: 1.2rem;
}
.Search-panel__inner{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.Search-panel__field{
	width: calc(100% - 7rem);
	height: 3.8rem;
	border-radius: 1.9rem;
	background: #fff;
	position: relative;
}
.Search-panel__field::before{
	width: 1.5rem;
	height: 1.5rem;
	left: 1.2rem;
	top: calc(50% - .75rem);
	position: absolute;
	background-image: url(../images/common/icon_search-gray.svg);
	display: block;
	content: "";
}
.Search-panel__field input[type="text"],
.Search-panel__field__text{
	width: 100%;
	height: 100%;
	padding: .5rem 5rem .5rem 3.5rem;
	font-size: 1.2rem;
	border-radius: 50rem;
	border: none;
}
.Search-panel__field__text{
	line-height: 2.8rem;
	display: block;
	color: #808080;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
/* .Search-panel__field input[type="text"]::placeholder{
	color: #989898;
}
.Search-panel__field input[type="text"]:-ms-input-placeholder{
	color: #989898;
} */
.Search-panel__cancel{
	width: 7rem;
	font-size: 1.2rem;
	text-align: right;
	color: #808080;
	cursor: pointer;
	transition: .3s all ease-in-out;
}
.Search-panel__cancel:hover{
	opacity: .6;
}
.Search-panel__close{
	width: 1.9rem;
	height: 1.9rem;
	right: 1.2rem;
	top: calc(50% - .95rem);
	cursor: pointer;
	position: absolute;
	background: url(../images/common/icon_close.svg);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	display: block;
	transition: .3s all ease-in-out;
}
.Search-panel__close:hover{
	opacity: .6;
}


/*-------------------------------
	PC専用
-------------------------------*/
@media screen and (max-width:1366px) , print{

	.wrap1210::before{
		left: calc((50% - (100vw / 2)) + 2vw);
		width: 24.4vw;
		height: 16.6vw;
		background-size: contain;
	}
	.wrap1210::after{
		right: calc((50% - (100vw / 2)) + 2vw);
		width: 24.4vw;
		height: 16.4vw;
		background-size: contain;
	}
	.global-nav__inner--left{
		padding-left: 4.7vw;
		padding-right: 1.46vw;
	}
	.global-nav__inner--right{
		padding-right: 4.7vw;
		padding-left: 1.46vw;
	}
	.global-nav-left__logo{
		max-width: 20vw;
		margin-bottom: 3vw;
	}
	.global-nav-list{
		margin-bottom: 3vw;
	}
	.global-nav-list__item:not(:last-child){
		margin-bottom: 2vw;
	}
	.global-nav-list__item:hover::before{
		width: .58vw;
		height: .58vw;
		top: calc(50% - .29vw);
		left: 1.46vw;
	}
	.global-nav-list__item a{
		font-size: 1.09vw;
	}
	.global-nav-left-button{
		max-width: 15.7vw;
	}
	.global-nav-left-button a{
		height: 2.2vw;
		border-radius: 1.1vw;
		font-size: 1.09vw;
	}
	.global-nav-left-button a::before{
		width: 1.68vw;
		height: 1.09vw;
		margin-right: .6vw;
	}
	.global-nav-banner{
		max-width: 22.4vw;
	}
	.global-nav-banner a::before{
		height: 6.58vw;
		border-radius: 1.8vw;
	}

	.footer-copyright{
		font-size: .73vw;
	}
	.footer__inner .gotop{
		font-size: .73vw;
	}
	.footer__inner .gotop a::before{
		width: .73vw;
		height: .73vw;
		margin-right: .36vw;
		left: -1.09vw;
	}
}
/* @media screen and (max-width:1290px) , print{

	.global-nav__inner--left{
		padding-left: 6.4rem;
	}
	.global-nav__inner--right{
		padding-right: 6.4rem;
	}
} */
@media screen and (min-width:769px) , print{

	a[href^="tel:"]{
		pointer-events: none;
	}

}


/*-------------------------------
	タブレット
-------------------------------*/
@media screen and (max-width:1180px) , print{

	/*-------------------------------
		フッター
	-------------------------------*/
	
	.footer{
		display: none;
	}

}
@media screen and (max-width:1023px) , print{

	/* .main{
		margin-top: 2rem;
	} */

	.wrap1210::before,
	.wrap1210::after{
		display: none;
	}
	.wrap1210__inner::before{
		display: none;
	}
	.global-nav{
		display: none;
	}
	
	/*-------------------------------
		ヘッダー
	-------------------------------*/
	
	.header{
		display: block;
	}
	body.end .header{
		display: none;
	}
	
}

/*-------------------------------
	SP専用
-------------------------------*/
@media screen and (max-width:500px) , print{

	/* 14px 1.4rem; */
	/*-------------------------------
		基本設定
	-------------------------------*/

	html{
		font-size: 2.666666vw;
	}
	body::before{
		display: none;
	}

	/*----- コンテンツ */
	.fullwidth{
		max-width: 100%;
		padding-left: 2rem;
		padding-right: 2rem;
	}
	.maxwidth2{
		max-width: 100%;
		padding-left: 2rem;
		padding-right: 2rem;
	}
	.maxwidth3{
		max-width: 100%;
		padding-left: 2rem;
		padding-right: 2rem;
	}
	.maxwidth4{
		max-width: 100%;
		padding-left: 2rem;
		padding-right: 2rem;
	}
	.main{
		box-shadow: none;
	}
	.wrap1210{
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
	}


	
	/*-------------------------------
		ヘッダー
	-------------------------------*/

	.header{
		max-width: 100%;
		/* width: calc(100% - (2rem * 2)); */
		width: 100%;
		border-radius: 0;
		top: 0;
		display: block;
	}

	/*-------------------------------
		パーツ
	-------------------------------*/

	/*----- 検索窓 */
	.Search-panel__field input[type="text"]{
		font-size: 1.6rem;
	}

}