@charset "utf-8";
@font-face {
font-family: 'LogoType';
src: url('font/LogoType.eot');
src: url('font/LogoType.woff') format('woff'),
url("fonts/LogoType.woff2") format("woff2"),
url('font/LogoType.ttf') format('truetype');
}
.lsf {
font-family: 'LigatureSymbols';}

/* 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: source-han-sans-japanese, "ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;
font-size:18px;
font-size-adjust:100%;
text-align:left;
background:#fff;
color:#333a46;
min-width:1200px;
}
@media screen and (max-width:768px){
html,body{ font-size:3.5vw; min-width:240px; max-width:768px; overflow-x: hidden;}
}

/*font*/
.LogoType{ font-family: LogoType, sans-serif;}
.din{ font-family: din-2014, sans-serif; font-style: normal; font-weight: 200;}
.rodin{ font-family: fot-rodin-pron, sans-serif; font-style: normal; font-weight: 600;}
.shuei{ font-family: dnp-shuei-mgothic-std, sans-serif; font-style: normal; font-weight: 400;}
.minion{ font-family: minion-pro, serif;}

/*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*/
p{ line-height:1.5em; 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;}
.red{ color:#c30d23;}

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

/*link*/
a{ color:inherit; text-decoration:none;}
a:hover{}
.opa{ transition: all 0.3s ease;}
.opa:hover{ opacity: 0.7;}

/*ヘッダー*/
header{ background: url("../images/mv_bg.jpg") center bottom no-repeat; height: 1100px; display: flex; justify-content: center; position: relative; z-index: 5;}
header #mv{ width: 1080px; margin: 0 auto; padding: 40px 400px 40px 0; text-align: center;}
header #mv h1{ font-size: 32px; line-height: 1.5em; margin: 40px auto;}
header #mv h1 strong{ font-size: 42px;}
header #mv figure.logo img{ width: 240px;}
header #mv figure.date img{ width: 480px;}
@media screen and (max-width:768px){
header{ background: url("../images/mv_bg_smp.png") center bottom no-repeat; background-size: cover; height: 148vw; display: block;}
header #mv{ width: 100%; padding: 7.5% 0 15%;}
header #mv h1{ font-size: 4.2vw; margin: 7.5% auto 3.75%;}
header #mv h1 span{ display: inline-block; padding: 0.25em 0.5em; /*background: rgba(51,58,70,0.9);*/ color: #fff; margin-bottom: 0.25em; position: relative; z-index: 1;}
header #mv h1 span:after{ content: ""; width: 100%; height: 100%; mix-blend-mode: multiply; background: rgba(51,58,70,0.9); position: absolute; left: 0; top: 0; z-index: -1;}
header #mv h1 strong{ font-size: 5vw;}
header #mv figure.logo{ text-align: left; padding-left: 7.5%;}
header #mv figure.logo img{ width: 48%;}
header #mv figure.date img{ width: 63%;}
}

/*フッター*/
footer{ background: #333; color: #fff; padding: 40px 0 0; text-align: center;}
footer a.tel{ display: inline-block; pointer-events: none; font-size: 48px; letter-spacing: 0.1em; margin-top: 20px;}
footer ul{ background: #000; color: #fff; text-align: center; padding: 1em; margin-top: 40px; letter-spacing: -1em;}
footer ul li{ display: inline-block; letter-spacing: 0; font-size: 20px; margin: 0 1em;}
footer ul li a{ text-decoration: underline;}
footer ul li a:hover{ text-decoration: none;}
@media screen and (max-width:768px){
footer{ padding: 5% 0 0;}
footer figure img{ width: 33.33%;}
footer a.tel{ pointer-events: all; font-size: 5vw; margin-top: 2.5%;}
footer ul{ margin-top: 5%;}
footer ul li{ font-size: 3vw;}
}

/*固定パーツ*/
#fixed_parts{ display: none;}
@media screen and (max-width:768px){
#fixed_parts{ position: fixed; left: 0; right: 0; bottom: 0; margin: auto; display: block; padding: 2.5% 0 3.75%; color: #000; text-align: center; z-index: 100;}
#fixed_parts{
background: rgb(213,196,165);
background: -moz-linear-gradient(left,  rgba(213,196,165,1) 0%, rgba(243,237,228,1) 50%, rgba(213,196,165,1) 100%);
background: -webkit-linear-gradient(left,  rgba(213,196,165,1) 0%,rgba(243,237,228,1) 50%,rgba(213,196,165,1) 100%);
background: linear-gradient(to right,  rgba(213,196,165,1) 0%,rgba(243,237,228,1) 50%,rgba(213,196,165,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d5c4a5', endColorstr='#d5c4a5',GradientType=1 );
}
#fixed_parts p{ font-size: 4vw; letter-spacing: 0.1em; font-weight: bold; margin: 0 auto;}
#fixed_parts figure.btn a{ display: flex; align-items: center; justify-content: center; width: 60vw; padding: 2.5%; margin: 2.5% auto 0; background: rgba(0,0,0,0.85); color: #fff; border-radius: 1.25vw;}
#fixed_parts figure.btn a span{ width: 7vw; line-height: 0; margin-right: 5%;}
#fixed_parts figure.btn a strong{ font-size: 4vw; letter-spacing: 0.1em; line-height: 1em;}
}
@media print, screen and (min-width:769px){
body{ padding-bottom: 0 !important;}
}

/*メイン*/
section { width:100%; margin:0 auto;}
.maincontent { padding:0; margin:0 auto; width:1080px;}
@media print, screen and (min-width:769px){
#content{ overflow: hidden;}
}
@media screen and (max-width:768px){
.maincontent { padding:0; margin:0 auto; width:90%;}
}

/*cv*/
.cv{ background: url("../images/cv_bg.jpg") center center no-repeat; background-size: cover; padding: 120px 0 50px;}
.cv h2{ text-align: center; margin-bottom: 50px;}
.cv h2 strong{ display: block; font-size: 84px; color: #c30d23; margin-bottom: -0.25em;}
.cv h2 span{ display: inline-block; font-size: 21px; line-height: 1em; color: #252525; padding: 0.25em 0.5em; border-top: 1px solid #252525; border-bottom: 1px solid #252525;}
.cv .cv_list{ margin: 20px auto 30px;}
.cv .cv_list ul{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin: auto; text-align: center;}
.cv .cv_list ul li{ display: flex; align-items: center; background: #c30d23; color: #fff; padding: 0.25em 0.75em; margin: 5px;}
.cv .cv_list ul li strong{ font-size: 16px;}
.cv .cv_list ul li span{ font-size: 12px;}
@media screen and (max-width:768px){
.cv{ padding: 12.5% 0 2.5%;}
.cv h2{ margin-bottom: 5%;}
.cv h2 strong{ font-size: 11.25vw; line-height: 1.1em; margin-bottom: 2.5%;}
.cv h2 span{ display: inline-block; font-size: 21px; line-height: 1em; color: #252525; padding: 0.25em 0.5em; border-top: 1px solid #252525; border-bottom: 1px solid #252525;}
.cv .cv_list{ margin: 2.5% auto;}
.cv .cv_list ul{ width: calc(100% + 5vw); margin-left: -2.5vw;}
.cv .cv_list ul li{ flex-direction: column; padding: 0.25em 0.5em; margin: 0.675%;}
.cv .cv_list ul li strong{ font-size: 2.75vw;}
.cv .cv_list ul li span{ font-size: 2.5vw;}
}

.cv .cv_benefit{ width: 1050px; margin: 0 auto; position: relative;}
.cv .cv_benefit figure{ text-align: left;}
.cv .cv_benefit figure.ico{ position: absolute; right: -40px; top: 50px;}
.cv .cv_benefit p{ position: absolute; right: 60px; bottom: 15px; font-size: 16px;}
@media screen and (max-width:768px){
.cv .cv_benefit{ width: 100%;}
.cv .cv_benefit img{ width: 100%;}
.cv .cv_benefit figure{ text-align: center;}
.cv .cv_benefit figure.ico{ position: static;}
.cv .cv_benefit figure.ico img{ width: 80%;}
.cv .cv_benefit p{ position: static; font-size: 2.5vw; text-align: center; margin-top: 0.5em;}
}

/*cv2*/
.cv2{ padding: 30px 0 40px; color: #000; text-align: center;}
.cv2{
background: rgb(213,196,165);
background: -moz-linear-gradient(left,  rgba(213,196,165,1) 0%, rgba(243,237,228,1) 50%, rgba(213,196,165,1) 100%);
background: -webkit-linear-gradient(left,  rgba(213,196,165,1) 0%,rgba(243,237,228,1) 50%,rgba(213,196,165,1) 100%);
background: linear-gradient(to right,  rgba(213,196,165,1) 0%,rgba(243,237,228,1) 50%,rgba(213,196,165,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d5c4a5', endColorstr='#d5c4a5',GradientType=1 );
}
.cv2 p{ font-size: 24px; letter-spacing: 0.1em; font-weight: bold; margin: 0 auto;}
.cv2 figure.btn a{ display: flex; align-items: center; justify-content: center; width: 400px; padding: 10px; margin: 10px auto 0; background: rgba(0,0,0,0.85); color: #fff; border-radius: 8px;}
.cv2 figure.btn a span{ width: 50px; line-height: 0; margin-right: 20px;}
.cv2 figure.btn a strong{ font-size: 32px; letter-spacing: 0.1em; line-height: 1em;}
@media screen and (max-width:768px){
.cv2{ display: none !important;}
.cv2{ padding: 2.5% 0 3.75%;}
.cv2 p{ font-size: 4vw;}
.cv2 figure.btn a{ width: 60vw; padding: 2.5%; margin: 2.5% auto 0; border-radius: 1.25vw;}
.cv2 figure.btn a span{ width: 7vw; margin-right: 5%;}
.cv2 figure.btn a strong{ font-size: 4vw;}
}



/*sec01*/
#sec01{ padding: 20px 0 40px; position: relative; z-index: 1;}
#sec01:after{ content: ""; width: 100%; height: 116px; background: url("../images/sec01_bottom.png") center bottom no-repeat; background-size: cover; position: absolute; left: 0; right: 0; bottom: -115px; margin: auto;}
#sec01 p{ text-align: center; font-size: 24px;}
#sec01 h3{ text-align: center; font-size: 40px; margin: 30px auto 20px;}
#sec01 h2{ text-align: center; font-size: 64px; color: #a6922f; margin-bottom: 50px;}
@media screen and (max-width:768px){
#sec01{ padding: 10% 0 2.5%;}
#sec01:before{ content: ""; background: url("../images/sec01_bg01_smp.jpg") center top no-repeat; background-size: cover; width: 95vw; height: 63vw; position: absolute; left: 0; right: 0; top: -28vw; z-index: -1;}
#sec01:after{ height: 11.5vw; background: url("../images/sec01_bottom_smp.png") center bottom no-repeat; background-size: 100% 100%; bottom: -11vw;}
#sec01 p{ text-align: center; font-size: 18px;}
#sec01 h3{ text-align: center; font-size: 30px; margin: 30px auto 20px;}
#sec01 h2{ font-size: 5.75vw; color: #1a1a1a; margin-bottom: 3.75%;}
}

#sec01 .lead ul{ width: 992px; height: 223px; padding: 0 40px; display: flex; align-items: center; justify-content: space-between; background: url("../images/sec01_line.png") center center no-repeat; margin: auto;}
#sec01 .lead ul li{ font-size: 32px; line-height: 1.66em; letter-spacing: 0.05em; font-feature-settings: "palt"; font-weight: bold; text-align: center;}
#sec01 .lead ul li:nth-child(1){ padding-top: 20px;}
#sec01 .lead ul li:nth-child(2){ padding-bottom: 20px;}
@media screen and (max-width:768px){
#sec01 .lead{ position: relative; z-index: 1;}
#sec01 .lead:after{ content: ""; background: url("../images/sec01_bg02_smp.jpg") center top no-repeat; background-size: cover; width: 95vw; height: 63vw; position: absolute; left: 0; right: 0; bottom: -58vw; z-index: -1;}
#sec01 .lead ul{ width: 100%; height: auto; padding: 0; display: block; background: none;}
#sec01 .lead ul li{ font-size: 4vw; line-height: 1.5em; letter-spacing: 0; color: #000; background: rgba(255,255,255,0.45); border: 0.75vw solid rgba(222,181,35,0.45); border-radius: 2.5vw;}
#sec01 .lead ul li:nth-child(1){ padding: 2.5% 0; margin-bottom: 2.5%;}
#sec01 .lead ul li:nth-child(2){ padding: 2.5% 0;}
}

#sec01 .sec01_box{ margin-top: 80px; text-align: center; padding-left: 160px; position: relative;}
#sec01 .sec01_box h3{ font-size: 45px; margin: 30px auto 20px;}
#sec01 .sec01_box p{ font-size: 24px; line-height: 2em;}
#sec01 .sec01_box figure.ico{ position: absolute; left: -240px; bottom: -40px; pointer-events: none;}
#sec01 .sec01_box ul{ display: flex; align-items: center; justify-content: space-between; width: 100%;}
#sec01 .sec01_box ul li{ display: flex; align-items: center; justify-content: center; width: 280px; height: 280px; background: url("../images/sec01_bg.png") center center no-repeat; background-size: cover; font-size: 28px; line-height: 1.5em;}
@media screen and (max-width:768px){
#sec01 .sec01_box{ margin-top: 30%; padding: 0; position: relative; z-index: 3;}
#sec01 .sec01_box h3{ font-size: 4vw; margin: 3.75% auto 5%;}
#sec01 .sec01_box p{ font-size: 3vw; line-height: 1.66em; padding-left: 20%;}
#sec01 .sec01_box figure.ico{ width: 40vw; left: -17.5vw; bottom: -5vw;}
#sec01 .sec01_box ul{ width: calc(100% + 2.5vw); margin-left: -1.25vw;}
#sec01 .sec01_box ul li{ width: calc(27.5vw); height: 27.5vw; font-size: 3vw;}
}

#sec01 .sec01_ban{ margin-top: 40px;}
#sec01 .sec01_ban ul{ width: calc(100% + 140px); margin-left: -70px; display: flex; align-items: center;}
#sec01 .sec01_ban ul li{ width: calc(50% - 20px); margin: 0 10px;}
#sec01 .sec01_ban ul li img{ border: 8px solid #fff;}
@media screen and (max-width:768px){
#sec01 .sec01_ban{ margin-top: 5vw;}
#sec01 .sec01_ban ul{ width: calc(100% + 10vw); margin-left: -5vw; display: block;}
#sec01 .sec01_ban ul li{ width: 100%; margin: 2.5% auto 0;}
#sec01 .sec01_ban ul li img{ border: none;}
}



/*sec02*/
#sec02{ background: rgba(213,196,165,0.3); padding: 100px 0 0; position: relative; z-index: 5;}
#sec02 h2{ text-align: center; font-size: 103px; line-height: 1.25em; font-weight: 700; color: #a6922f; margin-bottom: 10px;}
#sec02 p.lead{ text-align: center; font-size: 32px;}
@media screen and (max-width:768px){
#sec02{ padding: 10% 0 0;}
#sec02 h2{ font-size: 10vw; margin-bottom: 2.5%;}
#sec02 p.lead{ font-size: 4.5vw;}
}

#sec02 .sec02_map{ margin: 40px auto; position: relative; z-index: 1;}
#sec02 .sec02_map:before{ content: ""; background: url("../images/sec02_bg.png"); background-size: 100%; width: 962px; height: 640px; position: absolute; left: -420px; top: 180px; z-index: -1;}
#sec02 .sec02_map h3{ text-align: center; font-size: 32px; line-height: 1.5em; margin: 40px auto 20px;}
#sec02 .sec02_map p{ text-align: center; font-size: 24px;}
@media screen and (max-width:768px){
#sec02 .sec02_map{ margin: 20% auto 5%;}
#sec02 .sec02_map:before{ width: 100vw; height: 66vw; left: -5vw; top: -25vw;}
#sec02 .sec02_map figure img{ width: calc(100% + 5vw); max-width:  calc(100% + 5vw); margin-left: -2.5vw;}
#sec02 .sec02_map h3{ font-size: 5vw; margin: 5% auto 2.5%;}
#sec02 .sec02_map p{ font-size: 3.5vw;}
}

#sec02 .sec02_machine{ margin: 40px auto; position: relative;}
#sec02 .sec02_machine h3{ position: absolute; left: 80px; top: 80px; font-size: 40px; line-height: 1.5em;}
#sec02 .sec02_machine h3{ writing-mode: vertical-rl; -ms-writing-mode: tb-rl;}
#sec02 .sec02_machine h3 span{ /*text-orientation: upright;*/ writing-mode: horizontal-tb; ms-writing-mode: lr; transform: rotate(0deg); line-height: 1em;}
#sec02 .sec02_machine ul{ position: absolute; left: 300px; top: 80px;}
#sec02 .sec02_machine ul li{ font-size: 28px; line-height: 1.66em;}
#sec02 .sec02_machine figure img{ width: 1200px; max-width: 1200px; margin-left: 80px;}
@media screen and (max-width:768px){
#sec02 .sec02_machine{
background: rgb(213,196,165);
background: -moz-linear-gradient(left,  rgba(213,196,165,1) 0%, rgba(243,237,228,1) 50%, rgba(213,196,165,1) 100%);
background: -webkit-linear-gradient(left,  rgba(213,196,165,1) 0%,rgba(243,237,228,1) 50%,rgba(213,196,165,1) 100%);
background: linear-gradient(to right,  rgba(213,196,165,1) 0%,rgba(243,237,228,1) 50%,rgba(213,196,165,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d5c4a5', endColorstr='#d5c4a5',GradientType=1 );
}
#sec02 .sec02_machine{ margin: 10% auto 5%; padding: 5% 5% 22.5%;}
#sec02 .sec02_machine h3{ position: static; font-size: 5.5vw; line-height: 1.25em; text-align: center; margin-bottom: 5%;}
#sec02 .sec02_machine h3{ writing-mode: horizontal-tb; ms-writing-mode: lr;}
#sec02 .sec02_machine ul{ position: static;}
#sec02 .sec02_machine ul li{ font-size: 3.5vw;}
#sec02 .sec02_machine figure{ position: absolute; left: 0; bottom: 2.5vw; margin: auto;}
#sec02 .sec02_machine figure img{ width: 120vw; max-width: 120vw; margin-left: -7.5vw;}
}

#sec02 .sec02_select{ margin: 80px auto 0;}
#sec02 .sec02_select h3{ text-align: center; font-size: 32px; line-height: 1.5em; margin-bottom: 20px;}
#sec02 .sec02_select figure.logo{ margin-bottom: 20px;}
#sec02 .sec02_select p{ text-align: center; font-size: 24px;}
@media screen and (max-width:768px){
#sec02 .sec02_select{ margin: 5% auto 0;}
#sec02 .sec02_select h3{ font-size: 5vw; margin-bottom: 2.5%;}
#sec02 .sec02_select figure.logo{ margin-bottom: 2.5%;}
#sec02 .sec02_select figure.logo img{ height: 7.5vw;}
#sec02 .sec02_select p{ font-size: 3vw;}
}



/*sec03*/
#sec03 .sec03_box{ padding: 1px 0; position: relative;}
#sec03 .sec03_box dl{ display: flex; flex-direction: row-reverse; align-items: center; justify-content: center; margin: 20px auto; position: relative; z-index: 3;}
#sec03 .sec03_box dl dt{ text-align: center;}
#sec03 .sec03_box dl dd{ max-width: 640px; padding: 0 20px; text-align: center;}
#sec03 .sec03_box dl dt figure.logo{ margin-bottom: 20px;}
#sec03 .sec03_box dl dt h4{ font-size: 40px; line-height: 1em; margin-bottom: 10px;}
#sec03 .sec03_box dl dt p{ font-size: 20px;}
#sec03 .sec03_box h5{ text-align: center; font-size: 36px; line-height: 1.25em; margin-bottom: 10px;}
#sec03 .sec03_box p{ text-align: center; font-size: 24px;}
@media screen and (max-width:768px){
#sec03 .sec03_box{ padding: 5% 0;}
#sec03 .sec03_box dl{ display: block; margin: 0 auto 5%;}
#sec03 .sec03_box dl dd{ max-width: 100%; padding: 0; margin-top: 1.25%;}
#sec03 .sec03_box dl dt figure.logo{ margin-bottom: 1.25%;}
#sec03 .sec03_box dl dt figure.logo img{ height: 7.5vw;}
#sec03 .sec03_box dl dt h4{ font-size: 5vw; margin-bottom: 1.25%;}
#sec03 .sec03_box dl dt p{ font-size: 3vw; margin: 0;}
#sec03 .sec03_box h5{ font-size: 5vw; margin-bottom: 1.25%;}
#sec03 .sec03_box p{ font-size: 3vw; margin: 0 5%;}
#sec03 .sec03_box figure.img{ margin-top: 5%;}
#sec03 .sec03_box figure.img img{ width: 90%;}
}

#sec03 .sec03_box#sec03_1{ background: rgba(213,196,165,0.3); z-index: 3;}
#sec03 .sec03_box#sec03_1 dl{ margin-top: 0;}
#sec03 .sec03_box#sec03_2{ padding: 100px 0 60px; background: #fff; z-index: 5;}
#sec03 .sec03_box#sec03_2:before{ content: ""; width: 100%; height: 100px; background: url("../images/sec03_02_top.png") center bottom no-repeat; background-size: cover; position: absolute; left: 0; right: 0; top: 0; margin: auto;}
#sec03 .sec03_box#sec03_2 dl{ margin-top: -40px; flex-direction: row;}
#sec03 .sec03_box#sec03_3{ padding: 120px 0 1px; background: #f0f0f0; z-index: 5;}
#sec03 .sec03_box#sec03_3:before{ content: ""; width: 100%; height: 120px; background: url("../images/sec03_03_top.png") center bottom no-repeat; background-size: cover; position: absolute; left: 0; right: 0; top: 0; margin: auto;}
#sec03 .sec03_box#sec03_3 dl{ margin-top: -30px;}
#sec03 .sec03_box#sec03_4{ padding: 120px 0 60px; background: #fff; z-index: 5;}
#sec03 .sec03_box#sec03_4:before{ content: ""; width: 100%; height: 190px; background: url("../images/sec03_04_top.png") center bottom no-repeat; background-size: cover; position: absolute; left: 0; right: 0; top: 0; margin: auto;}
#sec03 .sec03_box#sec03_4 dl{ margin-top: 60px;}
#sec03 .sec03_box#sec03_4 dl dt{ color: #a76294;}
@media screen and (max-width:768px){
#sec03 .sec03_box#sec03_2{ padding: 10% 0 5%;}
#sec03 .sec03_box#sec03_2:before{ height: 6.66vw; background: url("../images/sec03_02_top_smp.png") center bottom no-repeat; background-size: cover;}
#sec03 .sec03_box#sec03_2 dl{ margin-top: 0;}
#sec03 .sec03_box#sec03_3{ padding: 10% 0 2.5%;}
#sec03 .sec03_box#sec03_3:before{ height: 8vw; background: url("../images/sec03_03_top_smp.png") center bottom no-repeat; background-size: cover;}
#sec03 .sec03_box#sec03_3 dl{ margin-top: 0;}
#sec03 .sec03_box#sec03_3 dl dd img{ width: 50%;}
#sec03 .sec03_box#sec03_4{ padding: 20% 0 10%;}
#sec03 .sec03_box#sec03_4:before{ height: 20vw; background: url("../images/sec03_04_top_smp.png") center bottom no-repeat; background-size: cover;}
#sec03 .sec03_box#sec03_4 dl{ margin-top: 0;}
#sec03 .sec03_box#sec03_4 figure.img img{ width: 67.5%;}
}





/*option*/
#option h2{ text-align: center; background: #bca475; color: #fff; font-size: 60px; line-height: 1em; letter-spacing: 0.1em; padding: 0.25em;}
#option h2 strong{ display: inline-block; vertical-align: middle;}
#option h2 span{ display: inline-block; vertical-align: middle; font-size: 24px; margin-left: 20px;}
#option .lead dl{ display: flex; flex-direction: row-reverse; align-items: center;}
#option .lead dl dt{ width: 600px;}
#option .lead dl dd{ width: calc(100% - 600px);}
#option .lead dl dd p{ font-size: 32px;}
@media screen and (max-width:768px){
#option h2{ font-size: 7.5vw;}
#option h2 span{ font-size: 3.5vw; margin-left: 2.5%;}
#option .lead{ margin-bottom: 10%;}
#option .lead dl{ display: block;}
#option .lead dl dt{ width: 100%;}
#option .lead dl dd{ width: 100%; padding: 0 5%; margin-top: -2.5%;}
#option .lead dl dd p{ font-size: 3.5vw; text-align: center;}
}

#option .option_list{ padding: 80px 0; color: #1a1a1a;}
#option .option_list h3{ text-align: center; margin-bottom: 30px;}
#option .option_list h3 strong{ display: inline-block; padding: 0.125em 0.75em; font-size: 48px; font-weight: 700; border: 1px solid #000; color: #000;}
#option .option_list h3 sup{ vertical-align: sub; font-size: 66.66%; position: relative; bottom: 0.33em;}
#option .option_list h4{ text-align: center; font-size: 32px; line-height: 1.25em; margin-bottom: 10px; position: relative; z-index: 5;}
#option .option_list h4 span{ display: block; font-size: 28px;}
@media screen and (max-width:768px){
#option .option_list{ padding: 10% 5%;}
#option .option_list h3{ margin-bottom: 2.5%;}
#option .option_list h3 strong{ font-size: 5vw; min-width: 50%;}
#option .option_list h4{ font-size: 5vw; margin-bottom: 2.5%;}
#option .option_list h4 span{ font-size: 4vw;}
}

#option .option_list .price{ text-align: center; max-width: 580px; margin: 0 auto 30px; position: relative; z-index: 1;}
#option .option_list .price figure{ position: absolute; z-index: -1;}
#option .option_list .price h4{ font-size: 32px; line-height: 1.25em; margin-bottom: 10px;}
#option .option_list .price h4 span{ display: block; font-size: 28px;}
#option .option_list .price p{ font-size: 21px; line-height: 1.5em; margin: 0 50px; text-align: left; margin-bottom: 30px;}
#option .option_list .price dl{ display: flex; justify-content: space-between; max-width: 480px; margin: auto;}
#option .option_list .price dl dt{ display: flex; align-items: center; font-size: 21px;}
#option .option_list .price li:nth-child(1) dl dt{ font-size: 16px;}
#option .option_list .price dl dt span{ display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; background: #262626; color: #fff; font-size: 16px; margin-left: 10px; border-radius: 50%;}
#option .option_list .price dl dt span strong{ font-size: 22px;}
#option .option_list .price dl dd{ text-align: right; display: flex; align-items: flex-end; justify-content: flex-end;}
#option .option_list .price dl dd span{ font-size: 45px; line-height: 1em; padding-bottom: 0.125em;}
#option .option_list .price dl dd strong{ font-size: 69px; line-height: 1em; margin: 0 0.05em;}
#option .option_list .price dl dd small{ font-size: 18px; line-height: 1em; padding-bottom: 0.75em; writing-mode: vertical-rl; -ms-writing-mode: tb-rl;}
@media screen and (max-width:768px){
#option .option_list .price{ width: 100%; margin: 5% auto; display: flex; flex-direction: row-reverse; align-items: center;}
#option .option_list .price figure{ position: static; width: 37.5%;}
#option .option_list .price .price_in{ width: 62.5%; margin-left: 5%;}
#option .option_list .price h4{ font-size: 4vw; margin-bottom: 2.5%;}
#option .option_list .price h4 span{ font-size: 4vw;}
#option .option_list .price p{ font-size: 3.5vw; margin: 0; margin-bottom: 5%;}
#option .option_list .price dl{ display: block; max-width: 100%; text-align: left;}
#option .option_list .price dl dt{ display: block; font-size: 3.5vw; position: relative;}
#option .option_list .price li:nth-child(1) dl dt{ font-size: 3vw;}
#option .option_list .price li:nth-child(2){ margin-top: 2.5%;}
#option .option_list .price dl dt span{ position: absolute; left: 0; bottom: -11.25vw; width: 10vw; height: 10vw; font-size: 3vw; margin: 0;}
#option .option_list .price dl dt span strong{ font-size: 4vw;}
#option .option_list .price dl dd span{ font-size: 6vw;}
#option .option_list .price dl dd strong{ font-size: 12vw;}
#option .option_list .price dl dd small{ font-size: 3vw;}
}

#option .option_list .info{ text-align: center; max-width: 580px; margin: 0 auto; position: relative; z-index: 1;}
#option .option_list .info h4{ font-size: 30px; line-height: 1.25em; margin-bottom: 10px;}
#option .option_list .info p{ font-size: 21px; line-height: 1.5em; text-align: left;}
#option .option_list .info figure{ position: absolute; z-index: -1;}
@media screen and (max-width:768px){
#option .option_list .info{ display: flex; align-items: center; flex-direction: row; width: 100%;}
#option .option_list .info figure{ position: static; width: 45%;}
#option .option_list .info .info_in{ width: 50%; margin-right: 5%;}
#option .option_list .info h4{ font-size: 4vw; text-align: left; margin-bottom: 2.5%;}
#option .option_list .info p{ font-size: 3.5vw;}
}

#option .option_list .merit{ text-align: center; width: 960px; margin: 45px auto 0; position: relative;}
#option .option_list .merit h4{ font-size: 28px; margin-bottom: 20px;}
#option .option_list .merit ul{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; width: calc(100% + 30px); margin: -10px -15px -10px 0;}
#option .option_list .merit ul li{ display: flex; align-items: center; justify-content: center; font-size: 21px; width: calc(33.33% - 30px); margin: 10px 15px; padding: 0.125em 0; border-radius: 2em;}
#option .option_list .merit ul li:nth-child(4){ margin-left: 30px;}
#option .option_list .merit ul li:nth-child(5){ margin-right: 30px;}
#option .option_list .merit ul li{
background: rgb(213,196,165);
background: -moz-linear-gradient(left,  rgba(213,196,165,1) 0%, rgba(243,237,228,1) 50%, rgba(213,196,165,1) 100%);
background: -webkit-linear-gradient(left,  rgba(213,196,165,1) 0%,rgba(243,237,228,1) 50%,rgba(213,196,165,1) 100%);
background: linear-gradient(to right,  rgba(213,196,165,1) 0%,rgba(243,237,228,1) 50%,rgba(213,196,165,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d5c4a5', endColorstr='#d5c4a5',GradientType=1 );
}
@media screen and (max-width:768px){
#option .option_list .merit{ width: 100%; margin: 7.5% auto 0;}
#option .option_list .merit h4{ font-size: 4vw; margin-bottom: 3.75%;}
#option .option_list .merit ul{ width: calc(100% + 5vw); margin: -1.25vw -2.5vw -1.25vw;}
#option .option_list .merit ul li{ font-size: 3vw; width: calc(50% - 2.5vw); margin: 1.25vw 1.25vw;}
#option .option_list .merit ul li:nth-child(4){ margin-left: 1.25vw;}
#option .option_list .merit ul li:nth-child(5){ margin-right: 1.25vw;}
}

/*個別調整*/
#option .option_list#option01 .price dl{ max-width: 480px;}
#option .option_list#option01 .price figure{ right: -260px; top: -80px;}
#option .option_list#option01 .info{ max-width: 640px;}
#option .option_list#option01 .info figure{ left: -380px; bottom: 40px;}
@media screen and (max-width:768px){
#option .option_list#option01 .price dl{ max-width: 100%;}
#option .option_list#option01 .info{ max-width: 100%;}
}

#option .option_list#option02 .price dl{ max-width: 550px;}
#option .option_list#option02 .price figure{ right: -320px; top: -240px;}
#option .option_list#option02 h4.info_h4{ color: #a6922f; font-size: 42px;}
#option .option_list#option02 .info{ max-width: 960px; margin-top: 45px;}
#option .option_list#option02 .info h4{ color: #a6922f; font-size: 42px;}
#option .option_list#option02 .info figure{ left: -100px; bottom: 110px;}
@media screen and (max-width:768px){
#option .option_list#option02 .price{ flex-direction: row;}
#option .option_list#option02 .price figure img{ width: calc(100% + 10vw); max-width: calc(100% + 10vw); margin-left: -5vw;}
#option .option_list#option02 .price dl{ max-width: 100%;}
#option .option_list#option02 .price .price_in{ width: 62.5%; margin-left: 0; margin-right: 5%;}
#option .option_list#option02 .price h4{ margin-bottom: 7.5%;}
#option .option_list#option02 h4.info_h4{ color: #736357; font-size: 5vw;}
#option .option_list#option02 .info{ max-width: 100%; flex-direction: row-reverse;}
#option .option_list#option02 .info figure{ position: static; width: 25%;}
#option .option_list#option02 .info .info_in{ width: 75%; margin-right: 0; margin-left: 5%;}
#option .option_list#option02 .info h4{ font-size: 4vw;}
#option .option_list#option02 .info p{ font-size: 3vw;}
}

#option .option_list#option03 .price{ position: relative; left: 210px; text-align: left;}
#option .option_list#option03 .price h4{ margin-bottom: 45px; text-align: left;}
#option .option_list#option03 .price dl{ max-width: 480px; margin: 0 auto 0 0;}
#option .option_list#option03 .price figure{ left: -480px; top: -120px;}
#option .option_list#option03 .info{ max-width: 960px; text-align: left; left: 210px;}
@media screen and (max-width:768px){
#option .option_list#option03{ padding-bottom: 0;}
#option .option_list#option03 .price{ position: static; left: 0; text-align: center; display: block;}
#option .option_list#option03 .price figure{ width: 100%;}
#option .option_list#option03 .price figure img{ width: 66.66%;}
#option .option_list#option03 .price .price_in{ width: 100%; margin: 2.5% auto 0;}
#option .option_list#option03 .price h4{ margin-bottom: 5%; text-align: center;}
#option .option_list#option03 .price dl{ display: flex; max-width: 95%; margin: 0 auto;}
#option .option_list#option03 .price dl dt{ display: flex; align-items: center; width: 50%;}
#option .option_list#option03 .price dl dt span{ position: static; margin-left: 5%;}
#option .option_list#option03 .price dl dd{ width: 50%;}
#option .option_list#option03 .info{ max-width: 100%; left: 0; text-align: center; display: block;}
#option .option_list#option03 .info .info_in{ width: 100%;}
#option .option_list#option03 .info .info_in h4{ text-align: center;}
#option .option_list#option03 .merit ul li:nth-child(3){ width: calc(60% - 2.5vw);}
}

#option .option_list#option04 h4{ position: relative; left: 160px; text-align: left; max-width: 580px; margin: 0 auto 20px;}
#option .option_list#option04 .price{ position: relative; left: 170px; text-align: left;}
#option .option_list#option04 .price p{ margin: 0 210px 0 0;}
#option .option_list#option04 .price dl{ max-width: 300px;}
#option .option_list#option04 .price figure{ right: -540px; top: -300px;}
#option .option_list#option04 .price ul{ position: absolute; right: -60px; bottom: 0;}
#option .option_list#option04 .info{ max-width: 800px; position: relative; left: 280px; text-align: left;}
#option .option_list#option04 .info figure{ left: -360px; bottom: -80px;}
#option .option_list#option04 .info h4{ position: static; left: 0; text-align: left; max-width: 100%;}
@media screen and (max-width:768px){
#option .option_list#option04 h4{ position: static; left: 0; text-align: center; max-width: 100%; margin: 0 auto 2.5%; font-size: 4.5vw;}
#option .option_list#option04 .price{ position: static;}
#option .option_list#option04 .price p{ margin: 0;}
#option .option_list#option04 .price dl{ max-width: 100%;}
#option .option_list#option04 .price figure{ width: 42.5%; z-index: 0;}
#option .option_list#option04 .price figure img{ width: calc(100% + 10vw); max-width: calc(100% + 5vw); margin-left: -5vw;}
#option .option_list#option04 .price .price_in{ width: 52.5%}
#option .option_list#option04 .price ul{ position: static; margin-top: 10%;}
#option .option_list#option04 .info{ max-width: 100%; position: static; left: 0; text-align: center;}
#option .option_list#option04 .info .info_in{ width: 100%;}
#option .option_list#option04 .info h4{ text-align: center; font-size: 3.5vw;}
}

#option01,
#option03{
background: rgb(230,230,230);
background: -moz-linear-gradient(top,  rgba(230,230,230,1) 0%, rgba(239,245,221,1) 100%);
background: -webkit-linear-gradient(top,  rgba(230,230,230,1) 0%,rgba(239,245,221,1) 100%);
background: linear-gradient(to bottom,  rgba(230,230,230,1) 0%,rgba(239,245,221,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e6e6e6', endColorstr='#eff5dd',GradientType=0 );
}



/*qa*/
#qa{ background: url("../images/qa_bg.jpg") center center no-repeat; background-size: cover; padding: 0 0 90px;}
#qa h2{ text-align: center; background: #bca475; color: #fff; font-size: 60px; line-height: 1em; letter-spacing: 0.1em; padding: 0.25em; margin-bottom: 40px;}
#qa h2 strong{ display: inline-block; vertical-align: middle;}
#qa h2 span{ display: inline-block; vertical-align: middle; font-size: 24px; margin-left: 20px;}
@media screen and (max-width:768px){
#qa{ padding: 0 0 5%;}
/**#qa:after{ height: 11.5vw; background: url("../images/price_bottom_smp.png") center bottom no-repeat; background-size: 100% 100%; bottom: -11vw;}**/
#qa h2{ font-size: 7.5vw; margin-bottom: 5%;}
#qa h2 span{ font-size: 3.5vw; margin-left: 2.5%;}
}

#qa dl:not(:last-child){ margin-bottom: 40px;}
#qa dl dt{ background: #fff; padding: 20px 20px 20px 80px; font-size: 24px; position: relative;}
#qa dl dt:before{ content: ""; background: url("../images/qa_q.png") center center no-repeat; background-size: 100%; width: 37px; height: 37px; position: absolute; left: 30px; top: 20px;}
#qa dl dd{ background: rgba(255,255,255,0.8); margin-top: 2px; padding: 20px 20px 20px 110px; font-size: 22px; position: relative;}
#qa dl dd:before{ content: ""; background: url("../images/qa_a.png") center center no-repeat; background-size: 100%; width: 37px; height: 37px; position: absolute; left: 60px; top: 20px;}
#qa dl dd.fl p{ float: left; margin-right: 1em;}
#qa dl dd figure{ text-align: left;}
@media screen and (max-width:768px){
#qa dl:not(:last-child){ margin-bottom:5%;}
#qa dl dt{ padding: 2.5vw 2.5vw 2.5vw 8.75vw; font-size: 3.2vw;}
#qa dl dt:before{ width: 4.5vw; height: 4.5vw; left: 2.5vw; top: 3vw;}
#qa dl dd{ padding: 3.75vw 2.5vw 3.75vw 11.25vw; font-size: 3vw;}
#qa dl dd:before{ width: 4.5vw; height: 4.5vw; left: 4.5vw; top: 4.2vw;}
#qa dl dd.fl p{ float:none; margin: 0 0 0.5em;}
#qa dl dd figure img{ height: 6vw;}
}



/*price*/
#price{ background: #d5c4a5; padding: 0 0 40px; position: relative;}
/**#price:after{ content: ""; width: 100%; height: 116px; background: url("../images/price_bottom.png") center bottom no-repeat; background-size: cover; position: absolute; left: 0; right: 0; bottom: -115px; margin: auto;}**/
#price h2{ text-align: center; background: #bca475; color: #fff; font-size: 60px; line-height: 1em; letter-spacing: 0.1em; padding: 0.25em; margin-bottom: 40px;}
#price h2 strong{ display: inline-block; vertical-align: middle;}
#price h2 span{ display: inline-block; vertical-align: middle; font-size: 24px; margin-left: 20px;}
@media screen and (max-width:768px){
#price{ padding: 0 0 2.5%;}
/**#price:after{ height: 11.5vw; background: url("../images/price_bottom_smp.png") center bottom no-repeat; background-size: 100% 100%; bottom: -11vw;}**/
#price h2{ font-size: 7.5vw; margin-bottom: 5%;}
#price h2 span{ font-size: 3.5vw; margin-left: 2.5%;}
}

#price h3{ text-align: center; font-size: 28px; color: #534741; margin: 60px auto 20px;}
#price .price01{ background: #fff; color: #534741; border: 1px solid #a6922f; padding: 15px 0; box-shadow:rgba(0, 0, 0, 0.25) -4px 4px 8px 4px;}
#price .price01 ul{ display: flex; align-items: center; justify-content: center;}
#price .price01 ul li{ width: 50%; text-align: center; display: flex; align-items: center; justify-content: center; padding: 10px 0;}
#price .price01 ul li:nth-child(1){ border-right: 1px solid #bca475;}
#price .price01 ul li strong{ font-size: 32px; font-weight: normal; margin-right: 20px;}
#price .price01 ul li span.din{ font-size: 60px;}
#price .price01 ul li span.din small{ font-size: 40px;}
#price .price01 ul li small{ font-size: 21px;}
@media screen and (max-width:768px){
#price h3{ font-size: 4vw; margin: 7.5% auto 2.5%;}
#price .price01{ padding: 2.5% 0;}
#price .price01 ul li{ padding: 1.25% 0;}
#price .price01 ul li strong{ font-size: 3.5vw; margin-right: 1.25%;}
#price .price01 ul li span.din{ font-size: 7vw;}
#price .price01 ul li span.din small{ font-size: 4vw;}
#price .price01 ul li small{ font-size: 2.5vw;}
}

#price .price02{ background: #fff; color: #534741; border: 1px solid #a6922f; padding: 15px 45px; margin: 0 auto 30px; box-shadow:rgba(0, 0, 0, 0.25) -4px 4px 8px 4px;}
#price .price02 ul li{ padding: 10px 15px; border-bottom: 1px solid #a6922f;}
#price .price02 ul li:last-child{ border-bottom: none;}
#price .price02 dl{ display: flex; align-items: center; justify-content: space-between;}
#price .price02 dl dt{ width: 380px; text-align: center;}
#price .price02 dl dt strong{ display: block; font-size: 32px; font-weight: normal;}
#price .price02 dl dt span{ display: block; font-size: 21px;}
#price .price02 dl dd:nth-child(2){ width: 290px;}
#price .price02 dl dd:nth-child(3){ width: 290px;}
#price .price02 dl dd strong{ font-size: 24px; font-weight: normal; margin-right: 10px;}
#price .price02 dl dd span.din{ font-size: 58px;}
#price .price02 dl dd span.din small{ font-size: 36px;}
#price .price02 dl dd span.din span.cut{ position: relative;}
#price .price02 dl dd span.din span.cut:after{ content: ""; width: 100%; height: 2px; background: #c30d23; position: absolute; left: 0; top: 50%; transform: translateY(-50%) rotate(22.5deg);}
#price .price02 dl dd small{ font-size: 20px;}
@media screen and (max-width:768px){
#price .price02{ padding: 2.5%; margin: 0 auto 5%;}
#price .price02 ul li{ padding: 3.75% 0;}
#price .price02 dl{ flex-wrap: wrap;}
#price .price02 dl dt{ width: 100%;}
#price .price02 dl dt strong{ display: inline-block; font-size: 4.5vw;}
#price .price02 dl dt span{ display: inline-block; font-size: 3vw;}
#price .price02 dl dd:nth-child(2){ width: 50%; padding-left: 5%;}
#price .price02 dl dd:nth-child(3){ width: 50%; padding-right: 5%;}
#price .price02 dl dd strong{ font-size: 3.5vw; margin-right: 1.25%;}
#price .price02 dl dd span.din{ font-size: 7vw;}
#price .price02 dl dd span.din small{ font-size: 4vw;}
#price .price02 dl dd small{ font-size: 2.5vw;}
}
#price .price02 dl dd:last-child{ text-align: right;}
#price .price02 dl dd.red{ position: relative;}
#price .price02 dl dd.red:before{ content: ""; background: url("../images/price_arrow.png") center center no-repeat; width: 48px; height: 48px; background-size: 100%; position: absolute; left: -24px; top: 50%; transform: translateY(-50%);}
#price .price02 dl dd.red span.din{ font-size: 80px;}
#price .price02 dl dd.red span.din small{ font-size: 45px;}
#price .price02 dl dd.red small{ font-size: 21px;}
@media screen and (max-width:768px){
#price .price02 dl dd.red:before{ width: 5vw; height: 5vw; left: -2.5vw;}
#price .price02 dl dd.red span.din{ font-size: 10vw;}
#price .price02 dl dd.red span.din small{ font-size: 6vw;}
#price .price02 dl dd.red small{ font-size: 2.5vw;}
}
#price .price02 dl dt.default{ width: 620px; text-align: left;}
#price .price02 dl dt.default strong{ display: inline-block; vertical-align: middle;}
#price .price02 dl dt.default span{ display: inline-block; vertical-align: middle;}
#price .price02 dl dd.default{ width: calc(100% - 640px);}
#price .price02 dl dd.default strong{ font-size: 28px;}
#price .price02 dl dd.default span.din{ font-size: 60px;}
#price .price02 dl dd.default span.din small{ font-size: 40px;}
#price .price02 dl dd.default small{ font-size: 21px;}
@media screen and (max-width:768px){
#price .price02 dl dt.default{ width: 60%;}
#price .price02 dl dt.default.default2{ width: 50%;}
#price .price02 dl dt.default strong{ display: block;}
#price .price02 dl dt.default span{ display: block;}
#price .price02 dl dt.default.default2 span{ font-size: 2.25vw;}
#price .price02 dl dd.default{ width: 40%;}
#price .price02 dl dd.default.default2{ width: 50%;}
#price .price02 dl dd.default strong{ font-size: 4vw; margin-right: 5%;}
#price .price02 dl dd.default span.din{ font-size: 8vw;}
#price .price02 dl dd.default span.din small{ font-size: 4.5vw;}
#price .price02 dl dd.default small{ font-size: 2.5vw;}
}



/*access*/
#access{ color: #262626; padding: 0 0 60px;}
#access h2{ text-align: center; background: #bca475; color: #fff; font-size: 60px; line-height: 1em; letter-spacing: 0.1em; padding: 0.25em; margin-bottom: 40px;}
#access dl{ display: flex; align-items: center; justify-content: center; margin: 0 auto 60px;}
#access dl dt{ width: 280px; margin-right: 50px;}
#access dl dd{ width: 640px;}
#access dl dd h3{ background: #262626; color: #fff; font-size: 24px; line-height: 1em; letter-spacing: 0.1em; padding: 0.5em; text-align: center; margin-bottom: 30px;}
#access dl dd h4{ font-size: 45px; margin-bottom: 20px; text-align: center;}
#access dl dd h4 span{ display: block; margin-bottom: 15px;}
#access dl dd h4 span img{ width: 100%;}
#access dl dd p{ font-size: 21px; margin: 0;}
@media screen and (max-width:768px){
#access{ padding: 0 0 5%;}
#access h2{ font-size: 7.5vw; margin-bottom: 5%;}
#access dl{ display: block; margin: 0 auto 7.5%;}
#access dl dt{ width: 100%; margin: 0 auto 5%; text-align: center;}
#access dl dt img{ width: 40%;}
#access dl dd{ width: 100%;}
#access dl dd h3{ background: none; color: #000; font-size: 3vw; padding: 0; margin-bottom: 2.5%;}
#access dl dd h4{ font-size: 6vw; margin-bottom: 1.25%;}
#access dl dd h4 span{ display: block; margin-bottom: 1.25%;}
#access dl dd p{ font-size: 3.25vw; text-align: center;}
#access dl dd p:last-child{ background: #ccc; padding: 0.125em; font-size: 3.5vw; margin-top: 1.25%;}
}

#access .follow{ text-align: center;}
#access .follow p{ font-size: 32px; margin-bottom: 10px;}
#access .gmap{ margin: 30px auto;}
#access .gmap iframe{ width: 100%; height: 480px; vertical-align: bottom;}
@media screen and (max-width:768px){
#access .follow{ display: flex; flex-direction: row-reverse; align-items: center; margin: auto;}
#access .follow p{ margin: 0; font-size: 4.2vw; line-height: 1.25em;}
#access .follow figure{ width: 11.25vw; margin-right: 5%;}
#access .gmap{ margin: 5% auto 2.5%;}
#access .gmap iframe{ width: 100%; height: 66.66vw;}
}

#access .access_info{ text-align: center;}
#access .access_info p{ font-size: 24px; margin-bottom: 10px;}
#access .access_info ul{ width: 960px; margin: 0 auto; text-align: center; letter-spacing: -1em; border: 1px solid #333a46; padding: 20px;}
#access .access_info ul li{ display: inline-block; letter-spacing: 0; margin: 0 0.5em; font-size: 24px;}
@media screen and (max-width:768px){
#access .access_info p{ font-size: 4vw; margin-bottom: 1.25%;}
#access .access_info ul{ width: 100%; padding: 2.5% 0;}
#access .access_info ul li{ font-size: 3.5vw;}
}



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