@charset "UTF-8";
/*++++++++++++++++++++++++++ IMPORT ++++++++++++++++++++++++++*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,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;vertical-align:baseline;}html{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0;}caption,th,td{text-align:left;font-weight:normal;vertical-align:middle;}q,blockquote{quotes:none}q:before,q:after,blockquote:before,blockquote:after{content:"";content:none;}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}
/*++++++++++++++++++++++++++ PARTS ++++++++++++++++++++++++++*/
.parts-logo { background: url(../img/logo_header.png) no-repeat center; }
.parts-logoL { background: url(../img/logo_concept.png) no-repeat center; }
.parts-logo_hd { background: url(../img/reicious_logo.png) no-repeat center; }
.parts-logo_ft { background: url(../img/reicious_logo.png) no-repeat center; }
/*++++++++++++++++++++++++++ FONT ++++++++++++++++++++++++++*/
@font-face { font-family: 'MyYuGothic'; font-weight: normal; src: local('YuGothic-Medium'), local('Yu Gothic Medium'), local('YuGothic-Regular'); }
@font-face { font-family: 'MyYuGothic'; font-weight: bold; src: local('YuGothic-Bold'), local('Yu Gothic'); }
@font-face { font-family: 'MyYuMincho'; font-weight: normal; src: local('YuMincho-Medium'), local('Yu Mincho Medium'), local('YuMincho-Regular'); }
@font-face { font-family: 'MyYuMincho'; font-weight: bold; src: local('YuMincho-Bold'), local('Yu Mincho'); }
.gothic { font-family: MyYuGothic, YuGothic, sans-serif; }
.mincho { font-family: MyYuMincho, YuMincho, sans-serif; }
/*++++++++++++++++++++++++++ COMMON ++++++++++++++++++++++++++*/
html, body { width: 100%; overflow-x: hidden; font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", MyYuGothic, メイリオ, sans-serif; background: #5c8cd0; font-size: 13px; line-height: 1.8; font-weight: 400; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-font-size-adjust: 100%; overscroll-behavior-y: none; }
* { box-sizing: border-box; }
a { text-decoration: none; }
img { vertical-align: bottom; }
.en { font-family: 'Roboto', sans-serif; }
.min { font-family: 'Noto Serif JP', 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', MyYuMincho, serif; }
.center { text-align: center; }
.big { font-size: 1.25em; }
.small { font-size: .8em; }
.note { display: block; font-size: 0.9rem; margin-top: 2em; margin-bottom: 1em; color: #666; border-top: 1px solid #dadada; padding-top: 2em; }
.memo { background: rgba(0, 0, 0, 0.5); color: #fff; font-size: 0.8rem; line-height: 1.4; max-width: 89%; padding: 4px 5px; position: absolute; bottom: 10px; right: 10px; text-align: right; }
.only-sp { display: none; }
.nbr { display: inline-block; }
.box { margin: 0 auto; width: 980px; padding-left: 10px; padding-right: 10px; }
#wrap { width: 100%; position: relative; z-index: 10; }
.bg { position: fixed; left: 0; top: 0; right: 0; bottom: 0; background: url(../img/allbk_blur.jpg) no-repeat center top; background-size: cover; }
.page_btns { background: #000; padding: 30px; }
.btns { width: 500px; display: flex; justify-content: space-between; padding: 0; }
.btns li { display: block; position: relative; height: 43px; width: 240px; margin: 0; -moz-perspective: 1000; -webkit-perspective: 1000; -o-perspective: 1000; -ms-perspective: 1000; }
.btns li a { display: block; line-height: 41px; height: 41px; width: 100%; background: #000; border: 1px solid #BEAF8A; text-align: center; font-family: "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", MyYuMincho, YuMincho, serif; color: #fff; letter-spacing: 1px; font-size: 14px; }
.btns li, .btns li a { transition: all 0.3s; }
.btns .icon-pointer { position: absolute; right: 13px; top: 13px; width: 1em; height: 1em; fill: #BEAF8A; }
.btns li a.front { transform-origin: center bottom; transform: rotateX(0deg); }
.btns li a.back { transform-origin: center top; opacity: 0; transform: rotateX(-90deg); }
.btns li:hover a.front { transform: rotateX(90deg); opacity: 0; margin: -45px 0 0 0; }
.btns li:hover a.back { opacity: 1; transform: rotateX(0deg); }
/*+++++++ HEADER +++++++*/
header { position: relative; z-index: 800; }
#header { position: relative; z-index: 1; border-bottom: 1px solid #BEAF8A; background: #000; }
.hd_inner { color: #fff; }
.hd_inner:after { content: ''; display: table; clear: both; }
.hd_inner a { display: flex; color: #fff; height: 100%; align-items: center; }
.hd_inner .site-logo { float: left; text-indent: -9999px; display: block; margin: 8px 0; height: 48px; }
.hd_inner .site-logo a.parts-logo { width: 318px; height: 48px; background-size: 318px auto; background-position: 0px -4px; }
.hd_inner .parts-logo_hd { text-indent: -9999px; width: 80px; height: 50px; background-size: 80px auto; }
.hd_address { height: 64px; float: right; display: flex; font-size: 1.1rem; letter-spacing: 0.04em; }
.hd_address > ul { display: flex; }
.hd_address > div, .hd_address > ul > li { display: flex; align-items: center; margin-left: 2em; }
.hd_address .icon { fill: #BEAF8A; width: 1.5em; height: 1.5em; margin-right: 0.5em; }
.hd_address .icon-tel { width: 1.3em; margin-left: 0.2em; }
#header .company { height: 64px; float: right; display: flex; align-items: center; margin-left: 3em; }
.nav_toggle { display: none; }
#nav { background: rgba(0, 0, 0, 0.4); z-index: 1000; position: absolute; left: 0; top: 65px; width: 100%; height: 48px; transition: background 0.3s; }
#nav:hover { background: rgba(0, 0, 0, 0.9); }
#nav ul { display: flex; justify-content: space-between; font-weight: 700; }
#nav ul li { width: calc(100% / 7); }
#nav ul li:first-child a { border-left: 1px solid rgba(255, 255, 255, 0.2); }
#nav ul li a { display: flex; align-items: center; justify-content: center; align-items: center; padding: 0; line-height: 1; text-align: center; border-right: 1px solid rgba(255, 255, 255, 0.2); margin: 8px 0; transition: all 0.2s; color: rgba(255, 255, 255, 0.8); }
#nav ul li a:hover { color: rgba(255, 255, 255, 1); }
#nav.fixed { position: fixed; top: 0; width: 100%; background: #000; border-top: 1px solid #BEAF8A; z-index: 10000; left: 0; }
#nav .btns { display: none; }
/*+++++++ CONTENT +++++++*/
#content { position: relative; }
/*+++++++ SUBNAV +++++++*/
.page-foot { position: relative; background: rgba(0, 0, 0, 0.8); padding: 30px 0; margin-top: 80px; }
#subnav { display: flex; justify-content: space-between; margin: 30px 0; }
#subnav li { width: calc(100% / 6.4); }
#subnav li a { display: block; padding: 2em 0; border: 1px solid rgba(255, 255, 255, 0.2); color: #fff; text-align: center; background: rgba(0, 0, 0, 0); transition: all 0.2s; cursor: pointer; }
#subnav li a:hover { background: rgba(0, 0, 0, 0.6); transform: translateY(-10px); }
#subnav li .icon { fill: #fff; width: 3em; height: 3em; }
#subnav li a span { display: block; }
#subnav li a span.txt-l { font-size: 1.1rem; font-weight: 700; }
#subnav li a span.txt-s { font-size: 0.9rem; font-weight: 700; text-transform: uppercase; }
/*+++++++ FOOTER +++++++*/
#footer { position: relative; background: #000; }
#footer a { color: #fff; }
#footer .btns { width: 100%; padding: 40px 0 20px; display: flex; justify-content: space-between; }
#footer .btns li { width: 48%; width: calc(50% - 8px); }
#footer .btns li a { width: 100%; border-top: none; border-left: none; border-right: none; }
#address { padding: 30px 0; }
#address:after { content: ""; display: block; clear: both; }
#address li { float: left; color: #eee; }
#address li.adR { float: right; display: flex; padding: 20px 0 10px; font-size: 1.1rem; letter-spacing: 0.04em; }
#address li.adR > div { display: flex; align-items: center; margin-left: 2em; }
#address li.adR .icon { fill: #BEAF8A; width: 1.5em; height: 1.5em; margin-right: 0.5em; }
#address li.adR .icon-tel { width: 1.3em; margin-left: 0.2em; }
#address li.adM { font-size: 0.9rem; color: #888; line-height: 1.7; padding: 10px 30px; }
#address li a.parts-logo_ft { text-indent: -9999px; display: block; width: 100px; height: 65px; background-size: 100% auto; }
.tags { height: 0; overflow: hidden; }
/*+++++++ TOP +++++++*/
.mainVisual { height: 30vw; }
.mainVisual .bg { background: url(../img/allbk.jpg) no-repeat center top; background-size: cover; }
.conceptWrap { position: relative; background: #fff; margin-bottom: -80px; }
.conceptWrap .subbd { padding: 80px 30px; }
.conceptHd { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 60px; }
.conceptHd .conceptMainTxt { display: block; margin-bottom: 1.5em; margin-right: 40px; }
.conceptHd .conceptMainTxt img { max-width: 100%; }
.conceptMain { width: 600px; }
.conceptAppr { width: 320px; text-align: right; margin-bottom: -240px; border-radius: 2px; overflow: hidden; }
.conceptAccess { background: #ededed; margin: 60px -60px; padding: 40px 60px; }
.subbd .conceptAccess h3 { margin-right: 360px; }
.conceptAccess .accessHeading { font-size: 1.4rem; margin-bottom: 0; font-weight: 400; }
.conceptBd { display: flex; justify-content: space-between; align-items: center; margin-top: 60px; }
.parts-logoL { width: 250px; height: 250px; margin-right: 60px; background-size: contain; border: 1px solid #dadada; border-radius: 2px; }
.conceptTxt { width: 620px; }
.wideAreaView { width: 100%; }
.wideAreaView img { width: 100%; vertical-align: bottom; }
.appearanceBd { position: relative; }
.rectangle { position: absolute; left: -60px; right: -60px; top: 280px; height: 165px; background: #ededed; }
.subbd_appr { width: 46%; }
.apprImg { position: relative; margin-bottom: 2em; text-align: center; }
.subbd_appr .apprImg img { width: 480px; }
.apprTxt { margin-bottom: 2em; }
.subbd .subbd_appr h3 { font-size: 2.4rem; text-align: center; }
.subbd_appr h3 .ja { display: block; font-size: 1.1rem; color: #666; font-weight: 400; font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", MyYuGothic, メイリオ, sans-serif; }
.subbd_appr p { font-size: 1.1rem; }
/*+++++++ SUB +++++++*/
#sub { width: 980px; padding-left: 10px; padding-right: 10px; margin: 0 auto; color: #333; position: relative; z-index: 10 }
.subwrap { border: 5px solid rgba(255, 255, 255, 0.15); margin-bottom: 20px; }
.subhd { padding: 100px 0 40px 0; text-align: center; }
.subbd { background: rgba(255, 255, 255, 0.95); padding: 30px; }
.subhd h1 .icon { fill: #fff; width: 32px; height: 32px; }
.subhd h1 span { color: #fff; display: block; line-height: 1.6; }
.subhd h1 span.txt-l { font-size: 2.2rem; line-height: 1.2; margin-bottom: 0.2em; }
.subhd h1 span.txt-s { font-size: 1.3rem; text-transform: uppercase; }
.subhd h1 span.txt-s:after { content:attr(data-entitle); }
.subbd img { max-width: 100%; }
.subbd h2 { font-size: 1.9rem; margin: 0 0 1em; font-family: 'Noto Serif JP', 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', MyYuMincho, serif; }
.subbd h2 .small { font-size: 0.9em; }
.subbd h2 sup { font-size: 0.8em; vertical-align: super; }
.subbd h3 { font-size: 1.6rem; margin: 0 0 1em; font-family: 'Noto Serif JP', 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', MyYuMincho, serif; }
.subbd h3.nmt { margin: 0 0 20px; }
.subbd h4 { font-size: 1.3rem; margin: 0 0 1em; font-family: 'Noto Serif JP', 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', MyYuMincho, serif; }
h3.bgbk { background: #000; color: #fff; padding: 0.75em 0.8em; font-size: 1.1rem; margin: 2em 0 1.5em 0; line-height: 1.4; font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", MyYuGothic, メイリオ, sans-serif; }

.subbdLR { display: flex; justify-content: space-between; flex-wrap: wrap; }
.subbdLR.reverse { flex-direction: row-reverse; }
.subbdLR p { font-size: 1.1rem; margin: 0 0 3em 0; text-align: justify; }
.subbdLR p sup { font-size: 10px; vertical-align: super; }
.subbdLR .attention { font-size: 10px; line-height: 1.5; font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", MyYuGothic, メイリオ, sans-serif; }
.subbdLR .subbd_txt { width: 500px; }
.subbdLR .subbd_img { width: 360px; height: 270px; }
.subbd_txt .note { border-top: none; padding-top: 0; }
.subbd_img { position: relative; text-align: center; }
.subbd_img img { width: 100%; }
.subbd_img .memo { left: auto; right: 10px; text-align: right; }
.subbdLR_half { display: flex; justify-content: space-between; flex-wrap: wrap; }
.subbdLR_half + .subbdLR_half { margin-top: 50px; }
.subbdLR_half.reverse { flex-direction: row-reverse; }
.subbdLR_half .subbd_txt { width: 500px; border-top: 1px solid #dadada; padding-top: 2em; }
.subbdLR_half .subbd_img { width: 360px; }
.subbdLR_half .subbd_img img { width: 100%; }
.subbdLR_half.reverse .subbd_img .memo { left: 10px; right: auto; text-align: left; }

/*++ LOCATION ++*/
#location #map { width: 100%; height: 370px; border: 1px solid #dadada; border-bottom: none; }
#location #map .mapWrao { min-height: 16px; width: auto !important; }
#maplistBd { display: flex; border-left: 1px solid #dadada; border-top: 1px solid #dadada; }
#maplistBd .listL ul li { border-bottom: 1px solid #dadada; border-right: 1px solid #dadada; font-size: 0.9rem; line-height: 1.4em; min-height: 2.5em; padding: 0.5em 0.4em 0.5em 0.8em; }
#maplistBd .listL ul li.lhead { background: #000; color: #fff; font-family: 'Roboto', sans-serif; font-weight: 700; }
#maplistBd .listL ul li.maplink { cursor: pointer; }
#maplistBd .listL ul li.maplink.disabled { cursor: default; }
#maplistBd .listL ul li.maplink .icon-pointer { width: 1em; height: 1em; fill: #3e85b3; vertical-align: text-bottom; }
#maplistBd .listL { width: 33.3333%; }
#maplistBd .listL .maplink:hover { color: #0094fb; }
#maplistBd .listL ul li.space { background: none; cursor: default; }

/*++ ACSESS ++*/
.accessHeading { margin: 0 0 2em; }
.accessHeading .line { font-size: 1.2rem; display: block; margin-top: 1em; }
.accessHeading .line:first-child { margin-top: 0; }
.station-main { margin-bottom: 1em; }
.station-sub { margin-top: 0.5em; font-size: 1.2rem; }
.station-sub .line { display: inline-block; font-size: 1rem; }
.station-sub .big { font-size: 1.1em; }
.accessFig { margin-top: 2em; margin-bottom: 1em; border: 1px solid #dadada; }
.accessStation_list,
.accessSimulation { position: relative; display: flex; justify-content: space-between; flex-wrap: wrap; margin-bottom: 1em; }
.accessStation_list dl { width: 48.5%; border-bottom: 1px solid #dadada; padding-bottom: 1em; margin-bottom: 1em; }
.accessStation_list dl dd { padding-left: 1em; padding-right: 1em; }
.accessStation .note { padding-top: 0; border-top: none; }
.accessStation dl dt { font-weight: 700; margin: 0 0.5em 0.5em 0; }
.accessStation dl dd { font-size: 0.9rem; }
.accessHalfBox { width: 48.5%; }
.accessFullBox { width: 100%; }
.accessFullBox + .accessFullBox { margin-top: 2em; }
.accessFullBox img { width: 100%; }
.taxiSimulation { width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap; text-align: center; font-weight: 700; }
.taxiSimulation li { margin-bottom: 1em; }
.taxiSimulation li.col1-4 { width: 23%; }
.taxiSimulation li.col1-3 { width: 31.3333%; }
.taxiSimulation li.col1-2 { width: 48%; }
.taxiSimulation p { margin: 0; }
.taxiSimulation .taxiStPoint { background: #000; color: #fff; font-size: 1.2rem; padding: 4px; margin-bottom: 1em; }
.taxiSimulation .taxiPrice { font-size: 1.3rem; font-weight: 700; }
.taxiSimulation .taxiPrice .big { display: inline-block; margin: 0 3px; }
/*++ SUMMARY ++*/
.subbdLR_table { margin: 30px 0 0 0; display: flex; justify-content: space-between; flex-wrap: wrap; }
.tablelists { width: 435px; font-size: 1rem; border-bottom: 1px solid #dadada; border-left: 1px solid #dadada; margin: 0 0 30px 0; }
.tablelists td { padding: 1em; border-top: 1px solid #dadada; border-right: 1px solid #dadada; line-height: 1.4; }
.tablelists tr td:first-child { width: 100px; }
.tablelists thead td { background: #000; color: #fff; padding: 10px 12px; }
/*++ ACCORDION ++*/
.acGroup { border-top: 1px dotted #ccc; }
.acHeader { position: relative; cursor: pointer; padding: 1em 0 1.5em; }
.acHeader h2 { margin-bottom: 0; padding-left: 10px; }
.acHeader h2 .subtext { display: inline-block; margin-left: 10px; font-size: 0.6em; }
.acBody { display: none; margin-bottom: 3em; }
.acIcon { position: absolute; right: 1em; top: 2.25em; width: 1.5em; overflow: hidden; height: 1.5em; }
.acIcon .icon { width: 100%; height: 100%; transition: all .2s; }
.acIcon .icon-close { position: absolute; left: 0; top: 100%; opacity: 0; }
.acHeader.on .acIcon .icon-open { opacity: 0; transform: translateY(-100%); }
.acHeader.on .acIcon .icon-close { opacity: 1; transform: translateY(-100%); }
/*++ SPEC ++*/
.specHd { margin: 0 0 3em; }
.specHd .hl { font-size: 1.8rem; margin: 0 0 1em; font-weight: 700; }
.specBd { margin: 3em 0 2em; border-bottom: 1px solid #dadada; }
.specBd .acBody { background: #fff; padding: 30px; }
.specBd .acHeader h2 .subtext { margin-left: 0; }
.specGroup ul { display: flex; flex-wrap: wrap; margin: 0 -1.5%; }
.specGroup ul li { position: relative; width: 22%; margin: 0 1.5% 30px; border-top: 1px solid #dadada; }
.specGroup ul li.col1 { width: 22%; }
.specGroup ul li.col1_3 { width: 30.3333%; }
.specGroup ul li.col1_2 { width: 63.6666%; }
.specGroup ul li.col2 { width: 47%; }
.specGroup ul li.col3 { width: 72%; }
.specGroup ul li.col4 { width: 97%; }
.specGroup ul img { position: relative; width: 100%; border: 1px solid #dadada; margin-top: -2px; }
.specGroup .spec-item-ttl { font-size: 1rem; margin: 1em 0 0.25em; line-height: 1.8; font-weight: 700; color: #222; }
.specGroup .spec-item-ttl .note {display: inline-block; margin-bottom: 0;}
.specGroup p { font-size: 1rem; color: #666; line-height: 1.6; margin: 0 0 1em; text-align: justify; }
.specGroup p sup {font-size: 80%; vertical-align: super;}
.specGroup .note { margin-top: 0; }
.specGroup ul li .note { font-size: 0.8em; border: none; padding-top: 0; }
/*++ FLOOR ++*/
.floorBd { display: flex; justify-content: space-between; flex-wrap: wrap; margin-bottom: 3em; }
.floorSide { position: relative; width: 40%; margin: -30px 0 0 -30px; background: #fff; overflow: hidden; }
.floorGuide { border: 1px solid #dadada; margin: 1em; text-align: center; }
.floorGuide img { width: 480px; }
.floorAppearance { position: relative; height: 240px; overflow: hidden; }
.floorAppearance img { vertical-align: top; }
.floorSideInner { transform: translate(0); }
.floorMain { width: 60%; border-bottom: 1px solid #dadada; }
.floorMain p { line-height: 2; margin-left: 10px; margin-bottom: 0.5em; font-size: 0.9rem; }
.floorMain p.subtext { font-weight: 700; }
.floorMain .floorFigure { width: 100%; border: 1px solid #dadada; background: #fff; padding: 2em 0; margin: 1em 0; text-align: center; }
.floorMain .roomNumber { font-weight: 700; font-size: 1.2rem; background: #eee; padding: 0.1em 1em; margin-left: 0; margin-bottom: 1em; }
.floorft p { font-size: 0.9rem; margin: 1em 0; }
/**REQUEST**/
.contacthd { padding: 40px 0; background: #fff; }
.contacthd .btns { width: 225px; margin: 0 auto; }
.contacthd { display: flex; justify-content: space-between; }
.contacthd > div { display: flex; align-items: center; height: 66px; width: 33%; padding: 0 30px; border-left: 1px solid #ccc; }
.contacthd svg { fill: #3e85b3; width: 4em; height: 4em; }
.contacthd svg.icon-tel { fill: #3e85b3; width: 3.6em; height: 4em; }
.contacthd dl dt { font-size: 1.2rem; color: #595656; line-height: 1.4; }
.contacthd dl dd { font-family: 'Roboto', sans-serif; font-size: 2rem; color: #3e85b3; letter-spacing: 0.04em; }
.contacthd dl dt, .contacthd dl dd { padding-left: 10px; }
.contacthd .last { justify-content: center; }
/*++++++++++++++++++++++++++ FORM ++++++++++++++++++++++++++*/
div#mfp_hidden { overflow: hidden; width: 1px; height: 1px; padding: 0px; margin: 0px; }
div#mfp_hidden input { margin: 10px; }
/*************** base ***************/
.subbd #form { margin: 30px 0; }
.subbd #form table { border: 1px solid #dadada; margin-bottom: 20px; width: 100%; font-size: 1.1rem; }
.subbd #form table td, .subbd #form table th { border-bottom: 1px solid #dadada; padding: 16px 15px; }
.subbd #form table tr:last-child td, .subbd #form table tr:last-child th { border-bottom: none; }
.subbd #form table td { color: #666; display: flex; gap: 0.25rem; }
.subbd #form table th { border-right: 1px solid #dadada; width: 223px; }
.subbd #form table th.th2 { width: 93px; }
.subbd #form table th.address { width: 130px; vertical-align: top; padding-top: 26px; }
.subbd #form table th.comment { vertical-align: top; padding-top: 26px; }
.subbd #form table th .must { display: inline-block; padding: 2px 5px; font-size: 0.9rem; color: #fff; border-radius: 4px; background-color: #3e85b3; margin-right: 10px; line-height: 1.4; }
/*************** input ***************/
form#mailformpro input, form#mailformpro textarea { font-size: 1.1rem; padding: 5px 8px; margin: 5px; vertical-align: middle; border: 1px solid #777; }
form#mailformpro input:focus, form#mailformpro textarea:focus { outline: none; border-color: #4cb2f1; box-shadow: 0px 4px 6px 0 rgba(0,0,0,0.05); }
form#mailformpro select { vertical-align: middle; font-size: 1.1rem; }
/*************** buttons ***************/
.subbd #form .formbtn { cursor: pointer; outline: none; color: #fff; font-size: 2rem; width: 100%; display: flex; justify-content: center; border: 1px solid #fdc800; background: #000; font-family: 'Noto Serif JP', 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', MyYuMincho, serif; padding: 20px; }
#form .btns { width: 100%; }
#form .btns li { float: right; display: block; position: relative; height: 80px; width: 100%; -moz-perspective: 1000; -webkit-perspective: 1000; -o-perspective: 1000; -ms-perspective: 1000; }
#form .btns li button { display: block; height: 80px; width: 100%; }
#form .btns li, .btns li button { transition: all 0.3s; }
#form .btns li button.front { transform-origin: center bottom; }
#form .btns li button.back { transform-origin: center top; opacity: 0; transform: rotateX(-90deg); color: #fdc800; }
#form .btns li:hover button.front { transform: rotateX(90deg); opacity: 0; margin: -80px 0 0 0; }
#form .btns li:hover button.back { opacity: 1; transform: rotateX(0deg); }
/*************** confirm ***************/
.subbd #form #mfp_confirm_table { border-spacing: 0px; border-collapse: collapse; width: 100%; }
.subbd #form #mfp_confirm_table tr th { font-size: 1rem; white-space: nowrap; }
.subbd #form #mfp_confirm_table tr td { font-size: 1rem; word-break: break-all; color: #000; }
div.mfp_buttons { clear: both; padding: 15px 0px 0; text-align: center; }
div.mfp_buttons button { cursor: pointer; width: 100%; font-size: 2rem; outline: none; font-family: 'Noto Serif JP', 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', MyYuMincho, serif; transition: all 0.2s; }
div.mfp_buttons button#mfp_button_send { color: #fff; border: 1px solid #fdc800; background: #000; padding: 20px; }
div.mfp_buttons button#mfp_button_send:hover { color: #fdc800; }
div.mfp_buttons button#mfp_button_cancel { color: #666; font-size: 1.4rem; border: 1px solid #aaa; background: rgba(0, 0, 0, 0.05); padding: 10px; }
div.mfp_buttons button#mfp_button_cancel:hover { color: #000; background: rgba(0, 0, 0, 0.1); }
/*************** confirm.flat ***************/
div#mfp_phase_confirm h4 { font-size: 1.2rem; margin: 20px 0 0; padding: 20px 0; border-top: 1px solid #fff; }
/*************** loading ***************/
div#mfp_loading_screen { z-index: 20000; opacity: 0.8; display: none; position: absolute; }
div#mfp_loading { z-index: 20001; position: absolute; display: none; width: 40px; height: 40px; }
/*************** error ***************/
div.mfp_err { clear: both; display: none; text-align: left; margin: 5px 0px 0px 0px; padding: 3px 0px; color: #ff1414; font-size: 0.9rem; line-height: normal; background-image: none; }
form#mailformpro .mfp_parent_error { border: solid 2px #ff1414; }
form#mailformpro .problem, form#mailformpro .problem:focus { border-color: #ff8989; }
div#mfp_error { background-color: #ff8989; padding: 10px; display: none; }
div#mfp_error p { padding: 0px; margin: 0px; font-size: 1.1rem; text-align: center; }
div#mfp_error p strong { font-size: 1.2rem; color: #ff1414; }
/*************** worning ***************/
div#mfp_warning { padding: 10px; display: none; }
div#mfp_warning p { padding: 0px; margin: 0px; color: #ff1414; font-size: 1.1rem; text-align: center; }
div#mfp_warning p strong { font-size: 1.2rem; }
/*************** thanks ***************/
#thanks { text-align: center; padding: 60px 0; }
#thanks p { text-align: center; margin-bottom: 0; }
/*++++++++++++++++++++++++++ RESPONSIVE ++++++++++++++++++++++++++*/
@media screen and (max-width: 768px) {
	.only-pc { display: none; }
	.only-sp { display: block; }
	/*++++++++++++++++++++++++++ COMMON ++++++++++++++++++++++++++*/
	html, body { font-size: 12px; }
	.box { margin: 0 auto; width: 90%; padding-left: 0; padding-right: 0; }
	.bg { bottom: auto; height: 225vw; background: url(../img/allbk_blur.jpg) no-repeat center top; background-size: cover; }
	.page_btns { padding: 20px 5%; }
	.btns { width: 100%; }
	.btns li { width: 48%; }
	.btns li, .btns li a { transition:none; }
	.btns li a { padding-right: 20px; line-height: 48px; height: 48px; }
	.btns li a.back { display: none; }
	.btns li:hover a.front { transform: none; opacity: 1; margin: 0; }
	.btns .icon-pointer { width: 24px; height: 24px; right: 12px; top: 11px; }
	/*+++++++ HEADER +++++++*/
	#header { padding-top: 61px; }
	.hd_inner { display: flex; justify-content: space-between; }
	.hd_inner .site-logo { margin: 8px 0; }
	.hd_main { position: fixed; z-index: 1000; top: 0; left: 0; right: 0; height: 61px; padding-left: 5vw; background: #000; border-bottom: 1px solid #BEAF8A; }
	.hd_address { width: 100%; justify-content: space-between; height: 52px; }
	.hd_address > ul > li { margin-left: -3px; margin-right: 16px; }
	#header .company { height: 52px; margin-left: 10px; margin-right: 0; }
	#header .company { display: none; }
	.hd_inner .parts-logo_hd { width: 48px; height: 48px; background-size: 48px auto; }
	.hd_inner .nav_toggle { position: absolute; right: 0; top: 0; width: 60px; height: 60px; display: flex; justify-content: center; align-items: center; background: #f3bd00; }
	.nav_toggle .in { position: relative; display: block; width: 20px; height: 20px; }
	.nav_toggle .in span { position: absolute; left: 0; top: 50%; width: 100%; height: 1px; background: #000; }
	.nav_toggle .in span.l1 { transform: translateY(-7px); }
	.nav_toggle .in span.l2 { transform: translateY(-1px); }
	.nav_toggle .in span.l3 { transform: translateY(5px); }
	.is-navopen .nav_toggle .in span.l1 { transform: translateY(-7px); }
	.is-navopen .nav_toggle .in span.l2 { transform: translateY(-1px); }
	.is-navopen .nav_toggle .in span.l3 { transform: translateY(5px); }
	.is-navopen { overflow: hidden; }
	.is-navopen body { height: 100%; }
	#nav { height: auto; }
	#nav, #nav.fixed { position: fixed; z-index: 900; top: 61px; left: 0; right: 0; bottom: 0; width: 100%; display: flex; flex-direction: column; justify-content: space-between; transition: all 0.3s ease-in-out; transform: translateY(-100%); opacity: 0; }
	#nav, #nav.fixed, #nav:hover { background: rgba(25, 25, 25, 0.98); }
	#nav ul { padding: 5vh 0; height: 100%; flex-wrap: wrap; }
	#nav ul li { width: 100%; margin: 4px; }
	#nav ul li a, #nav ul li:first-child a { border: none; }
	#nav ul li a { height: 48px; margin: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.3rem; }
	#nav .btns { display: flex; justify-content: space-between; flex-direction: row; background: #000; padding: 10px 5vw 40px; }
	#nav .btns li { width: 48%; width: calc(50% - 10px); height: auto; }
	#header #nav .btns li a { border-bottom: 1px solid #BEAF8A; padding-bottom: 1em; height: 48px; font-size: 1.1rem; }
	#header #nav .btns li a.back{ display: none; }
	#nav .btns .icon-pointer { display: none; }
	#nav .stgr { opacity: 0; transform: translateY(-40px); }
	.is-navopen #nav, .is-navopen #nav.fixed { opacity: 1; transform: translateY(0); }
	/*+++++++ SUBNAV +++++++*/
	.page-foot { padding: 1px 0; margin-top: 0; }
	#subnav { flex-wrap: wrap; margin: 20px -4px; }
	#subnav li { width: calc(100% / 3 - 8px); margin: 4px; }
	#subnav li a { margin: 0; padding: 1.5em 0; transition: none; }
	#subnav li a:hover { transform: none; }
	#subnav li .icon { width: 48px; height: 48px; }
	/*+++++++ FOOTER +++++++*/
	#footer .btns { padding: 20px 0; }
	#footer .btns a { padding: 0; }
	#address { padding: 30px 0; }
	#address li { float: none; }
	#address li.adR { display: none; }
	#address li.adM { padding: 20px 0 0; }
	#address li a.parts-logo_ft { width: 100px; height: 48px; }
	/*+++++++ TOP +++++++*/
	.mainVisual { display: none }
	.conceptWrap { margin-bottom: 0; }
	.conceptWrap .subbd { padding: 0 0 30px; }
	.conceptHd { flex-direction: column-reverse; margin: 0 0 30px; }
	.conceptMain { width: auto; }
	.conceptAppr { width: 100vw; margin: 0 -5vw 30px; border-radius: 0; text-align: center; }
	.conceptAppr img { width: 100%; max-width: 480px; }
	.conceptAccess { margin: 30px -5vw; padding: 30px 5vw; }
	.subbd .conceptAccess h3 { margin-right: 0; }
	.conceptBd { display: block; margin-top: 30px; }
	.parts-logoL { margin: 0 auto; height: 200px; background-position: 50%; border: none; }
	.conceptTxt { width: auto; }
	.wideAreaView { width: 100%; }
	.rectangle { display: none; }
	.appearanceBd .subbdLR_half { margin-top: 0; }
	.subbd_appr { width: 100%; }
	.apprTxt { margin-bottom: 3em; }
	.subbd .subbd_appr h3 { background: #ededed; margin: 0 -5vw -40px; padding: 30px 5vw 60px; }
	.conceptHd .conceptMainTxt .mediaSp { max-width: 120%; width: 120%; height: auto;}
	/*+++++++ SUB +++++++*/
	#sub { width: auto; padding-left: 0; padding-right: 0; }
	.subwrap { border: none; margin-bottom: 0; }
	.subhd { padding: 40px 0 40px 0; }
	.subbd { background: rgba(255, 255, 255, 1); padding: 30px 5%; }
	.subbd h2 { font-size: 1.8rem; margin: 0 0 1em; }
	.subbd h3 { font-size: 1.6rem; margin: 0 0 1em; }
	.subbd h4 { font-size: 1.3rem; }
	.subbd h2 br {display: none;}
	h3.bgbk { padding: 0.75em 0.8em; font-size: 1.1rem; margin: 0 0 1.5em 0; }
	.subbdLR .subbd_txt { width: 100%; margin-bottom: 3em; }
	.subbdLR .subbd_img { width: 100%; height: auto;}
	.subbdLR_half { margin: 0; }
	.subbdLR_half + .subbdLR_half { margin-top: 3em; }
	.subbdLR_half .subbd_txt { width: 100%; border-top: 1px solid #dadada; margin-bottom: 2em; }
	.subbdLR_half .subbd_img { width: 100%; }
	.subbdLR_half.reverse .subbd_img .memo { left: auto; right: 10px; text-align: right; }
	/*++ LOCATION ++*/
	#location #map { height: 320px; }
	#maplistBd { display: flex; flex-wrap: wrap; border-top: none; }
	#maplistBd .listL { width: 100%; }
	#maplistBd .listL ul { display: flex; flex-wrap: wrap; border-top: 1px solid #dadada; }
	#maplistBd .listL ul li { width: 50%; }
	#maplistBd .listL ul li.lhead { width: 100%; }
	#maplistBd .listL ul li.maplink.disabled { display: none; }
	#maplistBd .listL li { display: none; }
	#maplistBd .listL li.maplink,
	#maplistBd .listL li.lhead { display: block; }
	#maplistBd .listL ul li.maplink { min-height: 48px; display: flex; align-items: center; }
	/*++ ACSESS ++*/
	.accessHeading { margin: 0 0 3em; }
	.accessStation_list:after { display: none; }
	.accessStation_list dl { width: 100%; }
	.accessStation_list dl dd { padding-left: 1em; padding-right: 1em; }
	.accessStation dl dt { font-weight: 700; margin: 0 0.5em 0.5em 0; }
	.accessStation dl dd { font-size: 0.9rem; }
	.accessHalfBox,
	.accessFullBox { width: 100%; }
	.accessHalfBox + .accessHalfBox,
	.accessFullBox + .accessFullBox { margin-top: 2em; }
	.taxiSimulation li { margin-bottom: 24px; }
	.taxiSimulation li.col1-4,
	.taxiSimulation li.col1-3,
	.taxiSimulation li.col1-2 { width: 48%; }
	/*++ SUMMARY ++*/
	.tablelists { width: 100%; }
	.tablelists td { padding: 10px 8px; }
	.tablelists tr td:first-child { width: 100px; }
	.tablelists thead td { padding: 10px 8px; }
	/*++ ACCORDION ++*/
	.acHeader h2 { margin-bottom: 0; padding-left: 5px; }
	.acBody { display: none; margin-bottom: 2em; }
	/*++ SPEC ++*/
	.specBd .acBody { background: #fff; padding: 0; }
	.specGroup ul { margin: 0 -2%; }
	.specGroup ul li { margin: 0 2% 20px; border-top: none; }
	.specGroup ul li,
	.specGroup ul li.col1,
	.specGroup ul li.col1_3 { width: 46%; }
	.specGroup ul li.col2,
	.specGroup ul li.col3,
	.specGroup ul li.col4,
	.specGroup ul li.col1_2 { width: 96%; }
	.specGroup ul li.col2 li.col2 { width: 46%; }
	.specGroup ul img { margin-top: 0; }
	.specGroup h4 { font-size: 1rem; margin: 1em 0 0.25em; line-height: 1.8; font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", MyYuGothic, メイリオ, sans-serif; font-weight: 700; }
	.specGroup p { font-size: 0.9rem; color: #666; line-height: 1.6; margin: 0 0 1em; text-align: justify; }
	.specGroup .note { margin: 0 0 3em; padding: 1em; background: #ededed; border-top: none; }
	.specGroup ul li .note { margin: 0 0 2em; padding: 0; background: none; }
	/*++ FLOOR ++*/
	.floorBd { margin-bottom: 3em; }
	.floorSide { width: 100%; margin: 0; background: #fff; }
	.floorGuide { margin: 0 0 1em; border: none; }
	.floorAppearance { display: none; }
	.floorSideInner { transform: translate(0)!important; }
	.floorMain { width: 100%; }
	/**REQUEST**/
	.contacthd { padding: 0; }
	.contacthd .btns { width: 100%; }
	.contacthd .btns li { margin: 10px auto; width: 225px; }
	.contacthd { display: block; }
	.contacthd > div { justify-content: center; height: auto; width: 100%; padding: 20px 5vw; border-left: none; border-bottom: 1px solid #3e85b3; }
	.contacthd .tel a, .contacthd .fax a { color: #3e85b3; margin-right: 0.25em; }
	/*++++++++++++++++++++++++++ FORM ++++++++++++++++++++++++++*/
	.subbd #form { margin: 30px 0; }
	.subbd #form table { border-bottom: none; margin-bottom: 16px; background: #f9f9f9; }
	.subbd #form table td, .subbd #form table th { display: block; margin: 0; border-bottom: 1px solid #dadada; padding: 16px 15px; }
	.subbd #form table td { padding-top: 0; }
	.subbd #form table th { border-right: none; border-bottom: none; width: 100%; padding-bottom: 8px; }
	.subbd #form table th.th2,
	.subbd #form table th.address { width: 100%; }
	.subbd #form table th.comment { padding-top: 16px; }
	/*************** input ***************/
	form#mailformpro input, form#mailformpro textarea { width: 100%; margin: 5px 0; padding: 8px 12px; border-radius: 6px; font-size: 16px; }
	form#mailformpro .input-small input { width: auto; margin: 0 5px; }
	.input-g-s { display: inline-block; margin: 0.5em 0 0; width: 100%; }
	form#mailformpro .input-small .input-g-s .guide-label { display: inline-block; width: 20%; width: 4em; text-align: right; padding-right: 1em; }
	form#mailformpro .input-small .input-g-s input { width: 70%; width: calc(100% - 5em); }
	/*************** buttons ***************/
	#form .btns li, .btns li button { transition: none; }
	#form .btns li button.back { display: none; }
	#form .btns li:hover button.front { transform: none; opacity: 1; margin: 0; }
	/*************** confirm ***************/
	div.mfp_buttons button { transition: none; }
	/*************** confirm.flat ***************/
	div#mfp_phase_confirm h4 { margin: 0; padding: 0 0 20px; }
	/*************** thanks ***************/
	#thanks { padding: 30px 5vw; }
	#thanks p,
	#thanks h2 { width: 100%; }
}
@media screen and (max-width:320px) {
	.btns li a { padding-right: 25px; }
	.btns .icon-pointer { right: 6px; top: 11px; }
	/*+++++++ HEADER +++++++*/
	.hd_inner .site-logo a.parts-logo { width: 240px; height: 48px; background-size: 240px auto; background-position: 0; }
	.hd_inner .parts-logo_hd { width: 48px; height: 48px; background-size: 48px auto; }
	#header .company { display: none; }
	#nav ul li { width: 45%; width: calc(50% - 8px); }
}
