/* CSS Document */

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

html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul,li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed,figure, figcaption, footer, header, hgroup,menu, nav, output, ruby, section, summary,time, mark, audio, video {	margin: 0;	padding: 0;	border: 0;	font-style:normal;    /*font-weight: normal;*/	font-size: 100%;	vertical-align: baseline;}
article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section { display: block;}
blockquote, q {	quotes: none;}
blockquote:before, blockquote:after,q:before, q:after {	content: ''; content: none;}
input, textarea{ margin: 0;}
ol, ul{ list-style:none;}
table{ border-collapse: collapse; border-spacing:0;}
caption, th{ text-align: left;}
a:focus { outline:none;}
.clearfix:after { content: "."; display: block;	clear: both; height: 0;	visibility: hidden;}
.clearfix {	min-height: 1px;}
* html .clearfix {
	height: 1px;
	/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/
}

html { overflow-y: scroll;	font-size: 62.5%;scroll-behavior: smooth;}
img { vertical-align: bottom;}
video { vertical-align: bottom;}
a {  color: #333;text-decoration: none;}
a:hover,
button:hover { cursor: pointer;transition: .2s; opacity: 0.6;}

body {
	color: #000;
	font-family:"Noto Sans JP", sans-serif;
	font-size: 1.0rem;
	line-height: 1.6;
    font-weight: 300;
    text-align:justify;
    display: flex;
  	flex-direction:column;
 	min-height: 100vh;
    position: relative;
}
img { max-width: 100%; height: auto;}
main { flex: 1;}

@media print, screen and (min-width: 600px){
    body { min-width: 1260px; letter-spacing: 0.08em; }
    main { padding-top: 140px;}
}
@media screen and (max-width: 599px) {
    body { letter-spacing: 0.05em;}
    main { padding-top: 48px;}
}

/* ヘッダー
----------------------------------------------------------- */
header { position: fixed; background: rgba(0,0,0,1); width: 100%; z-index: 1000; font-family: 'Hind', sans-serif;font-weight: 500;font-size: 1.4rem;}
header #logo_area,
header #hd_login_btn,
header #hd_language,
header #member_icon { position: absolute;top: 50%;transform: translateY(-50%);}
header #logo_area { width: 112px; height: 36px; left: 50%;transform:translateY(-50%) translateX(-50%); }
header #hd_login_btn {height: 36px;right: 160px;}
header #hd_login_btn a {display: inline-block;color: #fff;border: 1px solid #fff;border-radius: 2px;line-height: 30px;width: 75px; text-align: center;}
header #hd_language {color: #fff;display: flex;right: 60px;}
header #hd_language li::after { content: "/";padding: 0 5px;}
header #hd_language li:last-child::after { content: "";}
header #hd_language a { color: #fff;}

header #member_icon { font-family: 'Hind', sans-serif;font-weight: 500;font-size: 1.6rem; right: 60px; }
header #member_icon .Premium { color: #D3C34E; }
header #member_icon a { color: #fff; display: flex;justify-content: space-between;align-items: center; width: 115px;}
header #hd_logout_btn { display: block; padding-top: 15px;}
header #member_icon #hd_logout_btn a {display: block;color: #fff;border: 1px solid #fff;border-radius: 2px;line-height: 30px;width: 75px; text-align: center;margin: 0 auto;}
@media screen and (max-width: 599px) {
    header #hd_logout_btn { display: block; padding-top: 10px;}
    header #member_icon #hd_logout_btn a {line-height: 16px;width: 50px;}
}

/*Login前*/
#login header { background: rgba(0,0,0,0.60);}
#login header #logo_area { left: 55px; transform: translateY(-50%) translateX(0%) ;}
/*Loginフォーム*/
#login_form main { padding-top: 0;}
#login_form header { background:#fff; position: inherit;}
#login_form header #hd_language {color: #000;}
#login_form header #hd_language a {color: #000;}

#g_nav {}
#g_nav a { color: #fff;}
#g_nav > ul { width: 530px; display: none;padding: 30px 100px 60px;box-sizing: border-box; background: #000;color: #fff;position: absolute;top: 140px; left: 0;border-bottom-right-radius: 37px;z-index: 9999;overflow-y: auto;scrollbar-width: none;-ms-overflow-style: none;}
#g_nav > ul::-webkit-scrollbar{ display:none;}
#g_nav > p.open + ul { display: block; height:calc(100vh - 140px);}
#g_nav > ul > li { font-size: 2.2rem;font-family: 'Playfair Display', serif;line-height: 64px;letter-spacing: 0.1em; padding: 0 15px;}
#g_nav > ul > li > a {display: block;}
#g_nav > ul > li > span {display: block;border-top: 1px solid #fff;margin-top: 50px;padding: 50px 0 30px;}
#g_nav > ul > li > ul { display: flex;flex-wrap: wrap;}
#g_nav > ul > li > ul > li {font-family:"Noto Sans JP", sans-serif; font-size: 1.8rem; width: 50%;}
#g_nav > ul > li > ul > li > a { line-height: 24px;}
#g_nav ul li.hd_entry { border-bottom: none;text-align: center;padding:10px 0 20px;}
#g_nav ul li.hd_entry a { display: inline-block; background: #EC7031;color: #fff;font-weight: 500;font-size: 1.6rem;line-height: 50px;padding: 0 30px 0 55px;border-radius:25px;position: relative; }
#g_nav ul li.hd_entry a span { display: block;background: #fff;color: #EC7031; width: 36px;line-height: 36px;border-radius: 50%; text-align: center;font-size: 1.2rem;position: absolute;top: 7px; left: 7px;}
#g_nav > ul > li.logout { border-top: 1px solid #fff;margin-top: 30px;padding: 30px 0 10px;}
#g_nav > ul > li.logout a {isplay: block;color: #fff;border: 1px solid #fff;border-radius: 2px;line-height: 30px;width: 75px; text-align: center;margin: 0 auto;font-family: 'Hind', sans-serif;font-weight: 500;font-size: 1.4rem;letter-spacing: 0;}


/* ハンバーガーボタン */
#g_nav > p { position: absolute; cursor: pointer; width: 55px; height:10px; left: 55px; top: 65px;}

/* ハンバーガーメニューの線を定義 */
#g_nav > p span { display: inline-block; position: absolute; height:1px; width: 100%; background: #fff; left: 0;top:0;transition-duration:.2s }
#g_nav > p span::after { content: ""; position: absolute;height:1px; width:100%; background: #fff;transition-duration:.2s;top: 10px;}
#g_nav > p.open span { background: #aaa;transform: rotate(-15deg);top: 10px;}
#g_nav > p.open span::after { background: #aaa;transform: rotate(30deg);top: 0;}

@media print, screen and (min-width: 600px){
    header { min-width: 1260px; height: 140px; }
    .remodal-is-locked header { overflow-y: scroll;}
}

@media screen and (max-width: 599px) {
    header { box-sizing: border-box;height: 48px; font-size: 1rem; }
    header #logo_area { width: 65px; height: 21px; }
    header #hd_login_btn {height: 23px;right: 80px;}
    header #hd_login_btn a {line-height: 23px;width: 58px; text-align: center;}
    header #hd_language {right: 15px;}
    
    header #member_icon { font-size: 1rem; right: 20px; }
    header #member_icon img { width: 20px;}
    header #member_icon a { width: 65px;}

    #login header #logo_area { left: 20px;}
    #g_nav > ul { width: 265px;padding: 30px;top: 48px; left: 0;border-bottom-right-radius: 37px;}
    #g_nav > p.open + ul { height:calc(100vh - 48px);}
    #g_nav > ul > li { font-size: 1.4rem;line-height: 3;}
    #g_nav > ul > li > span {margin-top: 30px;padding: 30px 0 20px;}
    #g_nav > ul > li > ul > li { font-size: 1.2rem;}
    #g_nav > p { width: 33px; left: 20px; top: 20px;}
    #g_nav > p span::after { top: 7px;}
    #g_nav > p.open span {top: 5px;}
    #g_nav > p.open span::after { top: -5px0;}
}


/* フッター
----------------------------------------------------------- */
footer { }

#ft_contact_area { padding-top: 160px; text-align: center; margin-bottom: 240px;}
#ft_contact_area h2 { font-size: 1.8rem;letter-spacing: 0.1em;margin-bottom: 30px;font-weight: 500;}
#ft_contact_area p {font-size: 1.6rem;line-height: 2; letter-spacing: 0.1em;padding-bottom: 70px;}
#ft_contact_area ul { display: flex;justify-content: center;}
#ft_contact_area ul li { text-align: center;width: 140px;}
#ft_contact_area ul li dl { width: 105px; margin: 0 auto;}
#ft_contact_area ul li dt { height: 65px;}
#ft_contact_area ul li dd { width: 105px; height: 105px; margin: 0 auto;border:  1px solid #000;}

#ft_contents { background: #000;padding: 100px 0;}
#ft_logo { text-align: center;margin-bottom: 55px;}
#ft_sns {margin-bottom: 55px;display: flex;justify-content: center;}
#ft_sns li { margin: 0 10px;}
footer nav { text-align: center;line-height: 40px;}
footer nav a { color: #fff;font-size: 1.4rem;}

@media screen and (max-width: 599px) {
    #ft_contact_area { padding-top: 70px; margin-bottom: 120px;}
    #ft_contact_area h2 { font-size: 1.2rem;margin-bottom: 15px;}
    #ft_contact_area p {font-size: 1.1rem;padding-bottom: 25px;}
    #ft_contact_area ul li { text-align: center;width: 60px;}
    #ft_contact_area ul li dl { width: 60px; margin: 0 auto;}
    #ft_contact_area ul li dt { height: 40px;}
    #ft_contact_area ul li dt img { width: 30px;}
    #ft_contact_area ul li dd { width: 48px; height: 48px; margin: 0 auto; box-sizing: border-box;}
    
    #ft_contents { padding: 50px 0; }
    #ft_logo { margin-bottom: 35px;}
    #ft_logo img { width: 45px;}
    #ft_sns { margin-bottom: 30px; }
    #ft_sns li img { width: 35px;}
    footer nav { line-height: 24px;}
    footer nav a { font-size: 1rem;}
}

/* コンテンツ
----------------------------------------------------------- */
.content860 { width: 860px; margin-left: auto;margin-right: auto;box-sizing: border-box;}
.content470 { width: 470px; margin-left: auto;margin-right: auto;box-sizing: border-box;}
.anchor_box { padding-top: 150px;margin-top: -150px;}
@media screen and (max-width: 599px) {
    .content860,
    .content470 { width: 100%; margin: 0 15px; width: calc(100% - 30px);}
    .anchor_box { padding-top: 60px;margin-top: -60px;}

}



/*パンくず*/
#breadcrumb { border-bottom: 1px solid #DDD;}
#breadcrumb br { display: none;}
#breadcrumb ul { font-size: 1.2rem;display: flex;flex-wrap: wrap; overflow-x: scroll;word-break: keep-all;white-space: nowrap;line-height: 1.4;position: relative;padding: 15px 0 10px;}
#breadcrumb ul::-webkit-scrollbar { display: none; }
#breadcrumb ul a { text-decoration: underline;}
#breadcrumb ul a:hover { text-decoration: none;}
#breadcrumb ul li { padding-bottom: 5px;}
#breadcrumb ul li::after { content: "＞";padding: 0 10px;font-size: 1rem;}
#breadcrumb ul li:last-of-type::after {display: none;}
#breadcrumb em { padding-right: 10px;}
@media screen and (max-width: 599px) {
    #breadcrumb { display: none; }
}



@media screen and (max-width: 599px) {
    #regist_main_top { padding-top: 30px;}
    .anchor_box { padding-top: 70px;margin-top: -70px;}
    #regist_main_bottom,.regist_main_bottom { margin-bottom: 60px;}
    #regist_main_bottom h2 { margin-bottom: 20px;font-size: 1.8rem;}
    .regist_tel dl { margin-right: 0;margin-bottom: 20px;}
    .regist_tel dl dt {font-size: 1.4rem;}
    .regist_tel dl dt span { font-size: 1.2rem;}
    .regist_tel dl dt strong { display: block;}
    .regist_tel dl dd img { width: 60px;}
    .regist_tel dl dd em { font-size: 3.9rem;}
}

/*リンクパターン*/
.u_line_link { text-decoration: underline;}
.u_line_link:hover { text-decoration: none;}



/*ボタン*/
.btn_more { text-align: center;font-family: 'Hind', sans-serif;font-size: 1.4rem;font-weight: 500;}
.btn_more a { display: inline-block;width: 200px;line-height: 55px;letter-spacing: 0.1em;background: #fff; border: 1px solid #000;box-sizing: border-box;padding-right: 50px;position: relative;}
.btn_more a.width_free { width: auto;padding:0 70px 0 30px;}
.btn_more a::before,
.btn_more a::after { position: absolute;content: "";display: block;background: #000;}
.btn_more a::before { width: 25px;height: 1px;top: 50%;right: 40px;}
.btn_more a::after { width: 8px;height: 1px;transform: rotate(30deg);top: 50%;margin-top: -2px; right: 40px;}
.btn_more a:hover { background: #000;color: #fff;opacity: 1;}
.btn_more a:hover::before,
.btn_more a:hover::after { background: #fff;}
.btn_flex { display: flex; justify-content: center;}
.btn_flex li { margin: 0 25px;}
.btn_flex li a { width: 150px;border-radius: 3px;}
.entry_premium h2 { text-align: center;font-size: 1.8rem;margin-bottom: 25px;font-weight: 500;letter-spacing: 0.15rem}
.entry_premium .btn_more a { background: #D3C34E;border-color:#D3C34E;}
.entry_premium .btn_more a:hover { background: #000;border-color:#000;}
@media screen and (max-width: 599px) {
    .btn_more {font-size: 1rem;}
    .btn_more a { width: 120px;line-height: 32px;padding-right: 25px;}
    .btn_more a.width_free { width: auto;padding:0 40px 0 15px;}
    .btn_more a::before { width: 18px;height: 1px;top: 50%;right: 10px;}
    .btn_more a::after { width: 6px;margin-top: -2px; right: 10px;}
    .entry_premium h2 { font-size: 1.1rem;}
    .btn_flex li { margin: 0 15px;}
    .btn_flex li a { width: 100px;}

}
.btn_area {text-align: center; padding-bottom: 40px;}
.btn_area li { margin-bottom: 40px;}
.btn_area li:last-of-type { margin-bottom: 0;}
.ac_btn { display: inline-block;width: 200px; line-height: 55px;text-align: center;border-radius: 3px;font-size: 1.4rem;font-weight: 500;letter-spacing: 0.1em;}
.btn_gray { background: #EBEBEB;border: 1px solid #EBEBEB;}
.btn_white { background: #fff; border: 1px solid #000;}
.btn_gold { background: #B4B47B;border: 1px solid #B4B47B; color: #fff;}
.ac_btn:hover { background: #000;border-color:#000;opacity: 1;color: #fff;}
@media screen and (max-width: 599px) {
    .btn_area { padding-bottom: 20px;}
    .ac_btn { width: 120px;line-height: 32px;font-size: 1.2rem;}
    .btn_area li { margin-bottom: 20px;}
}


/*TOPに戻る*/
#toTop { position: fixed; right: 50px; bottom: 60px; cursor: pointer;width: 30px; height: 100px;font-size: 1.4rem;color: #000;letter-spacing: 0.2em;font-weight: 500;}
#toTop p { display: block; width: 100%; height: 100%; position: relative;box-sizing: border-box;padding-top: 25px; }
#toTop p::before,#toTop p::after {content: ''; width: 20px; height: 20px; border-top: solid 1px #000;  position: absolute; }
#toTop p::before {left: 7px; top: 0px; transform: rotate(-50deg);}
#toTop p::after {left: 5px; top: 0px; transform: rotate(50deg);}
@media screen and (max-width: 599px) {
    #toTop { right: 10px; bottom: 20px; font-size: 1rem;width: 20px; height: 60px; }
    #toTop p { padding-top: 15px;}
    #toTop p::before,#toTop p::after { width: 10px; height: 10px;}
    #toTop p::after { left: 6px;}
}



/*その他*/
@media print, screen and (min-width: 600px){
    .sp_only { display: none;}
}
@media screen and (max-width: 599px) {
    .pc_only { display: none;}
}

.ff_hind {font-family: 'Hind', sans-serif;}
.ff_Display {font-family: 'Playfair Display', serif;}
.text_b { font-weight: bold;color: #DE0000;}
.nomal_list { padding-left: 30px; list-style: disc;}
.nomal_list li { margin-bottom: 10px;}
.number_list { padding-left: 30px; list-style: decimal;}
.number_list li { margin-bottom: 10px;}
.t_align_r { text-align: right;}
.t_align_c { text-align: center;}
.mgB10 { margin-bottom: 10px !important;}
.mgB30 { margin-bottom: 30px !important;}
.mgB40 { margin-bottom: 40px !important;}
.mgB50 { margin-bottom: 50px !important;}
.mgB80 { margin-bottom: 80px !important;}
.mgB120 { margin-bottom: 120px !important;}
.mgT60 { margin-top: 60px !important;}
.pdB10 { padding-bottom: 10px !important;}
.pdB15 { padding-bottom: 15px !important;}
.pdT20 { padding-top: 20px !important;}
.pdT60 { padding-top: 60px !important;}
.fs14 { font-size: 1.4rem;}
.fs18 { font-size: 1.8rem;}
.fs20 { font-size: 2rem;}
@media screen and (max-width: 599px) {
    .pdT20 { padding-top: 15px !important;}
    .pdT60 { padding-top: 30px !important;}
    .mgB30 { margin-bottom: 20px !important;}
    .mgB40 { margin-bottom: 25px !important;}
    .mgB50 { margin-bottom: 30px !important;}
    .mgB80 { margin-bottom: 60px !important;}
    .mgB120 { margin-bottom: 80px !important;}
    .mgT60 { margin-top: 30px !important;}
    .fs14 { font-size: 1.1rem;}
    .fs18 { font-size: 1.6rem;}
    .fs20 { font-size: 1.8rem;}

}
.element {opacity: 0;}
.is-fadein { animation: fadein 1s ease-out forwards;}

@keyframes fadein {
  0% { opacity: 0 }
  100% { opacity: 1 }
}



