@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900?family=Montserrat:wght@100..900&display=swap');
@import url("https://use.typekit.net/oid8lyh.css");

/* CSS Document */
*{ margin:0; padding:0; box-sizing:border-box; word-break:break-all;}
div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;}
ul,ol{ list-style:none;}
html,body {
margin:0 auto;
padding:0;
font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;
font-size:20px;
font-weight: 500;
text-align:left;
color:#313131;
background: #fff;
min-width:1080px;
}
@media screen and (max-width:768px){
html,body{ font-size:4.5vw; min-width:240px; max-width:768px; overflow-x: hidden;}
}

/*img*/
img{ border-style:none; vertical-align:bottom; padding:0; line-height:0em; max-width:100%; height:auto;}
figure{margin:0 auto; text-align:center;}

/*youtube*/
.youtube{ position:relative; width:100%; padding-top:56.25% !important;}
.youtube iframe{ position: absolute; top:0; right:0; width:100% !important; height:100% !important;}

/*txt*/
.montserrat{ font-family: "gf_Montserrat variant0", sans-serif;}
.din{ font-family: "din-2014-narrow", sans-serif;}
p{ line-height:1.75em; margin:0 0 1em; padding:0;}
p:last-child{ margin:0;}
strong{ font-weight:bold;}
.bold { font-weight:bold;}
.normal{ font-weight:normal;}
.under_line{ text-decoration:underline;}
.line_through{ text-decoration:line-through;}

.white{ color:#fff;}
.black{ color:#333;}
.gy{ color:#aaa;}
.red{ color:#c83232;}
.blue{ color:#326496;}
.bg_y{ background: linear-gradient(to bottom, rgba(247,230,155,0) 0%, rgba(247,230,155,0) 66%, rgba(247,230,155,1) 67%, rgba(247,230,155,1) 100%);}

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

/*link*/
a{ color:inherit; text-decoration:none;}
a:hover{}
.opa{ transition: opacity 0.3s;}
.opa:hover{ opacity: 0.7;}
@media screen and (max-width:768px){
.opa:hover{ opacity: 1.0;}
}



/*ヘッダー*/
#header{ display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #dddee0; padding: 0 0 0 40px;}
#header #h_logo img{ height: 37px;}
#header #h_tel a.pc{ display: flex; background: #ff4c29; transition: 0.3s;}
#header #h_tel a.pc dl{ display: flex;}
#header #h_tel a.pc dl dt{ display: flex; align-items: center; justify-content: center; border-right: 1px solid #fff; width: 84px; height: 84px;}
#header #h_tel a.pc dl dt img{ height: 41px;}
#header #h_tel a.pc dl dd{ display: flex; align-items: center; justify-content: center; flex-direction: column; color: #fff; padding: 0 30px;}
#header #h_tel a.pc dl dd span{ font-size: 0.8rem; letter-spacing: 0.05em; line-height: 1em; margin-bottom: 0.25em;}
#header #h_tel a.pc dl dd strong{ font-size: 1.6rem; letter-spacing: 0.02em; line-height: 1em;}
@media screen and (max-width:768px){
#header{ padding: 0 0 0 2.5vw;}
#header #h_logo img{ height: 6.25vw;}
#header #h_tel a.sp img{ height: 13.75vw;}
}



/*フッター*/
#jpx{ background: #fff; padding: 15px 0;}
#jpx dl{ display: flex; align-items: center; justify-content: center;}
#jpx dl dt img{ width: 40px;}
#jpx dl dd{ margin-left: 30px;}
#jpx dl dd p{ font-size: 0.6rem; line-height: 1.5em;}
@media screen and (max-width:768px){
#jpx{ padding: 5% 0;}
#jpx dl dt img{ width: 8.75vw;}
#jpx dl dd{ margin-left: 3.75%;}
#jpx dl dd p{ font-size: 0.75rem;}
}

.notice_for_ai{ background: #242424; color: #fff; padding: 1em; font-size: 0.7rem; text-align: center;}
.notice_for_ai p{ line-height: 1.5em;}
footer{ background: #000; color: #fff; padding: 40px 0 80px; text-align: center; border-bottom: 70px solid #fff9e4;}
footer ul{ display: flex; align-items: center; justify-content: center; font-size: 0.5rem;}
footer ul li:not(:last-child):after{ content: "／"; margin: 0 1em;}
footer ul li a:hover{ text-decoration: underline;}
footer figure.logo{ margin: 30px auto;}
footer figure.logo img{ width: 100px;}
footer p{ font-size: 0.55rem;}
footer p.copyright{ margin-top: 30px;}
@media screen and (max-width:768px){
.notice_for_ai{ padding: 1em; font-size: 0.7rem;}
footer{ padding: 10% 0 15%;}
footer ul{ font-size: 0.6rem;}
footer figure.logo{ margin: 7.5% auto 7.5%;}
footer figure.logo img{ width: 33.33%;}
footer p{ font-size: 0.7rem;}
footer p.copyright{ margin-top: 10%;}
}





@media print, screen and (min-width:769px){
.sp{ display:none !important;}
}
@media screen and (max-width:768px){
.pc{ display:none !important;}
}
