@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;600&display=swap');

/*	TBS reset
============================== */
body { line-height:1;}
.alt {position:absolute;top:-5000px;left:-9999px;}
.clearfix:after {content:"";clear:both;display:block;}
.hide-txt {text-indent:110%;white-space:nowrap;overflow:hidden;}
.fp-causion {display:none;}
@media all and (min-width:768px) {
.alt-pc {position:absolute;top:-5000px;left:-9999px;}
.clearfix-pc:after {content:"";clear:both;display:block;}
.hide-txt-pc {text-indent:110%;white-space:nowrap;overflow:hidden;}
}
@media all and (max-width:767px) {
.alt-smp {position:absolute;top:-5000px;left:-9999px;}
.clearfix-smp:after {content:"";clear:both;display:block;}
.hide-txt-smp {text-indent:110%;white-space:nowrap;overflow:hidden;}
}

/*	RESETS NL4.0.0base
============================== */
html, body, main, div, p, span, applet, 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, section, summary, time, mark, audio, ruby { margin: 0; padding: 0; border: 0; font-size: 100%; vertical-align: baseline; }
ol, ul, li { list-style: none; }
a img, form, fieldset { border: none; }
input, button, select { vertical-align: middle; }
textarea { vertical-align: top; overflow: auto; }
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary, .dpb { display: block; }
audio, canvas, progress { display: inline-block; }
progress { vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
[hidden], template, .nt, .alt { display: none; }
a { background-color: transparent; }
a:active, a:hover { outline-width: 0; }
a:hover { text-decoration: none; }
abbr { cursor: help; border-bottom: 1px dotted #bbb; }
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
b, strong, .bt { font-weight: 600; }
dfn { font-style: italic; }
mark { background: yellow; color: black; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { border-style: none; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
figure { margin: 1em 40px; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
optgroup { font-weight: bold; }
button, input, select { overflow: visible; } /*Edge, IE*/
button, input, select, textarea { margin: 0; } /*Firefox and Safari*/
button, select { text-transform: none; } /*Edge, Firefox, and IE*/
button, [type="button"], [type="reset"], [type="submit"] { cursor: pointer; }
[disabled] { cursor: default; }
button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; } /*Android 4, iOS*/
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } /*Firefox*/
button:-moz-focusring, input:-moz-focusring { outline: 1px dotted ButtonText; }
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; } /*Edge and IE ...etc*/
textarea { overflow: auto; } /*IE*/
[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; } /*IE10-*/
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } /*Chrome*/
[type="search"] { -webkit-appearance: textfield; } /*Chrome and Safari*/
[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } /*Chrome and Safari on OS X*/
pre { overflow: auto; }
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; display: table;}
q:after, blockquote:after { clear: both; }
q::after, blockquote::after { content: ""; display: block; clear: both;}
.clearfix:before, .clearfix:after { content: ""; content: none; display: table;}
.clearfix:after { clear: both; }
.clearfix::after { content: ""; display: block; clear: both;}
.tCenter, .ct { text-align: center;}
.tLeft, .lt { text-align: left;}
.tRight, .rt { text-align: right;}
@media print { .noprint { display: none;} }
/*txt*/
.nt { display: none;}
.bt { font-weight: bold; font-weight: 600;}
.ut { font-weight: lighter;}
.br_rsmp, .br_wsmp, .br_tablet, .br_pc, .br_wpc, .br_bwpc, .br_rsmpi, .br_wsmpi, .br_tableti, .br_pci, .br_wpci, .br_pci, .br_bwpci { display: none; }
.br_smp { display: -webkit-block; display: block; }
.br_smpi { display: -webkit-inline; display: inline; }
@media (min-width: 480px) { 
.br_smp, .br_smpi { display: none; } 
.br_rsmp { display: -webkit-block; display: block; } 
.br_rsmpi { display: -webkit-inline; display: inline; } 
}
@media (min-width: 640px) { 
.br_rsmp, .br_rsmpi { display: none; } 
.br_wsmp { display: -webkit-block; display: block; } 
.br_wsmpi { display: -webkit-inline; display: inline; } 
}
@media (min-width: 768px) { 
.br_wsmp, .br_wsmpi { display: none; } 
.br_tablet { display: -webkit-block; display: block; } 
.br_tableti { display: -webkit-inline; display: inline; } 
}
@media (min-width: 1000px) { 
.br_tablet, .br_tableti { display: none; } 
.br_pc { display: -webkit-block; display: block; } 
.br_pci { display: -webkit-inline; display: inline; } 
}
@media (min-width: 1200px) { 
.br_pc, .br_pci { display: none; } 
.br_wpc { display: -webkit-block; display: block; } 
.br_wpci { display: -webkit-inline; display: inline; } 
}
@media (min-width: 1400px) { 
.br_wpc, .br_wpci { display: none; } 
.br_bwpc { display: -webkit-block; display: block; } 
.br_bwpci { display: -webkit-inline; display: inline; } 
}
br { letter-spacing: 0; }
.ct { text-align: center;}
.lt { text-align: left;}
.rt { text-align: right;}
/*_size*/
.f300 { font-size: 300%;}
.f240 { font-size: 240%;}
.f220 { font-size: 220%;}
.f200 { font-size: 200%;}
.f180 { font-size: 180%;}
.f170 { font-size: 180%;}
.f160 { font-size: 160%;}
.f150 { font-size: 150%;}
.f140 { font-size: 140%;}
.f130 { font-size: 130%;}
.f125 { font-size: 125%;}
.f120, .big { font-size: 120%;}
.f110 { font-size: 110%;}
.f105 { font-size: 105%;}
.f100 { font-size: 100%;}
.f95 { font-size: 95%;}
.f90, .small { font-size: 90%;}
.f85 { line-height: normal; font-size: 85% !important;}
.f75 { line-height: normal; font-size: 75% !important;}
.f65 { line-height: normal; font-size: 65% !important;}
.f64 { line-height: normal; font-size: 64% !important;}
.f60 { line-height: normal; font-size: 60% !important;}
/*_height*/
.lh100 { line-height: 100%;}
.lh110 { line-height: 110%;}
.lh120 { line-height: 120%;}
.lh130 { line-height: 130%;}
.lh140 { line-height: 140%;}
.lh150 { line-height: 150%;}
.lh160 { line-height: 160%;}
.lh170 { line-height: 170%;}
.lh180 { line-height: 180%;}
.lh200 { line-height: 200%;}
.lh230 { line-height: 230%;}
/*space*/
.pd0 { padding: 0;}
.pd1 { padding: 1em;}
.pdt1 { padding-top: 1em;}
.pdt3 { padding-top: 3em;}
.pdt0 { padding-top: 0;}
.pdt05 { padding-top: .5em;}
.pdb05 { padding-bottom: .5em;}
.pdb0 { padding-bottom: 0;}
.pdb1 { padding-bottom: 1em;}
.pdl1 { padding-left: 1em;}
.pd05 { padding: .5em;}
.mgat { margin: auto;}
.mgtb1 { margin: 1em auto;}
.ls-1 { letter-spacing: -.1em;}
.ls-05 { letter-spacing: -0.05em;}
.ls-075 { letter-spacing: -0.075em;}
.ls0 { letter-spacing: 0;}
.ls1 { letter-spacing: .1em;}
.ls2 { letter-spacing: .2em;}
/*color*/
.black { color: rgba(0, 0, 0, 1);}
.lamp { color: rgba(42, 43, 46, 1);}
.chacoal { color: rgba(59, 63, 74, 1);}
.steel { color: rgba(129, 137, 157, 1);}
.silver { color: rgba(192, 196, 206, 1);}
.pearl { color: rgba(236, 237, 240, 1);}
.snow { color: rgba(246, 247, 250, 1);}
.white { color: rgba(255, 255, 255, 1);}
.blue { color: rgba(0, 80, 255, 1);}
.water { color: rgba(120, 180, 255, 1);}
.sky { color: rgba(160, 200, 250, 1);}
.green { color: rgba(50, 200, 60, 1);}
.yellow { color: rgba(255, 240, 0, 1);}
.orange { color: rgba(255, 170, 30, 1);}
.pink { color: rgba(255, 145, 160, 1);}
.red { color: rgba(255, 60, 30, 1);}
.navy { color: rgba(28, 37, 80, 1);}
.col { color: rgba(122, 30, 37, 1);}
.col1 { color: rgba(179, 11, 23, 1);}
.col2 { color: rgba(122, 58, 30, 1);}
a { text-decoration: none;}
a:link { color: rgba(255, 255, 255, 1);}
a:visited { color: rgba(255, 255, 255, 1);}
a:active { color: rgba(122, 30, 37, 1);}
a:hover { color: rgba(255, 255, 255, .8);}
.bktotop a { color: rgba(255, 255, 255, 1);}
.nolnk { opacity: .35;}
.sdt { text-shadow: 1px 1px 3px rgba(0, 0, 0, .2);}
.sdt2 { text-shadow: 1px 1px 4px rgba(0, 0, 0, .1);}
.kome li { padding-left: 1em;}
.kome li::before { content: '※ '; margin-left: -1.25em;}
/*etc*/
@media print { .noprint { display: none;} }
.cover { width: 100%; height: 100%; background: url(../img/cover.png) repeat; display: block; position: absolute; top: 0; left: 0; }
.cover img { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.nt_txt { font-size: 0; width: 0; height: 0; overflow: hidden; opacity: 0;}
/*lazyload*/
.lazyload, .lazyloading { opacity: 0;}
.lazyloaded { opacity: 1; transition: all 2500ms;}
/*loader*/
.loader_sp { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit- transform: translate(-50%, -50%);}
.loader { display: inline-block;}
@-webkit-keyframes ball-scale-multiple { 0% { -webkit-transform: scale(0); transform: scale(0); opacity: 0; } 5% { opacity: 1; } 100% { -webkit-transform: scale(1); transform: scale(1); opacity: 0; } }
@keyframes ball-scale-multiple { 0% { -webkit-transform: scale(0); transform: scale(0); opacity: 0; } 5% { opacity: 1; } 100% { -webkit-transform: scale(1); transform: scale(1); opacity: 0; } }
.ball-scale-multiple { position: relative; -webkit-transform: translateY(-30px); transform: translateY(-30px); }
.ball-scale-multiple > div:nth-child(2) { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; }
.ball-scale-multiple > div:nth-child(3) { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; }
.ball-scale-multiple > div { background-color: rgba(122, 30, 37, .5); width: 15px; height: 15px; border-radius: 100%; margin: 2px; -webkit-animation-fill-mode: both; animation-fill-mode: both; position: absolute; left: -30px; top: 0px; opacity: 0; margin: 0; width: 60px; height: 60px; -webkit-animation: ball-scale-multiple 1s 0s linear infinite; animation: ball-scale-multiple 1s 0s linear infinite; }
/*etc*/
.fadeup { padding-top: .5em; opacity: .75;}
.fadein { opacity: 0;}
@-webkit-keyframes main_kira { 0 { opacity: 0;} 100% { opacity: 1;}}
@keyframes main_kira { 0 { opacity: 0;} 100% { opacity: 1;}}
@-webkit-keyframes main_kira2 { 0 { opacity: 0;} 50% { opacity: 1;} 100% { opacity: 0.5;}}
@keyframes main_kira2 { 0 { opacity: 0;} 50% { opacity: 1;} 100% { opacity: 0.5;}}

/*	COMMON
============================== */
html { overflow-y: visible; min-height: 100%;}
body { width: 100%; position: relative; margin: 0!important; background-color: rgba(0, 0, 0, 1); color: rgba(255, 255, 255, 1); font-family: 'Noto Sans JP', sans-serif; z-index: 0;}
body.fixed { position: fixed; width: 100%; height: 100%; left: 0;}
body a { text-decoration: none; outline-style: none;}
.fix_bg { width: 100%; height: 100%; position: fixed; background-repeat:no-repeat; background-position: center center; background-size: cover; z-index: -1;}
.fix_bg .fix_bgsp { display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
#container { width: 100%; font-size: 80%; font-weight: 300; overflow: hidden;}
#contents { width: 100%;}
.wrap { width: 100%; max-width: 1400px; margin: 0 auto;}

/*	header
============================== */
#header_sp { box-sizing: border-box; width: 100%; height: 80px; position: relative; z-index: 1000;}
#header { box-sizing: border-box; width: 100%; height: 100%; margin: 0 auto; position: relative;}
#head_set { width: 100%; max-width: 1280px; margin: 0 auto; position: relative; z-index: 3000;}
/*logo*/
h1#logo { display: block; width: 36%; max-width: 240px; position: relative; position: absolute; top: 1.5em; left: 1.5em; opacity: 1; z-index: 3000;}
h1#logo #logo_txt { display: block; width: 100%; height: 0; padding-top: 15.590200445434298%; padding-top: -webkit-calc(70 / 449 * 100%); padding-top: calc(70 / 449 * 100%); background-repeat: no-repeat; background-size: contain; position: relative; z-index: 3000;}
h1#logo #logo_txt a { display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 3000;}
h1#logo #logo_txt a:hover { opacity: .8;}
/*for_W960-*/
@media all and (min-width: 960px) {
h1#logo { top: 3em; left: 3em; z-index: 3000;}
#header_sp { height: 100px;}
}
/*for_W1280-*/
@media all and (min-width: 1280px) {
h1#logo { left: calc((100% - 1280px) / 2);}
}
/*for_W1600-*/
@media all and (min-width: 1600px) {
#header_sp { height: 160px;}
}
/*for_W2100-*/
@media all and (min-width: 2100px) {
#header_sp { height: 200px;}
}

/*_contact-mn*/
#header .mn_contact-smp { display: block; width: 28%; max-width: 200px; position: fixed; top: 1.3em; right: calc(21% + 1.5em); -webkit-animation: title0 10000ms linear forwards; animation: title0 10000ms linear forwards; animation-delay: 10000ms; z-index: 5000;}
#header .mn_contact-smp a { display: block; width: 100%; height: 0; padding-top: 25.663716814159292%; padding-top: -webkit-calc(58 / 226 * 100%); padding-top: calc(58 / 226 * 100%); background-repeat: no-repeat; background-size: contain; z-index: 5000;}
#header .mn_contact-smp a:hover { opacity: .75;}
#header .mn_contact { display: block; width: 28%; max-width: 200px; position: absolute; top: 1.3em; right: calc(21% + 1.5em); -webkit-animation: title0 10000ms linear forwards; animation: title0 10000ms linear forwards; animation-delay: 10000ms; z-index: 5000;}
#header .mn_contact a { display: block; width: 100%; height: 0; padding-top: 25.663716814159292%; padding-top: -webkit-calc(58 / 226 * 100%); padding-top: calc(58 / 226 * 100%); background-repeat: no-repeat; background-size: contain; z-index: 5000;}
#header .mn_contact a:hover { opacity: .75;}
@-webkit-keyframes title0 { 0 { opacity: 1;} 100% { opacity: 1; margin-top: 0;}}
@keyframes title0 { 0 { opacity: 1;} 100% { opacity: 1; margin-top: 0;}}
/*_gl_nav*/
#header #gl_nav { display: none;}
/*_jp-en*/
#header .mn_jp-en { display: block; width: 16%; max-width: 70px; min-height: 34px; position: absolute; top: 1.3em; right: 1.5em; z-index: 1000; background: rgba(0, 0, 0, .18); border-radius: 80px; box-shadow: 0px 0px 50px rgba(0, 0, 0, .65); z-index: 5000;}
#header .mn_jp-en .mn_jp0 { display: block; width: 48%; height: 0; padding-top: 48%; position: absolute; top: 0; left: 0;}
#header .mn_jp-en .mn_jp0 a { display: block; width: 100%; height: 0; padding-top: 100%; background-repeat: no-repeat; background-size: contain; background-image: url(../img/jp0.png?0); position: absolute; top: 0; left: 0;}
#header .mn_jp-en .mn_en0 { display: block; width: 48%; height: 0; padding-top: 48%; position: absolute; top: 0; right: 0;}
#header .mn_jp-en .mn_en0 a { display: block; width: 100%; height: 0; padding-top: 100%; background-repeat: no-repeat; background-size: contain; background-image: url(../img/en0.png?0); position: absolute; top: 0; left: 0;}
#header .mn_jp-en .mn_jp0 a:hover, #header .mn_jp-en .mn_en0 a:hover { opacity: .75;}
#header .mn_jp-en .mn_jp { display: block; width: 48%; height: 0; padding-top: 48%; position: absolute; top: 0; left: 0; background-repeat: no-repeat; background-size: contain; background-image: url(../img/jp.png?0);}
#header .mn_jp-en .mn_en { display: block; width: 48%; height: 0; padding-top: 48%; position: absolute; top: 0; right: 0; background-repeat: no-repeat; background-size: contain; background-image: url(../img/en.png?0);}
/*for_W480-*/
@media all and (min-width: 480px) {
#header .mn_contact-smp { display: block; width: 26%;}
#header .mn_contact { display: block; width: 26%;}
}
/*for_W640-*/
@media all and (min-width: 640px) {
#header .mn_contact-smp { display: block; width: 23%;}
#header .mn_contact { display: block; width: 23%; max-width: 140px;}
}
/*for_W768-*/
@media all and (min-width: 768px) {
/*#header .mn_contact-smp { display: none;}*/
#header .mn_contact { max-width: 90px; top: 1.7em; right: 13%;}
#header #gl_nav { display: block; width: 40%; position: absolute; top: 2.2em; right: 12em; z-index: 5000;}
#header #gl_nav { display: block; width: 38%; position: absolute; top: 2.2em; right: 27%; z-index: 5000;}
#header #gl_nav ul { width: 100%; display: flex; flex-flow: row nowrap; justify-content: flex-end; align-items: center;}
#header #gl_nav #mn_concept { flex-basis: 21%; margin-left: 10%;}
#header #gl_nav #mn_products, #header #gl_nav #mn_business { flex-basis: 21.3%; margin-left: 10%;}
#header #gl_nav #mn_vision { flex-basis: 15.4%; margin-left: 10%;}
#header #gl_nav #mn_work { flex-basis: 12.6%; margin-left: 10%;}
#header #gl_nav #mn_news { flex-basis: 12.6%;}
#header #gl_nav #mn_concept a { display: block; width: 100%; height: 0; padding-top: 21.118012422360248%; padding-top: -webkit-calc(68 / 322 * 100%); padding-top: calc(68 / 322 * 100%); background-repeat: no-repeat; background-size: contain; background-image: url(../img/mn_concept.png?0);}
#header #gl_nav #mn_products a { display: block; width: 100%; height: 0; padding-top: 20.858895705521472%; padding-top: -webkit-calc(68 / 326 * 100%); padding-top: calc(68 / 326 * 100%); background-repeat: no-repeat; background-size: contain; background-image: url(../img/mn_products.png);}
#header #gl_nav #mn_business a { display: block; width: 100%; height: 0; padding-top: 20.858895705521472%; padding-top: -webkit-calc(68 / 326 * 100%); padding-top: calc(68 / 326 * 100%); background-repeat: no-repeat; background-size: contain; background-image: url(../img/mn_business.png);}
#header #gl_nav #mn_vision a { display: block; width: 100%; height: 0; padding-top: 29.565217391304348%; padding-top: -webkit-calc(68 / 230 * 100%); padding-top: calc(68 / 230 * 100%); background-repeat: no-repeat; background-size: contain; background-image: url(../img/mn_vision.png?0);}
#header #gl_nav #mn_work a { display: block; width: 100%; height: 0; padding-top: 35.789473684210526%; padding-top: -webkit-calc(68 / 190 * 100%); padding-top: calc(68 / 190 * 100%); background-repeat: no-repeat; background-size: contain; background-image: url(../img/mn_work.png?0);}
#header #gl_nav #mn_news a { display: block; width: 100%; height: 0; padding-top: 35.789473684210526%; padding-top: -webkit-calc(68 / 190 * 100%); padding-top: calc(68 / 190 * 100%); background-repeat: no-repeat; background-size: contain; background-image: url(../img/mn_news.png?0);}
#header #gl_nav li a:hover { opacity: .75;}
#header #gl_nav .mn0 a { opacity: .75;}
}
/*for_W960-*/
@media all and (min-width: 960px) {
#header .mn_jp-en { display: block; width: 10%; max-width: 80px; position: absolute; top: 3em; right: 3em; background: rgba(0, 0, 0, 0); border-radius: 80px; box-shadow: 0px 0px 50px rgba(0, 0, 0, 0);}
#header #gl_nav { display: block; width: 38%; position: absolute; top: 3.7em; right: 27%; z-index: 5000;}
#header .mn_contact { max-width: 100px; top: 3.4em; right: 14%; z-index: 5000;}
}
/*for_W1280-*/
@media all and (min-width: 1280px) {
#header #gl_nav { width: 36%; right: calc(((100% - 1280px) / 2) + 12% + 12em);}
#header #gl_nav #mn_concept { flex-basis: 16.8%; margin-left: 14%;}
#header #gl_nav #mn_products, #header #gl_nav #mn_business { flex-basis: 17.04%; margin-left: 14%;}
#header #gl_nav #mn_vision { flex-basis: 12.32%; margin-left: 14%;}
#header #gl_nav #mn_work { flex-basis: 10.08%; margin-left: 14%;}
#header #gl_nav #mn_news { flex-basis: 10.08%;}
#header .mn_jp-en { right: calc(((100% - 1280px) / 2) + 1.5em);}
#header .mn_contact { max-width: 120px; top: 3.4em; right: 11%;}
}

/*	contact
============================== */
/*.contact_all { opacity: 0;}*/
.contact_sp { width: 100%; max-width: 1280px; text-align: center; margin: 0 auto 2em auto; position: relative; z-index: 100;}
.contact_sp .contact_txt { font-size: 110%; line-height: 180%; letter-spacing: .1em; font-weight: 600;}
.btn_contact a { display: block; width: 80%; max-width: 360px; height: 60px; margin: 1em auto; border-radius: 40px; background: rgba(255, 255, 255, .6); position: relative; z-index: 100;}
.btn_contact a .btn_contact-txtsp { display: block; width: 33%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit- transform: translate(-50%, -50%);}
.btn_contact a .btn_contact-txt { display: block; width: 100%; height: 0; padding-top: 16%; padding-top: -webkit-calc(32 / 200 * 100%); padding-top: calc(32 / 200 * 100%); background-repeat: no-repeat; background-size: contain; background-image: url(../img/contact_btntxt.png);}
.btn_contact a .btn_contact-txtsp::after { content: ''; width: 20px; height: 20px; background-repeat: no-repeat; background-size: contain; background-image: url(../img/ya.png); position: absolute; top: 50%; left: 120%; transform: translate(0, -50%); -webkit- transform: translate(0, -50%);}
.btn_contact a:hover { background: rgba(255, 255, 255, .8);}
#btm_contact-sp { display: none;}
.btn_contact-e { display: block; width: 36%; max-width: 220px; margin: 2em auto 0 auto;}
.btn_contact-e .ctc_title { display: block; width: 100%; height: 0; padding-top: 28.813559322033898%; padding-top: -webkit-calc(68 / 236 * 100%); padding-top: calc(68 / 236 * 100%); background-repeat: no-repeat; background-size: contain;}
.wbtn_contact-sp { width: 90%; max-width: 800px; margin: 0 auto;}
.wbtn_contact a { display: block; width: 100%; max-width: 340px; height: 84px; margin: 1.5em auto 2em auto; border-radius: 50px; background: rgba(255, 255, 255, 0); border: 1px solid rgba(255, 255, 255, 1); position: relative; z-index: 100;}
.wbtn_contact a:hover { opacity: .8;}
.wbtn_contact a .wbtn_contact-txtsp { display: block; width: 80%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit- transform: translate(-50%, -50%); text-align: center;}
/*.wbtn_contact a .wbtn_contact-txt { display: block; width: 100%; height: 0; padding-top: 13.043478260869565%; padding-top: -webkit-calc(99 / 759 * 100%); padding-top: calc(99 / 759 * 100%); background-repeat: no-repeat; background-size: contain;}*/
.wbtn_contact a .wbtn_contact-txtsp::after { content: ''; width: 20px; height: 20px; background-repeat: no-repeat; -webkit-background-size: contain; background-size: contain; background-image: url(../img/ya_white.png); position: absolute; top: 50%; right: 5%; margin-top: -10px;}
.wbtn_contact a .wbtn_contact-txt { font-size: 154%; font-weight: bold; letter-spacing: .1em;}
/*for_W640-*/
@media all and (min-width: 640px) {
.contact_sp { margin-top: -12em;}
.contact_sp .contact_txt { font-size: 130%; line-height: 200%; letter-spacing: .15em; padding-bottom: 1em;}
}
/*for_W768-*/
@media all and (min-width: 768px) {
.contact_all { width: 100%; max-width: 1280px; margin: 0 auto; display: flex; flex-flow: row nowrap; justify-content: flex-end; align-items: center; text-align: right;}
.contact_sp { flex-basis: 60%; padding-right: 2%; margin: 0;}
.contact_sp .contact_txt { font-size: 140%; line-height: 160%; font-weight: 300; letter-spacing: .1em; text-align: right;}
.btn_contact { flex-basis: 18%; margin-right: 6%; max-width: 200px;}
.btn_contact a { width: 100%; height: 0; padding-top: 100%; margin: 1em auto; border-radius: 100%; background: rgba(255, 255, 255, 0); border: 1px solid rgba(255, 255, 255, .5); position: relative; z-index: 100;}
.btn_contact a .btn_contact-txtsp { width: 60%; top: 55%;}
.btn_contact a .btn_contact-txt { display: block; width: 100%; height: 0; padding-top: 57.657657657657658%; padding-top: -webkit-calc(128 / 222 * 100%); padding-top: calc(128 / 222 * 100%); background-repeat: no-repeat; background-size: contain; background-image: url(../img/contact_btntxt-w.png);}
.btn_contact a .btn_contact-txtsp::after { content: ''; width: 20px; height: 20px; background-repeat: no-repeat; background-size: contain; background-image: url(../img/ya_white.png); position: absolute; top: 70%; left: 50%; transform: translate(-50%, -50%); -webkit- transform: translate(-50%, -50%);}
.btn_contact a:hover {background: rgba(255, 255, 255, .2);}
#btm_contact-sp { width: 20%; max-width: 240px; display: block; position: fixed; bottom: 2em; right: 2em; z-index: 9000;}
#btm_contact-sp a { display: block; width: 100%; height: 0; padding-top: 100%; background-repeat: no-repeat; background-size: contain; background-image: url(../img/contact_btn.png);}
#btm_contact-sp a:hover { opacity: .75;}
.wbtn_contact-sp { display: flex; flex-flow: row nowrap; justify-content: space-around; align-items: center;}
.wbtn_contact a { width: 340px; flex-basis: 340px; height: 94px;}
}
/*for_W880-*/
@media all and (min-width: 880px) {
.contact_all { margin-top: -3em;}
}
/*for_W960-*/
@media all and (min-width: 960px) {
.contact_all { margin-top: -2em;}
.contact_sp .contact_txt { font-size: 160%;}
.btn_contact a { border: 1px solid rgba(255, 255, 255, 1);}
.wbtn_contact a { height: 100px;}
.wbtn_contact a .wbtn_contact-txtsp { width: 84%;}
.wbtn_contact a .wbtn_contact-txtsp::after { content: ''; width: 22px; height: 22px; right: 5%; margin-top: -11px;}
.wbtn_contact a .wbtn_contact-txt { font-size: 168%;}
}
/*for_W1280-*/
@media all and (min-width: 1280px) {
.contact_all { margin-top: 0;}
.contact_sp .contact_txt { font-size: 180%;}
.btn_contact { flex-basis: 14%; margin-right: 10%;}
}

/*	footer
============================== */
#footer { box-sizing: border-box; width: 100%; padding: 4em 0; position: relative; overflow: hidden;}
#footer .contact_txt { font-size: 140%; line-height: 140%; letter-spacing: .05em; text-align: center; padding-bottom: .5em; font-weight: 600;}
#footer .btn_contact a { background: rgba(255, 255, 255, .8);}
#footer .btn_contact a:hover {background: rgba(255, 255, 255, .9);}
#footer #pp { padding: 5em 0 3em 0; text-align: center; font-weight: 300;}
#footer #pp a { text-align: center; color: rgba(124, 124, 124, 1); border-bottom: 1px solid rgba(124, 124, 124, .7);}
#footer #pp a:hover { color: rgba(130, 130, 130, 1); border-bottom: 1px solid rgba(130, 130, 130, .7);}
#footer #cr { padding: 0 5%; text-align: center; font-weight: 300; color: rgba(124, 124, 124, 1); line-height: 160%; font-size: 94%;}
#footer #cr a { color: rgba(124, 124, 124, 1);}
#footer #cr a:hover { color: rgba(130, 130, 130, 1);}

#footer #sns_sp { box-sizing: border-box; width: 100%; max-width: 880px; margin: 0 auto; padding: 8em 0 4em 0; text-align: center; position: relative; z-index: 1000;}
#footer #sns_sp h3 { font-size: 120%; font-weight: 600; letter-spacing: .05em; padding-bottom: 1em;}
#footer #sns_sp ul { width: 70%; margin: 0 auto 3em auto;}
#footer #sns_sp li { width: 100%; height: 62px; margin: 1em auto 1.5em auto; border: 1px solid rgba(255, 255, 255, 1); border-radius: 100px;}
#footer #sns_sp li a { width: 100%; height: 100%; display: block; border-radius: 100px; position: relative;}
#footer #sns_sp li a:hover { background: rgba(255, 255, 255, .1);}
#footer #sns_sp li a .act { display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit- transform: translate(-50%, -50%); font-size: 114%; letter-spacing: .05em; padding-left: 36px;}
#footer #sns_sp li a #sns_tw::before { content: ''; width: 25px; height: 25px; background-repeat: no-repeat; background-size: contain; background-image: url(../img/sns_twitter.png); position: absolute; top: -4px; left: 0;}
#footer #sns_sp li a #sns_ig::before { content: ''; width: 25px; height: 25px; background-repeat: no-repeat; background-size: contain; background-image: url(../img/sns_instagram.png); position: absolute; top: -4px; left: 0;}
/*for_W640-*/
@media all and (min-width: 640px) {
#footer { padding: 5em 0;}
#footer .contact_txt { font-size: 150%; letter-spacing: .15em;}
}
/*for_W768-*/
@media all and (min-width: 768px) {
#footer { background-position: bottom  2em right -10%;}
#kirari4 { width: 50%;}
#footer .contact_all { width: 100%; display: block; text-align: center;}
#footer .btn_contact a { background: rgba(255, 255, 255, 0); border: 1px solid rgba(255, 255, 255, .5);}
#footer .btn_contact a:hover {background: rgba(255, 255, 255, .2);}
#footer .contact_txt { width: 100%;}
#footer .btn_contact { width: 18%; margin:1em auto;}
#footer #pp { padding: 0 0 3em 0;}
#footer #sns_sp { display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: center; padding: 8em 0 0 0;}
#footer #sns_sp h3 { flex-basis: 36%; padding-bottom: 3em;}
#footer #sns_sp ul { flex-basis: 60%; display: flex; flex-flow: row nowrap; justify-content: flex-end; align-items: center;}
#footer #sns_sp li { flex-basis: 45%;}
}
/*for_W960-*/
@media all and (min-width: 960px) {
#footer .contact_all { margin-top: 0;}
#footer .contact_txt { font-size: 160%;}
#footer .btn_contact a { border: 1px solid rgba(255, 255, 255, 1);}
#footer #pp { font-size: 110%;}
#footer #cr { font-size: 100%;}
}
/*for_W1280-*/
@media all and (min-width: 1280px) {
#footer .contact_txt { font-size: 240%; padding-top: .5em;}
#footer .btn_contact { width: 14%;}
#footer #pp { font-size: 140%;}
#footer #cr { font-size: 110%;}
}

/*_kira4*/
#kira4sp { width: 100%; overflow: hidden;}
#kirari4 { width: 70%; max-width: 500px; position: absolute; bottom: -1em; right: -6em;}
#kirari4_img1 { width: 100%; height: 0; padding-top: 132.538167938931298%; padding-top: -webkit-calc(1389 / 1048 * 100%); padding-top: calc(1389 / 1048 * 100%); background-repeat: no-repeat; background-size: contain; background-image: url(../img/kirari4_1.png); position: relative; opacity: 0;}
#kirari4_img2 { width: 100%; height: 100%; background-repeat: no-repeat; background-size: contain; background-image: url(../img/kirari4_2.png); position: absolute; bottom: 0; right: 0; opacity: 0;}
#kirari4_img3 { width: 100%; height: 100%; background-repeat: no-repeat; background-size: contain; background-image: url(../img/kirari4_3.png); position: absolute; top: 0; left: 0; opacity: 0;}
/*for_W640-*/
@media all and (min-width: 640px) {
#kirari4 { width: 60%;}
}
/*for_W768-*/
@media all and (min-width: 768px) {
#kirari4 { width: 50%;}
}
/*for_W960-*/
@media all and (min-width: 960px) {
#kirari4 { width: 40%; max-width: 400px;}
}

