@charset "utf-8";
@import url("https://use.typekit.net/mdt0dpe.css");
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap');

/* 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:YakuHanJP, "Noto Serif", "Noto Serif JP", "Noto Sans", "Noto Sans JP", YuGothic, "游ゴシック体", Meiryo, 'メイリオ', sans-serif;
font-size:20px;
text-align:left;
font-size-adjust: none;
text-size-adjust: 100%;
-webkit-text-size-adjust:100%;
tap-highlight-color:transparent;
-webkit-tap-highlight-color:transparent;
line-height:1;
letter-spacing: 0.05em;
color:#000;
font-weight: 400;
min-width:1000px;
}
@media screen and (max-width:768px){
html,body{ font-size:4.2vw; min-width:240px; max-width:768px;}
}

/*img*/
img{ border-style:none; vertical-align:bottom; padding:0; line-height:0; 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*/
p{ font-size: 0.8rem; line-height:2.5em; text-align: justify; margin:0 0 1em; padding:0;}
p:last-child{ margin:0;}
strong{ font-weight:400;}
.under_line{ text-decoration:underline;}
.line_through{ text-decoration:line-through;}

.manrope{ font-family: "Manrope", sans-serif;}
.classico{ font-family: "classico-urw", sans-serif;}

.white{ color:#fff;}
.black{ color:#333;}
.gy{ color:#aaa;}

.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;}



/*ヘッダー*/
header{ position: absolute; left: 0; right: 0; top: 0; z-index: 99; width: 100%; min-width: 1000px; margin: auto; display: flex; align-items: center; justify-content: flex-end; padding: 30px 20px; transition: 0.3s; pointer-events: none;}
header h1{ display: flex; flex-direction: column;}
header h1 strong{ font-size: 1rem; line-height: 1em;}
header h1 span{ font-size: 0.6rem; line-height: 1em; margin-top: 0.5em;}
.home header h1{ color: #fff;}
header nav{ display: flex; align-items: center; justify-content: space-between; width: 100%;}
header nav ul{ display: flex; align-items: flex-start; justify-content: center; pointer-events: all;}
header nav ul li{ font-size: 0.8rem; letter-spacing: 0; margin: 0 1em;}
header nav ul li a{ color: #000; position: relative; transition: 0.3s;}
.home header nav ul li a{ color: #fff;}
header nav ul li a:hover{ opacity: 0.7;}
header nav ul li a{ display: flex; flex-direction: column-reverse;}
header nav ul li a span{ /*-ms-writing-mode: tb-rl; writing-mode: vertical-rl;*/ font-size: 0.5rem; letter-spacing: 0; margin-bottom: 0.5em;}
header nav ul li a strong{ /*-ms-writing-mode: tb-rl; writing-mode: vertical-rl;*/ font-weight: 400;}
/*
header nav ul li a:after{ content: ""; width: 0; height: 1px; background: #fff; position: absolute; left: 0; right: 0; bottom: 0; margin: auto; transition: 0.3s;}
header nav ul li a:hover:after{ width: 100%;}
header.scroll{ background: rgba(255,255,255,0.7);}
header.scroll nav ul li a{ color: #000;}
header.scroll nav ul li a:after{ background: #000;}
*/
@media print, screen and (min-width:769px){
header nav{ display: flex !important; opacity: 1.0 !important; height: auto !important;}
}
@media screen and (max-width:768px){
header{ position: fixed; min-width: 100%; padding: 0; pointer-events: all;}
header.scroll{ background: none;}
header h1{ width: 92.5%; text-align: center; padding-bottom: 5%; margin-bottom: 3.75%; border-bottom: 1px solid #000;}
header h1 strong{ font-size: 1.2rem;}
header h1 span{ font-size: 0.7rem;}
.home header h1{ color: #000;}
header nav{ display: none; width: 100%; height: 100%; min-height: 100dvh;}
header nav{ /*display: flex;*/ flex-direction: column; align-items: center; justify-content: center; background: rgba(255,255,255,0.96);}
header nav ul{ flex-direction: column; align-items: center; justify-content: center; width: 75%;}
header nav ul li{ font-size: 1rem; letter-spacing: 0.1em; width: 100%; text-align: center; margin: 3.75% auto;}
header nav ul li a{ color: #000; flex-direction: column-reverse;}
.home header nav ul li a{ color: #000;}
header nav ul li a:after{ display: none;}
header nav ul li a span{ -ms-writing-mode: horizontal-tb; writing-mode: horizontal-tb; font-size: 0.6rem; margin: 0 0 0.5em;}
header nav ul li a strong{ -ms-writing-mode:horizontal-tb; writing-mode: horizontal-tb;}
}

@media print, screen and (min-width:769px){
#smp_nav_btn{ display: none !important;}
}
@media screen and (max-width:768px){
#smp_nav_btn{ display: flex; align-items: flex-end; justify-content: center; background: #fff; padding: 0; width: 10vw; height: 10vw; border-radius: 50%; position: fixed; right:3.75vw; bottom: 3.75vw; z-index:999; transition:0.3s; cursor:pointer; box-shadow:rgba(0, 0, 0, 0.1) 0 0 10px 2px;}
#smp_nav_btn span{ display:block; height:1px; width:6.25vw; background:none; position:absolute; left:0; right:0; top: 50%; transform: translateY(-50%); margin:auto; transition:0.3s;}
#smp_nav_btn span:before{ content: ""; display:block; height:2px; width:100%; background:#000; position:absolute; bottom:1.25vw; transition:0.3s;}
#smp_nav_btn span:after{ content: ""; display:block; height:2px; width:100%; background:#000; position:absolute; top:1.25vw; transition:0.3s;}
#smp_nav_btn.active span{ background:rgba(255,255,255,0);}
#smp_nav_btn.active span:before{ bottom:0; transform: rotate(45deg);}
#smp_nav_btn.active span:after{ top:0; transform: rotate(-45deg);}
}

/*フッター*/
footer{ background: #000; color: #fff; padding: 60px 30px; position: relative;}
footer #pagetop{ position: absolute; right: 60px; top: -30px; background: #fff; border-radius: 50%;}
footer #pagetop a{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; width: 60px; height: 60px; background: #fff; color: #000; font-size: 0.6rem; border-radius: 50%; box-shadow:rgba(0, 0, 0, 0.1) 0 0 5px 2px;}
footer dl{ display: flex; align-items: center; justify-content: space-between;}
footer nav ul{ display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start;}
footer nav ul:nth-child(2){ margin-top: 1em;}
footer nav ul li{ /*-ms-writing-mode: tb-rl; writing-mode: vertical-rl;*/ font-size: 0.8rem; letter-spacing: 0.1em; margin: 0 1em;}
footer nav ul li a{ transition: 0.3s;}
footer nav ul li a:hover{ opacity: 0.7;}
footer p.copyright{ text-align: right; font-size: 0.6rem; line-height: 1em;}
footer p.copyright a{ display: inline-block; margin-top: 1em; text-decoration: underline;}
footer p.copyright a:hover{ text-decoration: none;}
@media screen and (max-width:768px){
footer{ padding: 10% 0;}
footer #pagetop{ right: 3.75vw; top: -6.25vw;}
footer #pagetop a{ width: 12.5vw; height: 12.5vw;}
footer dl{ display: block;}
footer dl dd{ margin-top: 10%;}
footer nav ul{ margin: -1em 3.75%;}
footer nav ul li{ font-size: 0.75rem; width: 25%; margin: 0.75em 0; text-align: center;}
footer nav ul:nth-child(2){ margin: 10% 3.75%; padding: 2.5% 0; border-top: 1px dotted #fff; border-bottom: 1px dotted #fff;}
footer nav ul:nth-child(2) li{ width: 50%;}
footer p.copyright{ text-align: center; font-size: 0.6rem; margin-top: 10%;}
}

/*メイン*/
#content{ overflow:hidden;}
section{ width:100%; margin:0 auto;}
.maincontent{ padding:0; margin:0 auto; width:1000px;}
@media screen and (max-width:768px){
.maincontent{ padding:0; margin:0 auto; width:92.5%;}
}

/*tit*/
h1,h2,h3,h4,h5,h6{ font-weight: 400; line-height: 1.5em; letter-spacing: 0.1em;}
h2.tit_h2{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; margin-bottom: 40px;}
h2.tit_h2 strong{ font-size: 2rem; line-height: 1.5em;}
h2.tit_h2 span{ font-size: 0.8rem; line-height: 1.5em; margin-top: 0.5em;}
h3.tit_h3{ font-size: 1.2rem; margin: 80px 0 40px; border-bottom: 1px solid #000; padding-bottom: 0.25em;}
@media screen and (max-width:768px){
h2.tit_h2{ margin-bottom: 7.5%;}
h2.tit_h2 strong{ font-size: 1.8rem;}
h2.tit_h2 span{ font-size: 0.8rem;}
h3.tit_h3{ font-size: 1rem; margin: 15% 0 5%;}
}

/*btn*/
figure.btn_more{ display: flex; align-items: center; justify-content: center; margin-top: 40px;}
figure.btn_more a{ display: flex; align-items: center; justify-content: center; background: #000; color: #fff; font-size: 0.8rem; line-height: 1em; padding: 1em 2em; transition: 0.3s;}
figure.btn_more a i{ margin-left: 0.5em; font-weight: 600;}
figure.btn_more a:hover{ opacity: 0.7;}
figure.btn_more2{ text-align: left; margin: 0;}
figure.btn_more2 a{ display: flex; align-items: center; font-size: 0.8rem; line-height: 1em;}
figure.btn_more2 a i{ margin-left: 0.5em; font-weight: 600; position: relative; left: 0; transition: 0.3s;}
figure.btn_more2 a:hover i{ left: 1em;}
@media screen and (max-width:768px){
figure.btn_more{ margin-top: 7.5%;}
figure.btn_more a{ font-size: 0.8rem;}
figure.btn_more2 a{ font-size: 0.8rem;}
}





/*home*/
/*mv*/
#mv{ padding-bottom: 30px;}
#mv ul li{ width: 100vw; height: 100vh; min-height: 750px; overflow: hidden;}
#mv ul li img{ width: 100%; height: 100%; object-fit: cover;}
@media screen and (max-width:768px){
#mv{ padding-bottom: 5vw;}
#mv ul li{ width: 100vw; height: 100vh; min-height: 150vw; overflow: hidden;}
#mv ul li img{ width: 100%; height: 100%; object-fit: cover;}
}

/*home_news*/
#home_news{ padding: 80px 0;}
@media screen and (max-width:768px){
#home_news{ padding: 15% 0;}
}

/*home_about*/
#home_about_tab{ background: url("../images/home/about_bg.jpg") center center no-repeat; background-size: cover; padding: 80px 0 0;}
#home_about_tab h2.tit_h2{ color: #fff; margin-bottom: 80px;}
#home_about_tab ul{ display: flex; align-items: center; justify-content: center;}
#home_about_tab ul li{ width: 240px; margin: 0 20px; display: flex; align-items: center; justify-content: center; padding: 1.5em 3em; font-size: 0.8rem; line-height: 1em; background: rgba(255,255,255,0.7); border-radius: 8px 8px 0 0; transition: 0.3s; cursor: pointer;}
#home_about_tab ul li.active,
#home_about_tab ul li:hover{ background: rgba(255,255,255,1);}
@media screen and (max-width:768px){
#home_about_tab{ padding: 25% 0 0;}
#home_about_tab h2.tit_h2{ margin-bottom: 25%;}
#home_about_tab ul li{ width: calc(25% - 3.75vw); margin: 0 1.875vw; padding: 1.5em 0.75em; font-size: 0.6rem;}
}

.home_about_cont{ display: none; padding: 80px 0;}
.home_about_cont.active{ display: block;}
.home_about_cont dl{ display: flex; justify-content: space-between;}
.home_about_cont dl dt{ width: 360px;}
.home_about_cont dl dd{ width: 600px;}
.home_about_cont dl dd h3{ font-size: 1.2rem; margin-bottom: 40px;}
.home_about_cont dl dd h4{ display: flex; flex-direction: column; margin-bottom: 20px;}
.home_about_cont dl dd h4 strong{ font-size: 1rem; line-height: 1.5em;}
.home_about_cont dl dd h4 span{ font-size: 0.8rem; line-height: 1.5em; margin-top: 0.5em;}
.home_about_cont dl dd p{ font-size: 0.8rem;}
.home_about_cont dl dd figure.btn_more{ justify-content: flex-start;}
@media screen and (max-width:768px){
.home_about_cont{ padding: 10% 0;}
.home_about_cont dl{ display: block;}
.home_about_cont dl dt{ width: 100%; margin-bottom: 7.5%;}
.home_about_cont dl dd{ width: 100%;}
.home_about_cont dl dd h3{ font-size: 1.2rem; margin-bottom: 7.5%;}
.home_about_cont dl dd h4{ margin-bottom: 5%;}
.home_about_cont dl dd h4 strong{ font-size: 1rem;}
.home_about_cont dl dd h4 span{ font-size: 0.8rem;}
.home_about_cont dl dd p{ font-size: 0.8rem;}
.home_about_cont dl dd figure.btn_more{ justify-content: center;}
}

/*home_service*/
#home_service{ padding: 80px 0 0; background: #efefef;}
#home_service_list{ position: relative; z-index: 1; overflow: hidden;}
#home_service ul{ display: flex;}
.home_service_bg{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; opacity: 0; transform: scale(2); transition: 0.3s;}
.home_service_bg.active{ opacity: 1.0; transform: scale(1);}
#home_service_bg01{ background: url("../images/home/service01.jpg") center center no-repeat; background-size: cover;}
#home_service_bg02{ background: url("../images/home/service02.jpg") center center no-repeat; background-size: cover;}
#home_service_bg03{ background: url("../images/home/service03.jpg") center center no-repeat; background-size: cover;}
#home_service_bg04{ background: url("../images/home/service04.jpg") center center no-repeat; background-size: cover;}
#home_service ul li{ display: flex; flex-direction: column; justify-content: flex-end; width: 25%; height: 480px; padding: 40px; border: 1px solid #fff; border-top: none; border-bottom: none; color: #fff; transition: 0.3s;}
#home_service ul li:first-child{ border-left: none;}
#home_service ul li:last-child{ border-right: none;}
#home_service ul li:hover{ background: rgba(0,0,0,0.7);}
#home_service ul li h3{ font-size: 1rem; margin-bottom: 10px;}
#home_service ul li p{ font-size: 0.8rem; margin-bottom: 20px;}
@media screen and (max-width:1280px){
#home_service .pc{ display: none !important;}
#home_service .smp{ display: block !important;}
#home_service ul{ display: block;}
.home_service_bg{ display: none !important;}
#home_service ul li{ width: 100%; height: 480px; padding: 40px; border: none; border-top: 1px solid #fff; border-bottom: 1px solid #fff; position: relative; z-index: 1;}
#home_service ul li:first-child{ border-top: none;}
#home_service ul li:last-child{ border-bottom: none;}
#home_service ul li:after{ content: ""; width: 100%; height: 100%; background: rgba(0,0,0,0.7); opacity: 0; position: absolute; left: 0; top: 0; z-index: -1; transition: 0.3s;}
#home_service ul li:hover:after{ opacity: 1.0;}
#home_service ul li.service01{ background: url("../images/home/service01_smp.jpg") center center no-repeat !important; background-size: cover !important;}
#home_service ul li.service02{ background: url("../images/home/service02_smp.jpg") center center no-repeat !important; background-size: cover !important;}
#home_service ul li.service03{ background: url("../images/home/service03_smp.jpg") center center no-repeat !important; background-size: cover !important;}
#home_service ul li.service04{ background: url("../images/home/service04_smp.jpg") center center no-repeat !important; background-size: cover !important;}
#home_service ul li h3{ font-size: 1rem; margin-bottom: 10px;}
#home_service ul li p{ font-size: 0.8rem; margin-bottom: 20px;}
}
@media screen and (max-width:768px){
#home_service ul li{ justify-content: center; height: 75vw; padding: 7.5%;}
#home_service ul li:after{ opacity: 0.7;}
#home_service ul li:hover:after{ opacity: 0.7;}
#home_service ul li h3{ font-size: 1rem; margin-bottom: 3.75%;}
#home_service ul li p{ font-size: 0.8rem; margin-bottom: 7.5%;}
}

/*home_store*/
#home_store{ padding: 80px 0;}
@media screen and (max-width:768px){
#home_store{ padding: 15% 0;}
}




/*archive*/
.archive section,
.blog section{ padding: 80px 0;}
@media screen and (max-width:768px){
.archive section,
.blog section{ padding: 15% 0;}
}

/*news*/
#news_head{ width: 100%; height: 480px; background: url("../images/news/fv.jpg") center center no-repeat; background-size: cover; position: relative;}
#news_head img{ display: none;}
@media screen and (max-width:768px){
#news_head{ height: auto; background: none;}
#news_head img{ display: block;}
}

#news_archive h3{ text-align: center; font-size: 1rem; padding: 0.5em; margin: 40px auto; border-top: 1px solid #000; border-bottom: 1px solid #000;}
@media screen and (max-width:768px){
#news_archive h3{ font-size: 1rem; margin: 7.5% auto;}
}

/*news_list*/
.news_list ul li{ padding: 20px; border-bottom: 1px solid #000;}
.news_list ul li .date_cat{ display: flex; align-items: center; margin-bottom: 10px;}
.news_list ul li .date_cat .date{ font-size: 0.6rem; letter-spacing: 0.1em; color: #666;}
.news_list ul li .date_cat .cat{ margin-left: 1em; font-size: 0.6rem; line-height: 1em; display: flex;}
.news_list ul li .date_cat .cat a{ display: flex; align-items: center; justify-content: center; background: #efefef; padding: 0.5em; margin-right: 0.5em;}
/*.news_list ul li .date_cat .cat a{ pointer-events: none;}*/
.news_list ul li p{ line-height: 2em;}
.news_list ul li p a{ display: block; padding-right: 2em; transition: 0.3s; position: relative;}
.news_list ul li p a:after{ content: "\f061"; font-family: "Font Awesome 5 Free"; font-weight: 600; position: absolute; right: 0; top: 50%; transform: translateY(-50%); transition: 0.3s;}
.news_list ul li p a:hover{ opacity: 0.7;}
.news_list ul li p a:hover:after{ right: -0.5em;}
@media screen and (max-width:768px){
.news_list ul li{ padding: 3.75%;}
.news_list ul li .date_cat{ margin-bottom: 2.5%;}
.news_list ul li .date_cat .date{ font-size: 0.6rem;}
.news_list ul li .date_cat .cat{ font-size: 0.6rem;}
}

/*store_list*/
.store_list h3{ text-align: center; font-size: 1.2rem; margin: 80px auto 40px;}
.store_list ul.store1{ display: flex; flex-wrap: wrap; width: calc(100% + 20px); margin: -10px 0 -10px -10px;}
.store_list ul.store1 li{ width: calc(33.33% - 20px); margin: 10px;}
.store_list ul.store1 li h4{ font-size: 0.8rem; margin-bottom: 0.5em; text-align: center;}
.store_list ul.store2{ display: flex; flex-wrap: wrap; justify-content: center; width: calc(100% + 20px); margin: -10px 0 -10px -10px;}
.store_list ul.store2 li{ width: calc(50% - 20px); margin: 10px; text-align: center;}
.store_list ul.store2 li h4{ font-size: 1rem; margin-bottom: 15px; text-align: center;}
.store_list ul.store2 li h4 img{ height: 40px;}
@media screen and (max-width:768px){
.store_list h3{ font-size: 1.2rem; margin: 15% auto 3.75%;}
.store_list ul.store1{ width: 100%; margin: 0;}
.store_list ul.store1 li{ width: 75%; margin: 3.75% auto;}
.store_list ul.store1 li h4{ font-size: 0.8rem;}
.store_list ul.store2{ width: 100%; margin: 0;}
.store_list ul.store2 li{ width: 100%; margin: 3.75% auto;}
.store_list ul.store2 li h4{ font-size: 1rem; margin-bottom: 2.5%;}
.store_list ul.store2 li h4 img{ height: 7.5vw;}
}





/*pages*/
/*common*/
.page #content{ padding-top: 40px;}
.page section:first-child{ padding-top: 0;}
.page section{ padding: 80px 0;}
.page figure.fv{ margin-bottom: 40px;}
.page figure.fv img{ max-width: 750px;}
.page figure.img{ margin: 40px auto;}
.page figure.img img{ max-width: 750px;}
.page figure.img:first-child{ margin-top: 0;}
.page figure.img:last-child{ margin-bottom: 0;}
@media screen and (max-width:768px){
.page #content{ padding-top: 10%;}
.page section:first-child{ padding-top: 0;}
.page section{ padding: 10% 0;}
.page figure.fv{ margin-bottom: 5%;}
.page figure.fv img{max-width: 100%;}
.page figure.img{ margin: 5% auto;}
.page figure.img img{max-width: 100%;}
}

/*pankuzu*/
#pankuzu{ margin: 98px 20px 0;}
.blog #pankuzu{ margin-top: 40px;}
#pankuzu ul{ width: 100%; display: flex; flex-wrap: wrap; font-size: 0.6rem;}
#pankuzu ul li{ margin: 0.5em 0;}
#pankuzu ul li:not(:last-child):after{ content: ">"; margin: 0 0.5em;}
#pankuzu ul li a{ text-decoration: underline;}
#pankuzu ul li a:hover{ text-decoration: none;}
@media screen and (max-width:768px){
#pankuzu{ margin: 2.5% 3.75% 0;}
.blog #pankuzu{ margin-top: 2.5%;}
}

/*history*/
.history_table table{ font-size: 0.8rem; line-height: 2em; border-collapse: collapse; border-spacing: 0;}
.history_table table th{ font-weight: 400; line-height: 2em; width: 4em;}
.history_table table td{ padding: 0 0 0 1em;}
.history_table table td p{ line-height: 2em;}
@media screen and (max-width:768px){
.history_table table{ font-size: 0.8rem;}
.history_table table th{ display: block; width: 100%; font-size: 0.8rem; margin-top: 1em;}
.history_table table tr:first-child th{ margin-top: 0;}
.history_table table td{ display: block; width: 100%; padding-left: 1.5em;}
.history_table table td p{ line-height: 2em; font-size: 0.7rem;}
}

/*business*/
.business_table01 table{ font-size: 0.8rem; line-height: 2em; border-collapse: collapse; border-spacing: 0;}
.business_table01 table th{ text-align: justify; text-align-last: justify; font-weight: 400; line-height: 2em; width: 5em; padding: 0 0 1em;}
.business_table01 table td{ padding: 0 0 1em 2em;}
.business_table01 table td p{ line-height: 2em;}
.business_table01 p.invoice{ line-height: 2em;}
@media screen and (max-width:768px){
.business_table01 table{ font-size: 0.8rem;}
}

.business .role{ margin: 40px auto;}
.business .role h5{ font-size: 1rem; margin-bottom: 1em;}
.business .role h5 strong{ display: inline-block; position: relative;}
.business .role h5 strong:after{ content: ""; width: 7.5em; height: 1px; background: #000; position: absolute; right: -8em; top: 50%;}
.business .role table{ font-size: 0.8rem; border-collapse: collapse; border-spacing: 0; margin: 20px 0;}
.business .role table th{ text-align: justify; text-align-last: justify; font-weight: 400; line-height: 2em; width: 6em; padding: 0 0 1em;}
.business .role table td{ padding: 0 0 1em 2em; line-height: 2em;}
.business .role p a{ text-decoration: underline;}
.business .role p a:hover{ text-decoration: none;}
@media screen and (max-width:768px){
.business .role{ margin: 7.5% auto;}
.business .role h5{ font-size: 1rem;}
.business .role table{ font-size: 0.8rem; margin: 5% 0 2.5%;}
}

.address{}
.address_box{ margin-bottom: 60px;}
.address_box:last-child{ margin-bottom: 0;}
.address_box h4{ font-size: 1rem; margin-bottom: 1em; overflow: hidden;}
.address_box h4 strong{ display: inline-block; position: relative;}
.address_box h4 strong:after{ content: ""; width: 480px; height: 1px; background: #000; position: absolute; right: -490px; top: 50%;}
.address_box dl{ display: flex; justify-content: space-between;}
.address_box dl dt{ display: flex; flex-direction: column; width: 480px;}
.address_box dl dd{ display: flex; align-items: center; justify-content: center; width: 480px;}
.address_box dl dd iframe{ width: 100%; height: 100%;}
.address_box p{ font-size: 0.8rem;}
.address_box p.add_txt01{ margin-bottom: 1em; line-height: 2em;}
.address_box p.add_txt02{ margin-bottom: 1em; line-height: 2em;}
.address_box p.add_txt02 span{ display: inline-block; width: 2.5em;}
.address_box ul{ font-size: 0.8rem;}
.address_box ul li{ padding-left: 1em; line-height: 2em; position: relative;}
.address_box ul li:before{content: "\f1ce"; font-family: "Font Awesome 5 Free"; font-weight: 600; font-size: 50%; position: absolute; left: 0; top: 0.125em;}
@media screen and (max-width:768px){
.address_box{ margin-bottom: 10%;}
.address_box h4{ font-size: 0.9rem; margin-bottom: 2.5%;}
.address_box h4 strong:after{ width: 100vw; right: -102.5vw;}
.address_box dl{ display: block}
.address_box dl dt{ display: block; width: 100%; margin-bottom: 5%;}
.address_box dl dd{ display: block; width: 100%;}
.address_box dl dd iframe{ width: 100%; height: 50vw;}
.address_box p{ font-size: 0.8rem;}
.address_box ul{ font-size: 0.8rem;}
}

.business_contact_txt{ margin-top: 80px;}
.business_contact_txt img{ width: 690px;}
@media screen and (max-width:768px){
.business_contact_txt{ margin-top: 10%;}
.business_contact_txt img{ width: 100%;}
}

/*service*/
/*service01*/
#service01_1 h3{ font-size: 1.1rem; margin-bottom: 40px;}
#service01_1 h4{ font-size: 1rem; margin: 60px 0 20px; overflow: hidden;}
#service01_1 h4 strong{ display: inline-block; position: relative;}
#service01_1 h4 strong:after{ content: ""; width: 960px; height: 1px; background: #000; position: absolute; right: -980px; top: 50%;}
@media screen and (max-width:768px){
#service01_1 h3{ font-size: 1.1rem; margin-bottom: 5%;}
#service01_1 h4{ font-size: 1rem; margin: 10% auto 2.5%;}
#service01_1 h4 strong:after{ width: 100vw; right: -102.5vw;}
}

#service01_2 h3{ text-align: center; font-size: 1.2rem; border-top: 1px solid #000; border-bottom: 1px solid #000; padding: 0.5em; margin: 120px 0 40px;}
#service01_2 #brand dl{ display: flex; justify-content: space-between; margin-top: 60px;}
#service01_2 #brand dl:nth-child(2n){ flex-direction: row-reverse;}
#service01_2 #brand dl:first-child{ margin-top: 0;}
#service01_2 #brand dl dt{ width: 360px;}
#service01_2 #brand dl dd{ width: 600px;}
#service01_2 #brand dl dt figure.btn_more{ margin-top: 20px;}
#service01_2 #brand dl dt figure.btn_more a{ width: 100%;}
#service01_2 #brand dl dd h4{ font-size: 1rem; margin: 0 0 20px; overflow: hidden;}
#service01_2 #brand dl dd h4 strong{ display: inline-block; position: relative;}
#service01_2 #brand dl dd h4 strong:after{ content: ""; width: 960px; height: 1px; background: #000; position: absolute; right: -980px; top: 50%;}
#service01_2 #brand dl dd h5{ display: flex; align-items: center; font-size: 0.9rem; margin: 0 0 20px;}
#service01_2 #brand dl dd h5 span{ margin-left: 1em;}
@media screen and (max-width:768px){
#service01_2 h3{ font-size: 1.2rem; margin: 20% 0 7.5%;}
#service01_2 #brand dl{ flex-direction: column-reverse; margin-top: 15%;}
#service01_2 #brand dl:nth-child(2n){ flex-direction: column-reverse;}
#service01_2 #brand dl dt{ width: 100%; margin-top: 5%;}
#service01_2 #brand dl dd{ width: 100%;}
#service01_2 #brand dl dt figure.btn_more{ margin-top: 3.75%;}
#service01_2 #brand dl dd h4{ font-size: 1rem; margin: 0 0 3.75%;}
#service01_2 #brand dl dd h4 strong:after{ width: 100vw; right: -102.5vw;}
#service01_2 #brand dl dd h5{ font-size: 0.9rem; margin: 0 0 3.75%;}
}

/*service02*/
#service02 .service02_contact{ margin-top: 60px; border-top: 1px solid #000; padding-top: 30px;}
#service02 .service02_contact h5{ font-size: 1rem; margin-bottom: 5px;}
#service02 .service02_contact p{ line-height: 2em; margin-bottom: 0;}
#service02 .service02_contact p.att{ font-size: 0.7rem;}
@media screen and (max-width:768px){
#service02 .service02_contact{ margin-top: 10%; padding-top: 7.5%;}
#service02 .service02_contact h5{ font-size: 1rem; margin-bottom: 2.5%;}
#service02 .service02_contact p{ line-height: 2em; margin-bottom: 0;}
#service02 .service02_contact p.att{ font-size: 0.7rem;}
}

/*service03*/
#service03 .curves_head{ display: flex; align-items: center; justify-content: center; margin: 80px auto;}
#service03 .curves_head dl{ text-align: center; margin-right: 80px;}
#service03 .curves_head dl dt{ font-size: 2rem;}
#service03 .curves_head dl dd{ font-size: 0.8rem; margin-top: 1em;}
#service03 .curves_head figure{ margin: 0;}
#service03 .curves_head figure img{ height: 80px;}
#service03 p.lead{ font-size: 1rem; text-align: center; margin: 60px auto;}
#service03 figure.ban img{ height: 120px;}
#service03 .list{ margin-top: 80px; text-align: center;}
#service03 .list ul{ display: flex; align-items: center; justify-content: center;}
#service03 .list ul li{ font-size: 1rem; padding: 0.5em 0.5em 0.5em 1.5em; margin: 0 1em; border-bottom: 1px dotted #000; position: relative;}
#service03 .list ul li:before{ content: "・"; position: absolute; left: 0.5em; top: 0.5em;}
@media screen and (max-width:768px){
#service03 .curves_head{ margin: 10% auto;}
#service03 .curves_head dl{ margin-right: 7.5vw;}
#service03 .curves_head dl dt{ font-size: 1.6rem;}
#service03 .curves_head dl dd{ font-size: 0.6rem;}
#service03 .curves_head figure img{ height: 12.5vw;}
#service03 p.lead{ font-size: 0.8rem; text-align: justify; margin: 10% auto;}
#service03 figure.ban img{ height: auto; width: 75%;}
#service03 .list{ margin-top: 10%;}
#service03 .list ul{ display: flex; align-items: center; justify-content: center;}
#service03 .list ul li{ font-size: 0.9rem; margin: 0 0.75em;}
}

/*service04*/
#service04 h3{ font-size: 1.2rem; margin-bottom: 40px;}
#service04 h4{ font-size: 1rem; margin: 120px 0 20px; overflow: hidden;}
#service04 h4 strong{ display: inline-block; position: relative;}
#service04 h4 strong:after{ content: ""; width: 960px; height: 1px; background: #000; position: absolute; right: -980px; top: 50%;}
@media screen and (max-width:768px){
#service04 h3{ font-size: 1.2rem; margin-bottom: 5%;}
#service04 h4{ font-size: 1rem; margin: 15% auto 3.75%;}
#service04 h4 strong:after{ width: 100vw; right: -102.5vw;}
}

#service04 .hall_img{ margin: 40px auto;}
#service04 .hall_img ul{ display: flex; flex-wrap: wrap; justify-content: center; text-align: center; width: calc(100% + 40px); margin: -20px 0 -20px -20px;}
#service04 .hall_img ul li{ width: calc(50% - 40px); margin: 20px;}
#service04 .hall_img ul li:nth-child(1){ width: calc(66.66% - 40px);}
#service04 .hall_img ul li h6{ font-size: 1rem; margin-bottom: 0.5em;}
@media screen and (max-width:768px){
#service04 .hall_img{ margin: 5% auto;}
#service04 .hall_img ul{ width: calc(100% + 2.5vw); margin: -2.5vw 0 -2.5vw -1.25vw;}
#service04 .hall_img ul li{ width: calc(50% - 2.5vw); margin: 2.5vw 1.25vw;}
#service04 .hall_img ul li:nth-child(1){ width: calc(66.66% - 2.5vw);}
#service04 .hall_img ul li h6{ font-size: 0.8rem;}
}

#service04 .room_img ul{ display: flex; flex-wrap: wrap; width: calc(100% + 40px); margin: -20px 0 -40px -20px;}
#service04 .room_img ul li{ width: calc(50% - 40px); margin: 40px 20px;}
#service04 .room_img ul li h6{ font-size: 0.8rem; margin: 10px 0 5px;}
#service04 .room_img ul li h6 span{ font-size: 75%; margin-left: 0.5em;}
#service04 .room_img ul li p{ font-size: 0.6rem; line-height: 1.25em;}
#service04 .room_img ul li p a{ text-decoration: underline;}
#service04 .room_img ul li p a:hover{ text-decoration: none;}
@media screen and (max-width:768px){
#service04 .room_img ul{ width: calc(100% + 3.75vw); margin: 0 0 -3.75vw -1.875vw;}
#service04 .room_img ul li{ width: calc(50% - 3.75vw); margin: 3.75vw 1.875vw;}
#service04 .room_img ul li h6{ font-size: 0.8rem; margin: 2.5% 0 1.25%;}
#service04 .room_img ul li h6 span{ display: block; margin: 0; letter-spacing: 0;}
#service04 .room_img ul li p{ font-size: 0.6rem; line-height: 1.5em;}
}

#service04 .estate_list ul{ display: flex; flex-wrap: wrap; width: calc(100% + 40px); margin: 40px 0 -40px -20px;}
#service04 .estate_list ul li{ width: calc(33.33% - 40px); margin: 40px 20px;}
#service04 .estate_list ul li h5{ font-size: 0.8rem; margin-bottom: 5px;}
#service04 .estate_list ul li p{ font-size: 0.6rem; line-height: 1.75em; margin-bottom: 10px;}
#service04 .estate_list ul li figure img{ width: 100%; height: 320px; object-fit: cover;}
@media screen and (max-width:768px){
#service04 .estate_list ul{ width: calc(100% + 3.75vw); margin: 3.75vw 0 -3.75vw -1.875vw;}
#service04 .estate_list ul li{ width: calc(100% - 3.75vw); margin: 3.75vw 1.875vw; padding-bottom: 7.5vw; border-bottom: 1px dotted #000;}
#service04 .estate_list ul li:first-child{ padding-top: 3.75vw; border-top: 1px dotted #000;}
#service04 .estate_list ul li h5{ font-size: 1rem; margin-bottom: 1.25%;}
#service04 .estate_list ul li p{ font-size: 0.8rem; margin-bottom: 2.5%;}
#service04 .estate_list ul li figure img{ width: 100%; height: 92.5vw;}
}

/*miyabiya*/
#miyabiya h2{ text-align: center; margin-bottom: 40px;}
#miyabiya .img_list{ margin: 40px auto;}
#miyabiya .img_list ul{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; text-align: center;}
#miyabiya .img_list ul li{ max-width: 33.33%;}
#miyabiya .img_list ul li:nth-child(1){ width: 100%; max-width: 100%;}
#miyabiya .miyabiya_info{ border-top: 1px solid #000; padding-top: 40px; margin-top: 40px;}
#miyabiya .miyabiya_info .info01 dl{ display: flex;}
#miyabiya .miyabiya_info .info01 dl dt p{ font-size: 0.8rem; letter-spacing: 0.1em; line-height: 2em;}
#miyabiya .miyabiya_info .info01 dl dd{ margin-left: 40px;}
#miyabiya .miyabiya_info .info01 dl dd a{ font-size: 2rem;}
#miyabiya .miyabiya_info .info02{ margin-top: 40px;}
#miyabiya .miyabiya_info .info02 dl{ display: flex; align-items: center; justify-content: space-between;}
#miyabiya .miyabiya_info .info02 dl dt{ width: 480px;}
#miyabiya .miyabiya_info .info02 dl dd{ width: 480px;}
#miyabiya .miyabiya_info .info02 dl dd iframe{ width: 100%; height: 240px;}
#miyabiya .miyabiya_info .info02 dl dt p{ font-size: 0.8rem; letter-spacing: 0.1em; line-height: 2em;}
#miyabiya .miyabiya_info .info02 dl dt table{ font-size: 0.8rem;}
#miyabiya .miyabiya_info .info02 dl dt table th{ padding: 0.5em 1em 0.5em 0; font-weight: 500;}
#miyabiya .miyabiya_info .info02 dl dt table td{ padding: 0.5em 1em 0.5em 0;}
@media screen and (max-width:768px){
#miyabiya h2{ margin-bottom: 7.5%;}
#miyabiya h2 img{ width: 75%;}
#miyabiya .img_list{ margin: 7.5% auto;}
#miyabiya .img_list ul li img{ width: 100%;}
#miyabiya .img_list ul li:nth-child(1) img{ width: 75%;}
#miyabiya .miyabiya_info{ padding-top: 7.5%; margin-top: 7.5%;}
#miyabiya .miyabiya_info .info01 dl{ display: flex; width: 100%;}
#miyabiya .miyabiya_info .info01 dl dt p{ font-size: 0.8rem;}
#miyabiya .miyabiya_info .info01 dl dd{ font-size: 3rem; margin-left: 0;}
#miyabiya .miyabiya_info .info02{ margin-top: 7.5%;}
#miyabiya .miyabiya_info .info02 dl{ display: block;}
#miyabiya .miyabiya_info .info02 dl dt{ width: 100%; margin-bottom: 7.5%;}
#miyabiya .miyabiya_info .info02 dl dd{ width: 100%;}
#miyabiya .miyabiya_info .info02 dl dd iframe{ width: 100%; height: 66.66vw;}
}




/*single-post*/
.single-post section{ padding: 80px 0;}
@media screen and (max-width:768px){
.single-post section{ padding: 15% 0;}
}

.post_sec  .date_cat{ display: flex; align-items: center; margin-bottom: 10px;}
.post_sec  .date_cat .date{ font-size: 0.6rem; letter-spacing: 0.1em; color: #666;}
.post_sec  .date_cat .cat{ margin-left: 1em; font-size: 0.6rem; line-height: 1em; display: flex;}
.post_sec  .date_cat .cat a{ display: flex; align-items: center; justify-content: center; background: #efefef; padding: 0.5em; margin-right: 0.5em;}
/*.post_sec  .date_cat.cat a{ pointer-events: none;}*/
@media screen and (max-width:768px){
.post_sec  .date_cat{ margin-bottom: 2.5%;}
.post_sec  .date_cat .date{ font-size: 0.6rem;}
.post_sec  .date_cat .cat{ font-size: 0.6rem;}
}

.post_sec h3{ margin: 0 auto 40px; font-size: 1.2rem; padding-bottom: 0.25em; border-bottom: 1px solid #000;}
.post_sec figure.img{ margin: 40px auto;}
.post_sec figure.img{ max-width: 750px;}
@media screen and (max-width:768px){
.post_sec h3{ margin: 0 auto 5%; font-size: 1.2rem;}
.post_sec figure.img{ margin: 5% auto;}
.post_sec figure.img{ max-width: 100%;}
}





/*plugin*/
/*pagenavi*/
.wp-pagenavi{ clear: both; text-align: center; margin: 60px auto 0; font-size: 0.8rem;}
.wp-pagenavi a, .wp-pagenavi span{ text-decoration: none; border: 1px solid #191919 !important; background: none; color: #191919; padding: 0.25em 0.5em; margin: 0 0.25em; transition: 0.3s;}
.wp-pagenavi a:hover, .wp-pagenavi span.current { background: #191919; color: #fff;}
@media screen and (max-width:767px){
.wp-pagenavi{ margin: 10% auto 0; font-size: 0.7rem;}
.wp-pagenavi a, .wp-pagenavi span{ padding: 0.25em 0.5em; margin: 0 0.25em;}
}

/*prev-next*/
.prev-next{ margin-top: 60px; border-top: 2px solid #191919; border-bottom: 2px solid #191919; padding: 0.5em 0;}
.prev-next ul{ display: flex; ustify-content: space-between; text-align: center;}
.prev-next ul li{ display: flex; align-items: center; justify-content: center; width: 33.33%; border-right: 1px solid #191919;}
.prev-next ul li:first-child{ border-left: 1px solid #191919;}
.prev-next ul li a{ display: block; width: 100%; font-size: 0.8rem; font-weight: 600; line-height: 1em; padding: 0.5em 0.5em 0.66em; transition: 0.3s;}
.prev-next ul li a i{ line-height: 0; margin: 0 0.5em;}
.prev-next ul li a:hover{ background: #191919; color: #fff;}
@media screen and (max-width:767px){
.prev-next{ margin-top: 10%;}
.prev-next ul li a{ font-size: 0.7rem;}
}



@media print, screen and (min-width:769px){
.smp{ display:none !important;}
}
@media screen and (max-width:768px){
.pc{ display:none !important;}
}
