@charset "utf-8";
/*
Theme Name: 株式会社鬼塚硝子（2026）
Theme URI: https://onizca.co.jp/
Description: CMS
Version: 1.0
*/

/*Google Fontsの読み込み
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;600&display=swap');

/* #Reset & Basics
================================================== */
	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;
		font-size: 100%;
		font: inherit;
		vertical-align: baseline; }
	blockquote, q {
		quotes: none; }
	blockquote:before, blockquote:after,
	q:before, q:after {
		content: '';
		content: none; }
	table {
		border-collapse: collapse;
		border-spacing: 0; }


/* #Base styles
================================================== */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
* { -webkit-text-size-adjust: none; }
html {
  width:100%;
  height: 100%;
}

:root {
  scroll-padding-top: 3.5em;
  scroll-behavior: smooth;
}

body {
    color: #202124;
    line-height: 1.8em;
    background-color:#f3f3f3;
    font-size:1vw;
    font-weight: 400;
    font-family: 'Zen Old Mincho', serif;
    font-optical-sizing: auto;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    font-feature-settings: "palt" 1;
}

.bold{
    font-weight: 600;
}

section {
	width: 100%;
}

a{
	color: #202124;
	text-decoration: none;
	transition: 0.5s;
}

#footer a,.g_button a {
	color: #fff;
}

a:hover{
	opacity: 0.3;
}

img{
	display: block;
	max-width: 100%
}

strong{
	color: rgba(250,18,70,.85);
    font-weight: bold;
}

.ac-menu-inside strong{
	color: rgba(250,60,0,.85);
}

b{
    color: rgba(250,18,70,1);
    font-weight: 600;
}
.black{
    color: #202124;
}
.red{
    color: #fa1246;
}
.noa{
    opacity: 1 !important;
}
.icon{
    display: inline-block;
    top:0; bottom:0;
    width:1.8em;
    margin: auto 0;
    padding: 0;
}
.sns{
    position: absolute;
    top:0; right: 0;
    height:80px;
}
.sns a{
    margin: 0;
    padding: 0;
}
.spsns a, .spsns img{
    display: inline-block !important;
}
.tpnews_data{
    font-size:.9em;
    color: #777;
    display: inline-block;
    line-height: 1.3em;
    margin-bottom: .25em;
}
.news{
    width: 1080px;
    max-width: 100%;
    display: block;
    margin: auto;
    letter-spacing: .05em
}
.news p{
    display: block;
    border-bottom: 1px dotted rgba(0,0,0,.5);
}
.news li p{
    margin-top: .2em;
    line-height: 1.6em;
    margin-bottom: 1.2em;
}
#access b{
    color:#000;
    font-weight:300;
}
#access u{
    line-height: 1em;
    width:4.2em;
    text-decoration: none;
    border-bottom: solid 1px #000;
    display: inline-block;
    text-align:justify;
    text-align-last:justify;
}

/* #Layout
================================================== */

.center-box{ 
    padding-top:6em;
    max-width: 90%;    
    margin: 0 auto;
    display: block;
}
.center-box a{
    color: #fa1246;
    border-bottom: 1px dotted rgba(0,0,0,.5);
}
.center-box .biz a {
    border-bottom: none;
}
.contents{
    max-width: 100%;
    display: block;
}

.m1000{
    width: 1000px;
    max-width: 100%;
    margin: 0 auto;
    display: block;
    background-size: cover;
	background-repeat: no-repeat;
	background-position: left bottom;
}
.m1200{
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
    display: block;
    background-size: cover;
	background-repeat: no-repeat;
	background-position: left bottom;
}
.m1600{
    width: 1600px;
    max-width: 90%;
    margin: 0 auto;
    display: block;
}

h1{
    letter-spacing: 0.03em;
}

.sticky h1, .fp-content h2{
    font-size:2em;
    text-align: left;
    margin: .5em auto;
    padding:0 .75em;
    padding-left:1.2em;
    border-radius: 3em;
    margin: auto;
    display: block;
    letter-spacing: 0.05em;
    writing-mode: vertical-rl;
    float: left;
    translate: none;
}

.min10{
    min-height: 10em;
}

.min6{
    min-height: 9em;
}

h3{
    font-size:1.2em;
    padding-left: 2px;
    color:#999;
    border-left:#fa1246 2px solid;
    text-align: left;
    display: inline-block;
	letter-spacing: 0.01em;
    font-feature-settings: "palt";
	font-weight: 600;
    line-height: 1.4em;
    writing-mode: vertical-rl;
    float: left;
}

.eng{
    font-size:1.8em;
    
}

.h4{
    text-align: left;
    font-size:1.7em;
	font-weight: 600;
    line-height: 1.4em;    
}

.mv{
    width:100%;
    height:60vh;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

.mv h1{
    font-size:1.8em;
    color:#fff;
    position: absolute;
    line-height: 1.6em;
    background: linear-gradient(to right, #fa1246, rgba(212,0,30,0));
    padding: 1em 3.5em .8em 1.4em;
    bottom:0;
    left:0;
    letter-spacing: 0.01em;
    font-feature-settings: "palt";
}

.tech .h4{
    font-size:1.9em;
    line-height: 1em;
    padding: .8em 0;
    margin-bottom: 0;
    /* border-left:rgba(255,65,0,.75) .6em solid; */
}

.tech .h4::after{
    display: block;
    content:"";
    width: 100%;
    background:linear-gradient(to right, rgba(65,0,250,.3) , rgba(250,65,0,.3) 40%, rgba(250,65,0,.0) 100%);
    height: 3px;
}

.box-margin.tech.prod .h4{
    font-size: 1.5em;
    line-height: 1.4em;
    padding: .8em 0 0 0em;
    border-left: none;
}

.box-margin.tech b{
    color:rgba(250,65,0,.85);
}

.box-margin.tech.prod .h4.hd::after{
    background: linear-gradient(to right,rgba(250,0,0,.5), rgba(255,0,0,.2));
}

.box-margin.tech.prod .h4::after,.box-margin.tech .h5::after{
    background: linear-gradient(to right,rgba(250,65,0,.5), rgba(255,65,0,.2)) ;
}



.w600{
    width: 26em;
    max-width: 100%;
}

.tech p{
    padding: 1em;
}

.h4 b,.h5 b{
    font-size:1.6em;
    font-weight: bold;    
    padding-right: .4em;
    position: relative;
    bottom: -2px;
    letter-spacing: -.02em;
}

.h4.sub{
    font-size:1.5em;
    margin-top: 0.1em;
    margin-bottom: 1em;
}

.box-margin .h5{
    color:#202124;
    text-align: left;
    font-size:1.4em;
    margin-top: 2.2em;
    margin-bottom: .5em;
    line-height: 1.3em;
}
.box-margin h4.h5{
    font-size:1.2em !important;
    }

.box-margin .h5::after{
    display: block;
    content:"";
    width: 100%;
    background: linear-gradient(to right,rgba(250,18,70,.5), rgba(250,18,70,.2));
    height: 2px;
}

.box-margin.prod .h5{
    margin-top: .5em;
}

.s-box .h5{
    font-size:1.2em;
    letter-spacing: .2em;
    color:#fff;
    position: absolute;
    bottom:0;
    left:0;
    font-weight: 400;
    background-image: url('image/arrow_w.svg');
    background-size: .5em;
    background-position: 94% center;
    background-repeat: no-repeat;
    border-left: 4px solid #fa1246;
    border-bottom: 4px solid #fa1246;
    background-color: rgba(0,0,0,.75);
    text-align: center;
    padding:.2em 1.5em .2em 1em;
    display: inline-block;
}

.h6{
    padding-top: .5em;
    display: block;
}

.pp p{
    margin: 0 0 0 1em;
    padding: 0;
}

.center-box ol,.center-box li{
    margin-top: 0.5em;
    margin-left: 2em;
}
.pageback{
    text-align: right;
    padding: 2em 0;
}
.ec-image{
    width: 100%;
    height: 16em;
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center 70%;
    position: relative;
    top:3.8em;    
}
.sign{
    margin: 2em;
    height: 1.2em;
    width: auto;
    display: inline-block;
}
.flow{
    width:1000px;
    max-width: 100%;
    margin: 0 auto;
    display: block;
    filter: drop-shadow(0.15em 0.15em 0.15em rgba(0,0,0,0.2));
}
.flowex{
    font-size:0.8em;
    position: relative;
    top:-1em;
}
.img-box{
    width:240px;
    max-width: 40%;
    margin: 5px 12px;
    display: inline-block;
    filter: drop-shadow(0.2em 0.2em 0.2em rgba(0,0,0,0.2));
}
.center-box table{
    width: 800px;
    max-width: 100%;
    box-sizing: border-box;
}
tr{
    width: 100%;
    border-top: 1px #fa1246 solid;
    border-bottom: 1px #fa1246 solid;
}
th{
    padding: 0.5em;
    width: 20%;
    background-color: rgba(48,104,187,0.2);
}
td{
    padding: 0.5em;
    background-color: rgba(255,255,255,0.4);
}

.ptb{
    padding-top: 100px !important;
    padding-bottom: 7em;
}

.pagetop{
    padding-top: 2em ;
}

.profile strong{
    color:#000;
    display: inline-block;
    min-width: 4em;
    padding-right: .5em
}

.profile p{
    display: block;
    margin: .35em 0 !important;
    border-bottom: 1px dotted rgba(0,0,0,.5);
}

.more a{
    color: #fa1246;
}

.profile a {
    color: #339;
    text-decoration: underline dashed 1px #339;
    text-underline-offset:5px;
    font-weight: 600;
}

.boxl{
    float: left;
    width: 100%;
}

.boxr{
    float: right;
    width: 100%;
}
.techimg0{
    width: 25em;
    float:left;
    margin:1em 2em 1em 0;
}
.techimg{
    width: 25em;
    float:right;
    margin:3.5em 0 1em 1em;
}
.prodimg{
    width: 25em;
    float:right;
    margin:1em 0 1em 1em;
}
.prodimg2{
    width: 25em;
    float:right;
    margin:1em -1em 1em 1em;
}
.prodimg3{
    width: 25em;
    float:left;
    margin:1em 2em 1em 0;
}

.slidebox {
  display: flex;
  overflow: hidden; 
  margin-bottom: 2em;  
}

.endless {
    display: flex;
    animation: loop-slide 50s infinite linear 1s both;
}

.endless li {
  width: calc(100vw / 5); 
}

@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

.endless li {
    height: fit-content;
}

.endless li img {
    height: auto;
    width: auto;
}

.sticky {
    position: sticky;
    top:110px;
    }

@media screen and (orientation: portrait) {
.sticky {
    width: 100%;
    height: fit-content;
    position: relative;
    display:inline-block;
    top:0px;
    z-index: 2;
    }
.headline{
    width: 18%;
    height: fit-content;
    display:inline-block;
    float:left;
    }
.sticky h1,.sticky h2,.sticky h3,.headline h2,.headline h3{
    padding-top: 0;
    position: relative;
    top:0px;
    display: inline-block;
    vertical-align: top;
    float: none;
    margin: auto;
    text-align: left;
    }
.headline h2,.headline h3{
    margin: 0;
    padding: 0;
    float: left !important;
    }
.headline h3{
    position: relative;
    left:15px;
    }
}


/* #Front
================================================== */
#head-box{
	position: fixed;
	width: 100%;
	height:80px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size:1.1em;
	font-weight: 600;
    color:#fff;
	background-color:rgba(0,0,0,.8);
	z-index: 10;
    box-shadow: 0.1em 0.1em 1em rgba(0,0,0,0.15);
    box-sizing: border-box;
    font-family: 'Noto Serif JP', serif;
}
.hbox{
	position: absolute;
	right:3%;
}

.hbox a{
	color:#fff;
    margin-left: 1.5em;
}
.tlogo{
    position: absolute;
	left:3%;
    width:140px;
    max-width: 20%;
}

.y_logo {
	position: absolute;
	left:3%;
	height: 5vh;
	margin-right:3%;
}

a .y_logo{
    margin: 0;
    padding: 0;
    top:1.5vh;
}
.tel{
    margin-left: 2em;
    font-size:1.5em;
    color:#fa1246;
    font-weight: 600;
    position: relative;
    top:0.13em;
    white-space: nowrap;
    display: inline-block;
    
}
.main-v{
	width: 100%;
    height: 100vh;
	position: relative;
    min-height: 20em;
	background-color: #fff;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: left bottom;
    animation: topfade 0.5s linear;
    overflow:hidden;
}
.slider li{
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.slick-dots{
	bottom: 3vh!important;
    right:-42vw!important;
}

.main_imgBox {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}
.main_img {
    z-index:1;
    opacity: 0;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-animation: anime 24s infinite;
    animation: anime 24s infinite;
}

.main_img:nth-of-type(2) {
    -webkit-animation: anime3 24s infinite;
    animation: anime3 24s infinite;
    -webkit-animation-delay: 6s;
    animation-delay: 6s;
}

.main_img:nth-of-type(3) {
    -webkit-animation: anime2 24s infinite;
    animation: anime3 24s infinite;
    -webkit-animation-delay: 12s;
    animation-delay: 12s;
}

.main_img:nth-of-type(4) {
    -webkit-animation: anime 24s infinite;
    animation: anime 24s infinite;
    -webkit-animation-delay: 18s;
    animation-delay: 18s;
}

@keyframes anime {
  0% {
        opacity: 0;
        transform: scale(1);
    }
    3.75% {
        opacity: 1;
    }
    25% {
        opacity: 1;
    }
    35.42% {
        opacity: 0;
        transform: scale(1.1);
    }
    100% {
        opacity: 0;
        transform: scale(1.1);
    }
}

@keyframes anime2 {
  0% {
        opacity: 0;
        transform: scale(1.15);
    }
    3.75% {
        opacity: 1;
    }
    25% {
        opacity: 1;
    }
    35.42% {
        opacity: 0;
    }
    100% {
        opacity: 0;
        transform: scale(1);
    }
}

@keyframes anime3 {
  0% {
        opacity: 0;
        transform: translateX(-4%) scale(1.1);
    }
    3.75% {
        opacity: 1;
    }
    25% {
        opacity: 1;
    }
    35.42% {
        opacity: 0;
    }
    100% {
        opacity: 0;
        transform: translateX(4%) scale(1.1);
    }
}

.main-v .slick-dots li.slick-active button:before,
.main-v .slick-dots li button:before {
  color: #fa1246;
}
.main-v .slick-dots li button:before{
	font-size:14px!important;
    filter: drop-shadow(0.1em 0.1em 0.5em rgba(0,0,0,0.5));
}
.main-v h1{
	position: absolute;
	bottom:12.5%;
	left:0;
	font-size:2.5vw;
	line-height: 1.2em;
    text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.4);
    z-index: 2;
}
.m_copy p{
	margin: 0;
    color: #fff;
    display: inline-block;
    padding-left: 1.4em;
    padding-right: 2em;
    margin-top: 0.5em;
    white-space: nowrap;
}
.scroll{
    position: absolute;
    margin: 0 auto;
    right:0;left:0;
    bottom:1em;
    width: 3em;
    z-index: 6;
    opacity: 0;
    filter: drop-shadow(0 0 2em rgba(255,255,255,0.8));
    animation: flash 2.5s linear infinite;
    animation-delay: 2.5s;
}
.rename{
    position: absolute;
    width: 100vw;
    max-width: 100vw;
    height: 92vh;
    background-image: url(img/bg-b.svg);
    background-size: cover;
	background-repeat: no-repeat;
	background-position: left bottom;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    animation: fadeout 6s linear;
    animation-fill-mode: forwards;
    pointer-events: none;
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ", sans-serif;
    font-weight: 600;
    font-size:2.5em;
    line-height: 2em;
}
.rn1{
    font-size:2.2em;
    font-family: Futura, "Century Gothic";
    font-style: italic;
    margin-top: -0.3em;
    position: relative;
    top:-0.4em;
    color:#fa1246;
    animation: sA 0.6s linear;
    animation-fill-mode: forwards;
}
.rn2{
    animation: xA 0.8s linear;
    animation-fill-mode: forwards;
    animation-delay: 0.5s;
    opacity: 0;
    font-feature-settings: "palt" 1;
    letter-spacing: 0.04em;
}
.rn3{
    margin-top: 1em;
    font-size:0.9em;
    letter-spacing: 0.05em;
    color:#fff;
    background: linear-gradient(to right, rgba(0,0,0,0), #fa1246, rgba(0,0,0,0)); 
    display: inline-block;
    padding: 0 4em;
    line-height: 1.8em;
    animation: bgstretch 0.6s linear;
    animation-fill-mode: forwards;
    animation-delay: 1.5s;
    opacity: 0;
    font-feature-settings: "palt" 1;
    letter-spacing: 0.06em;
}
@keyframes flash {
  0%,100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  99% {
    opacity: 0;
    display: flex;
  }
  100% {
    opacity: 0;
    display: none;
  }
}
@keyframes bgstretch {
  0% {
    opacity: 0;
    padding: 0 0em;
  }
  100% {
    opacity: 1;
    padding: 0 4.5em;
  }
}

.img-fade{
    width:24.6%;
    float: left;
    position: relative;
    display: flex;
}
.biz-box .img-fade img{
    width: 100%;
    float: none;
    vertical-align: top;
}
.biz-box img.img-ff{
    width: 100%;
    position:absolute;
    top:0;left:0;
    animation: ff 8s linear infinite;
    z-index: 1;
}

@keyframes ff {
  0% {opacity: 1;}
  30% {opacity: 1;}
  40% {opacity: 0;}
  80% {opacity: 0;}
  90% {opacity: 1;}
}
.a_cp01{
	position: relative;
    animation: copy1 1.6s linear;
    animation-fill-mode: forwards;
    opacity: 0;
}
.a_cp02{
    margin-left: 2em;
	position: relative;
    animation: copy2 2s linear;
    animation-delay: 0.4s;
    animation-fill-mode: forwards;
    opacity: 0;
}
.a_cp03{
	position: relative;
    animation: copy3 1.2s linear;
    animation-delay: 5s;
}
.a_cp04{
	position: relative;
animation: copy4 1.6s linear;
}
@keyframes topfade {
    0% {opacity: 0;}
    50% {opacity: 0;}
    100% {opacity: 1;}
}
@keyframes copy1 {
    0% {opacity: 0;left:-10%;}
    30% {opacity: 0;left:-10%;}
    70% {opacity: 0.4;left:0%;}
    100% {opacity: 1;left:0%;}
}
@keyframes copy2 {
    0% {opacity: 0;left:-10%;}
    40% {opacity: 0;left:-10%;}
    80% {opacity: 0.4;left:0%;}
    100% {opacity: 1;left:0%;}
}
@keyframes copy3 {
    0% {opacity: 0;left:-10%;}
    70% {opacity: 0;left:-10%;}
    100% {opacity: 1;left:0%;}
}
@keyframes copy4 {
    0% {opacity: 0;transform : translate(0, 1em)}
    70% {opacity: 0;transform : translate(0, 1em)}
    100% {opacity: 1;}
}

.box-margin{
	width:  75%;
	margin: 0 auto;
	display: block;
	text-align: left;
	}

.flex-container {
    display: flex;
    gap: 4%;
    margin: 3em 0;
}
.flex-container a{
    width: 48%;
}

.s-box{
    color:#fff;
     width: 100%;
    display: block;
    height: 16em;
    float: left;
    background-color:#202124;
    position: relative;
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.sec{
    font-size:1.1em;
	height: auto;
	padding: 2.8em 0;
	box-sizing: border-box;
	text-align: center;
    background-size: cover;
	background-repeat: no-repeat;
}

.bgimg{
    width: 100%;
    height: auto;
    background-image: url(img/bgimg.jpg);
    background-position: right bottom;
    background-size: contain;
    background-repeat: no-repeat;
}
.bgimg2{
    width: 100%;
    height: auto;
    background-image: url(img/bgimg2.jpg?q),url(img/bgimg.jpg);
    background-position:right 8%,right bottom;
    background-size: contain,contain;
    background-repeat: no-repeat,no-repeat;
}

.sp3{
    padding: 3em 0;    
}

.s01{
    background-image: url(image/tbg-w.webp);
    background-color:#f3f3f3;
    background-blend-mode: multiply;
    background-position: left top !important;
    background-size: contain !important;
    background-repeat: no-repeat;
}

.s02{
    background-color:#f3f3f3;
    background-image: url(image/bbg1.jpg);
    background-blend-mode: multiply;
    background-position: right bottom !important;
    background-size: cover !important;
    background-repeat: no-repeat;
}

.s03{
    background-size: contain;
    background-repeat: no-repeat;
    padding: 2em 0;
    background-position: right bottom;
}

.s04{
    padding-bottom: 8em !important;
    background-image: url(image/bbg.jpg);
    background-color:#f3f3f3;
    background-blend-mode: multiply;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right bottom;
}
    
.sec.s01{
    background-size: contain;
    background-position: right top;
}

.sec p{
	margin-bottom: 1em;
    line-height: 2.4em;
}

.t-text{
    text-align: justify;
    display: inline-block;
    margin: 2em;
    margin-left: 0.5%;
    margin-bottom: 0;
    width: 35%;
    vertical-align: top; 
    box-sizing: border-box;
}

.left-p{
    padding-left: 2.5em;
}

.t-img{
    width: 38.5%;
    display: inline-block;
    vertical-align: top; 
}

.L-side{
    float: left;
    box-sizing: border-box;
    margin-left: 5%;
    margin-bottom: 0;
    width: 35%;
    display: inline-block;
    text-align: justify;
}

.R-side{
    width: 80%;
    text-align: justify;
    display: inline-block;
}
.R-side p{
    line-height: 2em;
}

.R-side img{
    width: 38%;
    margin: 2% 3.5%;
    display: inline-block;
    filter: drop-shadow(0.3em 0.3em 0.3em rgba(0,0,0,0.15));
}

.p-box{
    font-size:.95em;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    background-color: rgba(255,255,255,.5);
    text-align: center;
    padding:.2em 1.9em .2em 1em;
    display: inline-block;
    margin: 2em auto;
    margin-bottom: 1em;
    background-image: url('image/arrow.svg');
    background-size: .5em;
    background-position: 94% center;
    background-repeat: no-repeat;
    border: 1px solid #fa1246;
}

.tech .p-box{
    background-image: url('image/arrow_o.svg');
    border: 1px solid rgba(255,65,0,1);
}

.p-box.wh{
    font-size:1.1em;
    color: #fff;
    background-color: rgba(212,0,30,.9);
    background-image: url('image/arrow_w.svg');
    border: none;
}

.c-box{
    color: #fa1246;
    background-color: #fff;
    border: 2px solid #fa1246;
    text-align: center;
    padding:0.2em 1em;
    display: inline-block;
    margin: 2em auto;
    margin-bottom: 3em;
    font-size:1.05em;
    font-weight: 600;
    border-radius: 0.2em;
    filter: drop-shadow(0.15em 0.15em 0.15em rgba(0,0,0,0.1));
}
.c-box img{
    height: 1em;
    display: inline-block;
    padding-right: 0.3em;
    position: relative;
    top:0.1em;
}
.c-box .cls-1{
    fill:#fa1246;
}
.arrow{
    position: relative;
    top:0.1em;
    right: -0.2em;
    font-size:1.2em;
    color: #fa1246;
}
.copimg{
    display: inline-block;
    margin-right: 20px;
    width: auto;
    height: 20em;
}
.gmap{
    width:35em;
    height: 20em;
}

ul,li{
     list-style: none;
}

.topnews{
    max-width:35%;
    font-size: .9em;
    position: absolute;
    background-color:rgba(255,255,255,.9);
    padding: .2em .8em;
    bottom:2em;
    right:1.5em;
    line-height: 1.6em;
    padding: 1em 1.5em;
    border-radius:.5em;
    z-index: 3;
}

.topnews span{
    color: #333;
    letter-spacing: .1em;
    padding-top: .8em;
    line-height: 1.1em;
    margin-bottom: .2em;
    display: block;
    border-bottom: 1px dotted rgba(0,0,0,.5);
}

.topnews strong{
    font-size:1.3em;
    font-weight: 600;
}

.spnews{
    display: none;
}

.more{
    text-align: right;
    color: #fa1246;
    font-weight: 600;
}

.top_video{
    width:32em;
    height:18em;
}
.tpv{
    float: left;
}
html.translated-ltr .tms{
    padding-right: 2em;
    box-sizing: border-box;
}
.morebox{
    font-size:.95em;
    color: rgba(40,30,50,.9);
    background-color: rgba(255,255,255,.5);
    border: 1px solid rgba(255,65,0,1);
    padding:.2em 1.9em .2em 1em;
    display: inline-block;
    margin: 0 1em;
    margin-bottom: 1em;
    font-weight: 500;
    background-image: url('image/arrow_ob.svg');
    background-size: .8em;
    background-position: 94% center;
    background-repeat: no-repeat;
    transition: .5s;
}

.morebox:hover{
    opacity: 0.3;
}

.sdgs li{
    width:32%;
    margin-right: 1%;
    display: inline-block;
    vertical-align: top;
}

.sdgs p{
    margin-bottom: 1.5em;
}

.sdgs li p{
    font-size:.9em;
}

.sdgs img{
    width: 8em;
    float: left;
    margin-right: 1em;
    margin-bottom: 1em;
}

.sdgs p::after{
    content: '';
    clear: both;
}

.sdgs b{
   color:rgba(80,160,200,1) ;
}

.sdgs .box-margin .h5::after{
    background:linear-gradient(to right, rgba(229,36,59,.5) 10%, rgba(221,166,58 ,.5) 20%,rgba(76,159,56,.5) 40%,rgba(197,25,45,.5) 50%, rgba(38,189,226,.5) 60%,rgba(252,195,11,.5) 70%,rgba(162,25,66,.5) 80%,rgba(253,105,37,.5) 90%,rgba(221,19,103,.5) 100%);
}

.insta{
    font-size:.9em;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-weight: 600;
    line-height: 1.3em;
    text-align: center;
    position: fixed;
    width:9em;
    height: 9em;
    right:1.5em;
    bottom:1.5em;
    color: #fff;
    background-image: url('image/instabg.jpg');
    background-size: cover;
    background-position: 20% 80%;
    background-repeat: no-repeat;
    box-sizing: border-box;
    padding: .5em;
    z-index: 10;
    filter: drop-shadow(.2em .2em .3em rgba(0,0,0,0.3));
    border-radius: .5em;
}
.insta img{
    width: 35%;
    margin: .5em auto;
}

html.translated-ltr .insta{
    width:10em;
    height: 10em;
}

html.translated-ltr .insta br{
    display: none;
}

.founder-photo {
  float: right;
  margin: .5em 0 0 3em;
  width: 20em;
}

.founder-photo img {
  width: 100%;
  display: block;
}

.founder-photo figcaption {
  margin-top: .4em;
  font-size: .75em;
  line-height: 1.4;
  text-align: right;
  color: #333;
}

/* タブ 
 ================================================== */

.tab-1 {
    display: flex;
    flex-wrap: wrap;
    max-width: 1020px;
    margin: auto;
    border: 2px solid rgba(212,0,30,.8) ;
    border-top:none;
    box-sizing: border-box;
    transition: .5s;
}

.tab-1 > label {
    flex: 1 1;
    order: -1;
    min-width: 70px;
    padding: .7em 1em .5em;
    background-color: #fdf7ef;
    color: #339;
    font-size: 1em;
    text-align: center;
    cursor: pointer;
    border-top:3px #339 solid;
}

.tab-1 > label:hover {
    opacity: .8;
}

.tab-1 input {
    display: none;
}

.tab-1 > div {
    display: none;
    width: 100%;
    padding: 2em;
    background-color: #fff;
    box-sizing: border-box;
    border-radius: .5em;
}

.tab-1 label:has(:checked) {
    background-color: #fff;
    border-top:3px rgba(212,0,30,.8) solid;
    color: #202124;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: bold;
    pointer-events: none;
}

.tab-1 label:has(:checked) + div {
    display: block;
}

.recruitment_body {
    padding: 2em;
    box-sizing: border-box;
}

.recruitment_body p {
    display: flex;
    margin: 0 0 2em 0;
    padding: 0 0 1em 0;
    border-bottom:1px dotted rgba(0,0,0,.5);
}

.recruitment_body p strong {
    font-size: 1em;
    display: block;
    min-width: 5em;
    padding-right: 2em;
    color: #000;
}


/* アコーディオンメニュー 
 ================================================== */

.ac-menu:last-child {
  margin-bottom: 2em; /
}

.ac-menu input {
  display: none;
}

.ac-menu label {
  cursor: pointer;
  position: relative;
  display: block;
}

.ac-menu label:after {
  position: absolute;
  right: 20px;
  top: 50%; 
  -webkit-transform : translateY(-50%);
  transform : translateY(-50%);
}

.ac-menu div {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: .4s; 
  padding: 1em; 
  padding-top: 0em; 
}

.ac-menu input:checked ~ div {
  height: auto;
  opacity: 1;
  padding: 1em; 
}


 /* #size
 ================================================== */

.size-front{
			height:auto;
			padding-bottom: 15em;
}
.size-front h3,h3.cf{
    font-size:2em;
	padding:2em 0 0.5em 0;
}
h3.cf{
    padding-bottom: 2em;
}
.size-box{
    width:20%;
    display:inline-block;
    }

.size-img{
    padding: 2em 0;
    width: 75%;
    margin: 0 auto;
    }
.size-box p{
    font-size:1.3em;
    margin-bottom: 1em;
    line-height: 2em;
    font-family: 'Futura', 'Futura PT', 'Century Gothic', sans-serif;
    font-weight: 600;
}

 /* #biz
 ================================================== */

.biz-top{
    width: 100%;margin:0;
    line-height: 2.5em;padding-top:1em;display:flex;justify-content:center;align-items:center;
}

.biz-txt{
    width:31vw;text-align:justify;padding:2%;
}
.biz-illust{
    width:26vw;height:auto;flex-shrink: 0;align-self: flex-start;
}
.biz-box {
    width: 800px;
    max-width: 100%;    
    vertical-align: top;
    margin:1em 2em;
    font-size:0.85em;
    line-height: 1.6em;
    text-align: justify;
    margin: 0 auto;
    margin-bottom: 1em;
    display: block;
    clear: both;
}
.biz-box::before {
	content: "\A" ;
	white-space: pre ;
}
.bgimg .center-box .h4 {
    padding-top:3em;
	clear: both;
}
.biz-box h6{
    font-size:1.3em;
    border-left: 0.4em #fa1246 solid;
    border-bottom: 1px  #fa1246 solid;
    padding-left: 0.5em;
    line-height: 1.5em;
    margin-bottom: 0.5em;
}
.biz-box img{
    width:24.6%;
    float: left;
}
.center-box .biz-box table{
    font-size:0.9em;
    width: 73.4%;
    max-width: 100%;
    box-sizing: border-box;
    float: right;
}

.biz-box th{
    padding: 0.2em 0.5em;
    width: 5.5em;
    text-align: center;
}
.biz-box td{
    padding: 0.2em 0.5em;
}

.biz-table{
    width: 800px;
    margin:1em auto;
    font-size:0.8em;
}
.biz-table .tablepress thead th{
    background-color: #e9f0f5;
	text-align: center;
}
.biz-table .tablepress thead th:hover {
    background-color: #fa1246 !important;
	color:#fff !important;
}
.biz-table td{
    text-align: left;
    line-height: 1.6em;
}
.biz-table td:nth-of-type(2) {
    text-align:right;
    padding-right: 2em;
}
.biz-table td:nth-of-type(4) {
    text-align:center;
}
.biz-text{
    clear:both;
    padding-top:1em
}

.sidemenu{
    position: fixed;
    z-index: 1;
    right:0;
    top:6em;
}
.sidemenu p{
    margin: 1.2em 0;
    padding: 0.2em 1em;
    font-size:0.9em;
    color:#fff;
    background-color:#fa1246;
    font-weight: bold;
    border-top-left-radius: 1.5em;
    border-bottom-left-radius: 1.5em
}

 /* #footer
 ================================================== */

#footer{
    font-size:0.85em;
	color:#fff;
	line-height: 2.5em;
	background: linear-gradient(to bottom,  rgba(0,0,0,0.75), rgba(0,0,0,0.65));
	width: 100%;
	padding: 1.5em 0 2em 0;
	height: auto;
	position: relative;
    text-align: center;
}

#footer p{
    text-align: center;
}

.flogo{
	width: 150px;
    display: block;
    margin: 1em auto;
}

/* #Contact
================================================== */

.m800 {
  width: 1080px;
  max-width: 100%;
  margin: 0 auto;
  display: block;
  text-align: left;
}

.conf {
  --form-label-width: 25%;
  --form-control-height: 3.2rem;
  --form-textarea-height: 12rem;
  --form-row-gap: 1.1rem;
  --form-border-color: #202124;
  --form-label-bg: rgba(0, 0, 0, .1);
  --form-accent: #fa1246;
}

.conf .wpcf7-form {
  display: grid !important;
  grid-template-columns: minmax(12rem, var(--form-label-width)) minmax(0, 1fr);
  gap: var(--form-row-gap) 0;
  align-items: stretch;
  width: 100%;
}

.conf .wpcf7-form > p,
.conf .wpcf7-form > div {
  margin: 0 !important;
}

.conf .wpcf7-form > div[style*="display: none"] {
  display: none !important;
}

.conf .wpcf7-form > p:empty,
.conf .wpcf7-form > p:has(> label:empty):not(:has(input, textarea, select)),
.conf .wpcf7-form > div[style*="line-height:0"] {
  display: none !important;
}

.conf .wpcf7-form > .con-th {
  grid-column: 1;
  float: none !important;
  width: auto !important;
  min-width: 0;
  min-height: var(--form-control-height);
  padding: .65rem 1rem;
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  background: var(--form-label-bg) !important;
  color: #202124;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  position: static !important;
  top: auto !important;
}

.conf .wpcf7-form > .con-th > p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit;
  line-height: inherit !important;
}

.conf .wpcf7-form > .con-th + p {
  grid-column: 2;
  min-width: 0;
  min-height: var(--form-control-height);
  padding: 0 !important;
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  position: static !important;
  top: auto !important;
  line-height: 1.5 !important;
}

.conf .wpcf7-form > .con-th + p > .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  min-width: 0;
  flex: 1 1 auto;
  position: static !important;
  left: auto !important;
  top: auto !important;
}

.conf input[type="text"],
.conf input[type="email"],
.conf input[type="tel"],
.conf input[type="number"],
.conf input[type="date"],
.conf input[type="url"],
.conf select {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: var(--form-control-height);
  margin: 0 !important;
  padding: 0 1rem;
  box-sizing: border-box;
  border: 1px solid var(--form-border-color);
  border-radius: 0;
  background: #fff;
  color: #202124;
  font: inherit;
  font-size: 1rem;
  line-height: normal;
  position: static !important;
  top: auto !important;
  -webkit-appearance: none;
  appearance: none;
}

.conf .wpcf7-radio,
.conf .wpcf7-checkbox {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1.5rem;
  width: 100%;
  font-size: 1rem;
  line-height: 1.5;
}

.conf .wpcf7-list-item {
  margin: 0 !important;
}

.conf .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

.conf input[type="radio"],
.conf input[type="checkbox"] {
  width: 1.1rem;
  height: 1.1rem;
  margin: 0 .4rem 0 0;
  flex: 0 0 auto;
  accent-color: var(--form-accent);
}

.conf .wpcf7-list-item-label {
  margin: 0 !important;
}

.conf .wpcf7-form > .con-th:has(+ p textarea),
.conf .wpcf7-form > .con-th + p:has(textarea) {
  min-height: var(--form-textarea-height);
}

.conf .wpcf7-form > .con-th + p:has(textarea) {
  align-items: stretch;
}

.conf .wpcf7-form > .con-th + p:has(textarea) > .wpcf7-form-control-wrap {
  height: 100%;
}

.conf textarea {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: var(--form-textarea-height) !important;
  margin: 0 !important;
  padding: .8rem 1rem;
  box-sizing: border-box;
  border: 1px solid var(--form-border-color);
  border-radius: 0;
  background: #fff;
  color: #202124;
  font: inherit;
  font-size: 1rem;
  line-height: 1.65;
  resize: vertical;
  position: static !important;
  top: auto !important;
  -webkit-appearance: none;
  appearance: none;
}

.conf .wpcf7-form > .con-th + p:has(input[type="file"]) {
  display: flex !important;
  align-items: center;
  min-height: var(--form-control-height);
}

.conf input[type="file"] {
  display: block;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: .55rem .7rem;
  box-sizing: border-box;
  border: 1px solid var(--form-border-color);
  background: #fff;
  color: #202124;
  font-size: .95rem;
  line-height: 1.5;
  position: static !important;
  left: auto !important;
  top: auto !important;
}

.conf input[type="file"]::file-selector-button {
  margin-right: .8rem;
  padding: .35rem .8rem;
  border: 0;
  background: #e8e8e8;
  color: #202124;
  cursor: pointer;
}

.conf .wpcf7-not-valid-tip {
  display: block;
  margin-top: .35rem;
  color: var(--form-accent);
  font-size: .85rem;
  line-height: 1.5;
}

.conf .wpcf7-form > div:not(.con-th):not([style*="display: none"]),
.conf .wpcf7-form > p:has(input[type="submit"]),
.conf .wpcf7-response-output {
  grid-column: 1 / -1;
}

.conf .wpcf7-form > p:has(input[type="submit"]) {
  display: flex;
  justify-content: center;
  margin-top: .5rem !important;
}

.conf input[type="submit"] {
  min-width: 10rem;
  margin: 0 !important;
  padding: .65rem 2rem;
  border: 0;
  border-radius: .2rem;
  background: var(--form-accent);
  color: #fff;
  font: inherit;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.conf input[type="submit"]:hover {
  opacity: .75;
}

.conf .wpcf7-spinner {
  align-self: center;
}

.conf .wpcf7-form > p:has(input[type="submit"]) {
  display: block !important;
  position: relative;
  text-align: center;
  margin-top: .5rem !important;
}

.conf .wpcf7-form > p:has(input[type="submit"]) .wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: calc(50% + 5.5rem);
  margin: 0 0 0 .6rem;
  transform: translateY(-50%);
}


@media screen and (max-width: 767px) {
  .conf {
    --form-control-height: 3rem;
    --form-textarea-height: 11rem;
    --form-row-gap: .55rem;
  }

  .conf .wpcf7-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .conf .wpcf7-form > .con-th,
  .conf .wpcf7-form > .con-th + p,
  .conf .wpcf7-form > div:not(.con-th):not([style*="display: none"]),
  .conf .wpcf7-form > p:has(input[type="submit"]),
  .conf .wpcf7-response-output {
    grid-column: 1;
  }

  .conf .wpcf7-form > .con-th {
    min-height: auto !important;
    padding: .35rem 0 0;
    background: transparent !important;
    color: #000;
    font-size: 1rem;
  }

  .conf .wpcf7-form > .con-th + p {
    min-height: auto;
    margin-bottom: .65rem !important;
  }

  .conf .wpcf7-form > .con-th:has(+ p textarea),
  .conf .wpcf7-form > .con-th + p:has(textarea) {
    min-height: auto !important;
  }

  .conf textarea {
    height: var(--form-textarea-height) !important;
    min-height: var(--form-textarea-height) !important;
  }

  .conf .wpcf7-radio,
  .conf .wpcf7-checkbox {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: .45rem;
  }

  .conf input[type="file"] {
    font-size: .85rem;
  }
}

/* Animation
***************************************************************************/

.fadein_ {
    opacity : 0;
    transform : translate(0, 0.8em);
    transition : all 0.8s;
}
.fadein_.delay {
    transform : translate(0, 2.5em);
    transition : all 1.2s;
}
.fadein_.num{
	transform : translate(0, 0.5em);
	transition : all 0,5s;
}
h1.fadein_,h2.fadein_,.h5.fadein_  {
    opacity : 0;
    transform : translate(-1.2em, 0);
    transition : all 1s;
}
.fadein_.scrollin_ {
    opacity : 1;
    transform : translate(0, 0);
}
.onsp{
	    display:none;
}
.ex2{
	text-align: left;
	padding:0 2em;
	padding-bottom:2em;
}
.sA{
     animation: sA 0.5s linear;
}
.xA{
     animation: xA 0.7s linear;
}
.yA{
     animation: yA 1.2s linear;
}
@keyframes sA {
    0% {opacity: 0;transform :translate(0, 0.2em)}
    40% {opacity: 0;transform :translate(0, 0.2em)}
    100% {opacity: 1;transform :translate(0, 0)}
}
@keyframes xA {
    0% {opacity: 0;transform : translate(-0.6em, 0)}
    40% {opacity: 0;transform : translate(-0.6em, 0)}
    100% {opacity: 1;transform : translate(0, 0)}
}
@keyframes yA {
    0% {opacity: 0;transform : translate(0, 0.5em)}
    40% {opacity: 0;transform : translate(0, 0.5em)}
    100% {opacity: 1;transform : translate(0, 0)}
}

/*  自動翻訳・崩れ対策の追加
***************************************************************************/

.hbox {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  max-width: 80%;
}

.hbox a {
  white-space: nowrap;
  margin-left: 1.2em;
  flex: 0 1 auto;
}

.text-en {
  display: none;
}

html.translated-ltr .text-jp,
html[lang="en"] .text-jp {
  display: none;
}

html.translated-ltr .text-en,
html[lang="en"] .text-en {
  display: inline-block;
}

html.translated-ltr .m_copy,
html[lang="en"] .m_copy {
  font-size: 2vw;
}

html.translated-ltr #head-box,
html[lang="en"] #head-box {
  font-size:.9vw;
}

html[lang="ja"] .nowrap{
    white-space: nowrap;
}

html.translated-ltr p{
    line-height: 1.6em;
}
html.translated-ltr .offsp{
    display: none;
}
html.translated-ltr img.offsp{
    display:inline-block;
}

/* Responsive
***************************************************************************/

@media screen and (min-width:900px) and ( max-width:1400px) {
.center-box {
	font-size:1.2vw;
    line-height: 1.8em;
	}
.biz-box {
    font-size:0.9em;
}
}
@media screen and (orientation: portrait) {
 .onsp{
    display:block;
}
.offsp{
    display:none !important;
    }
.nobr{
    white-space: nowrap;
    }
.fadein_.fdon{
    animation: sp 0s linear;
    animation-fill-mode: forwards;
}
.fadein_.fdsp{
    animation: sp 1.4s linear;
    animation-delay: 0.3s;
    animation-fill-mode: forwards;
}
@keyframes sp {
    0% {opacity: 0;transform : translate(0, 0.5em);}
    75% {opacity: 0;transform : translate(0, 0.5em);}
    100% {opacity: 1;transform : translate(0, 0);}
}
.spc{
    margin: 1em auto !important;
    margin-bottom: 1.5em !important;
    }
.a_cp01{
    animation: copy1 1.8s linear;
    animation-fill-mode: forwards;
    animation-delay: 0s;
}
.a_cp02{
    animation: copy2 2.1s linear;
    animation-fill-mode: forwards;
    animation-delay: 0s;
}
.img-box{
    max-width: 50%;
    width: 46%;
    margin: 0.4em 2%;
}
body {
    color: #101114;
	font-size:2.3vw;
	}
.sticky h1, .fp-content h2{
    font-size:1.75em;
    }
h3{
    font-size:1em !important;
}
.headline h3{
    padding-right: 20px !important;
}

p {
    line-height: 1.6em;
    }
.xtel{
    color:#101114;
    position: fixed;
    font-weight: bold;
    white-space: nowrap;
    font-size:2.2vh;
    top:2vh;
    right:3em;
    z-index: 10;
    }
.box-margin{
	width:90%;
}
.center-box{ 
    font-size:1.6em;
    line-height: 1.8em;
}
.center-box table{
    width: 100%;        
    }
#head-box{
	height:6vh;
    box-shadow: 0 0 0 rgba(0,0,0,0);
}
.ex{
	font-size:0.95em;
}
.hbox{
    display: none;
    }
.y_logo{
	position: absolute;
	left:4%;
	width: auto;
    height: 3.2vh;
}
a .y_logo{
    top:20%;
}
.bgimg2{
    background-image: url(img/bgimg.jpg);
    background-position: right bottom;
    background-size: contain;
    background-repeat: no-repeat;
}
.main-v{
	height:40vh;
    background-size: cover;
    background-position:10% bottom;
}
.slider li{
    height: 40vh;
    background-size: cover;
	background-position:10% bottom;
}
.main-v .slick-dots li button:before{
	display: none;
}
.main-v h1{
	position: absolute;
	top:28vh;
    left: -3vw;
	font-size:2.2em;
    line-height: 0.9em;
    text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.6);
    padding: 0 !important;
}
.rename{
    height: 40vh;
    animation: fadeout 5.5s linear;
    animation-fill-mode: forwards;
    }
.rn3{
    animation: bgstretch 0.6s linear;
    animation-fill-mode: forwards;
    animation-delay: 1s;
}
.m_copy{
     font-size:0.8em;   
    }
.m_copy p{
    margin-top:0.6em;
    line-height: 0.8em;
    }
.sec{
        font-size:1.6em;
    }
.topnews{
    display: none;
}
.t-text,.t-img{
    width: 100%;
    display: block; 
    box-sizing: border-box;
}
.t-text{
    margin: 1em auto;
    width: 90%;
    padding: 0;
}
.flex-container {
    gap: 0;
}
.flex-container a{
    width: 100%;
}
.left-p{
    padding-left: 0;
}
.t-img{
    padding-left: 0.5em;
}
h2{
    padding:0.4em 1em;
}
h2.h5,h2.h6{
    padding:0;
}
.box-margin .h5{
    font-size:1.3em;
    }
td{
    padding: 0 0.5em;
}
.cops{
	height:10vh;
	top:5vh;
	}
.cops_img{
	height:4vh;
    background-size: cover;
    animation: scroll-anim 40s linear infinite;
    }

.flogo{
	width: 30%;
    margin: 2em auto;
}
.footer-box p{
	font-size:2vw;
    line-height: 2.5em;
}
.L-side,.R-side,.spm{
    width: 100% !important;
    padding: 0;
    float: none;
    display: block;
    margin: 1em auto;
    }
.r5{
    box-sizing: border-box;
    padding-right: 5%;
    }
    
.mv{
    height: 30vh;
    }
    
.spm2{
    width: 100%;
    padding: 0;
    float: none;
    display: block;
    margin: 1em auto;
    margin-bottom: 1.5em !important;
    }
    
.copimg{
    max-width: 40%;
}
.gmap{
    margin: 1em auto;
    margin-top: 0;
    height: 60vw;
    max-width: 82%;
}

.p-box,.c-box{
    font-size:1.3em;
    }
.c-box{
    padding:0.3em 0.8em 0.5em 0.8em;
    }
.con-th{
    color: #fa1246;
    float: none;
    width: 100%;
    font-size:1.2em;
    font-weight: bold;
    background: none;
    padding: 0;
    }
    
.contact-box input[type="text"],input[type="tel"],input[type="email"],input[type="date"]  {
    width: 100%;
}
.biz-top{
    line-height: 2.5em;padding-top:1em;display:block;
}
.biz-txt{
    width:100%;
}
.biz-illust{
    width:100%;
}
.biz-box {
    width:100%;
    max-width:100%;
    box-sizing: border-box;
    display: block;
    font-size:1em;
    margin: 0em auto;
    margin-bottom: 2em;
    }
.biz-box img,.img-fade{
    width:70%;
    display: block;
    margin: 0 auto;
    padding: 0;
    float: none;
    box-sizing: border-box;
}
.bgimg .center-box .h4 {
    padding-top:0;
	clear: both;
}
.img-fade{
    display: flex;
}

.center-box .biz-box table{
    margin: 1.5em auto;
    margin-bottom: 0;
    width:100%;
    float: none;
    box-sizing: border-box;
    }
.center-box table.biz-table,.biz-table{
    width: 100%;
    margin:1em auto;
    line-height: 1.6em;
}
.center-box table.biz-table td{
    padding: 0.5em
}
.sidemenu{
    display: none;
    }
.R-side img{
    width: 46%;
    margin: 2%;
}
.slick-dots{
    right:auto;
}
.boxl,.boxr{
    float: none;
    width: 100%;
}
.prof img{
        width:100% !important;
    }
.sdgs li{
    width:45%;
    margin: 2%;
    display: inline-block;
    vertical-align: top;
}
    
.sdgs li p{
    font-size:.95em;
}
    
.sdgs img{
    width: 100%;
}
.endless {
    animation: loop-slide 25s infinite linear 1s both;
}    
.endless li {
  width: calc(100vw / 3); 
}
.endless li {
    height: 10em;
}

.endless li img {
    height: 10em;
}
    
.flex-container{
    width: 100%;
    display: block;
}

.s-box{
    margin: 1em 0 ;
}
    
.p-box{
    width: fit-content;
    padding: .5em 1.8em .5em 1em;
    font-size:1.1em;
    display: block;
    margin: 2em auto;
    }
    
.morebox{
    width: fit-content;
    padding: .5em 1.8em .5em 1em;
    font-size:1.1em;
    display: block;
    margin: 2em auto;
    }
.tpv{
   float: none;
    margin: auto;
}
.topnews.spnews{
    top:0;right:0;left:0;bottom:0;
    position: relative;
    min-width:100%;
    display: block !important;
    font-size:1.4em;
    line-height: 1.4em;
    padding: 1.5em 2em;
    box-sizing: border-box;
    border-radius: 0;
    z-index: 0 !important;
}
html.translated-ltr .tms{
    padding-right: 0em;
}
}

.prof details {
    border-radius: 1em;
}
.prof summary {
  border-radius: .5em .5em 0 0 ;
  padding: 10px;
  background: linear-gradient(to right, #fff, rgba(0,0,0,0) 50%, rgba(0,0,0,0) 100%);
  cursor: pointer;
}
.prof details[open] summary {
  background: linear-gradient(to right, #e6e6e6, rgba(255,255,255,1) 80%, rgba(0,0,0,0) 100%);
}
.prof details div {
  background-color: #f8f8f8;  
  padding: 1em 2em;
  box-sizing: border-box;    
  border-radius: 0 0 .5em .5em;
}

/* DRAWER MENU
***************************************************************************/

@media screen and (orientation: portrait) {
.hamburger {
  display : block;
  position: fixed;
  z-index : 100;
  top: 1.2vh;
  right : 4vw;
  width : 5vw;
  height: 5vw;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 5vw;
  height  : 2px ;
  left    : 6px;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 1vw;
}
.hamburger span:nth-child(2) {
  top: 2.5vw;
}
.hamburger span:nth-child(3) {
  top: 4vw;
}
.hamburger.active span:nth-child(1) {
  top: 1.3vh;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}
.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 1.3vh;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}
}

nav.globalMenuSp {
  position: fixed;
  top  : -100vh;
  left : 0;
  background-color:rgba(0,0,0,.9);
  text-align: center;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
  box-sizing: border-box;
  padding-top:10em;
  padding-top:10em;
  padding-bottom:3em;
  white-space: nowrap;
  z-index : 99;
  pointer-events: none;
  filter: drop-shadow(0.2em 0.2em 1em rgba(0,0,0,0.3));
}
nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 1em 0;
  width: 100%;
  font-size:1.8em;
  line-height: 1.4em;
  font-weight:bold;
  display: block;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
  margin-bottom: 1.8em;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  text-decoration :none;
  pointer-events: none;
}

nav.globalMenuSp.active {
  opacity: 1;
  z-index : 3;
  top:0;
}
nav.globalMenuSp.active ul li a {
  pointer-events: auto;
}

@media print {
#head-box{
    position: absolute;
    }
.fadein_ {
    opacity : 1 !important;
    transform : translate(0, 0) !important;
}
}

.ac-menu-inside p{
    margin: 0 !important;
    padding-top: 0 !important;
    line-height: 2em !important;
}
.ac-menu-inside h4{
    font-size:1.4em!important;
    line-height: 1.8em !important;
    margin-bottom: .5em !important;
}
.ac-menu-inside h4 b{
    font-size:1.3em!important;
}
.ac-menu-inside h5{
    font-size:1.2em!important;
    line-height: 2em !important;
    padding-left: .5em;
}
.ac-menu-inside h6{
    line-height: 1.2em !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Access guide
================================================== */

.access-guide {
  width: 42em;
  max-width: 90%;
  margin: 1.5em auto 2em;
  text-align: left;
  font-size: .9em;
  line-height: 1.8;
}

.access-block {
  background-color: rgba(255,255,255,.65);
  border: 1px solid rgba(250,18,70,.25);
  padding: 1.2em 1.4em;
  margin-bottom: 1em;
  box-sizing: border-box;
  filter: drop-shadow(.15em .15em .2em rgba(0,0,0,.08));
}

.access-title {
  color: #333;
  font-weight: 600;
  font-size: 1.15em;
  line-height: 1.5;
  margin-bottom: .8em !important;
  padding-bottom: .35em;
  border-bottom: 1px dotted rgba(0,0,0,.35);
}

.access-title::before {
  content: "【";
}

.access-title::after {
  content: "】";
}

.access-row {
  display: flex;
  align-items: flex-start;
  gap: 1em;
  margin: .45em 0;
}

.access-label {
  flex: 0 0 5.5em;
  color: #fff;
  background-color: #202124;
  text-align: center;
  font-size: .9em;
  line-height: 1.6;
  padding: .15em .4em;
  box-sizing: border-box;
}

.access-text {
  flex: 1;
  line-height: 1.8;
}

.access-note {
  display: inline-block;
  margin-top: .25em;
  color: #fa1246;
  font-weight: 600;
}

/* スマホ用 */
@media screen and (orientation: portrait) {
  .access-guide {
    width: 100%;
    max-width: 92%;
    font-size: 1em;
    margin-top: 1.2em;
  }

  .access-block {
    padding: 1em;
    border-left-width: .3em;
  }

  .access-row {
    display: block;
    margin: .8em 0;
  }

  .access-label {
    display: inline-block;
    width: auto;
    min-width: 5em;
    margin-bottom: .25em;
  }

  .access-text {
    display: block;
  }
}

/* Technology page: inherited craftsmanship section
================================================== */
.tech-inheritance {
  padding-top: 1.5em;
  border-top: 1px dotted rgba(0,0,0,.25);
}

.tech-heritage-photo {
  width: 22em;
  max-width: 40%;
  float: right;
  margin: 3em 0 1em 2em;
  display: block;
}

.tech-heritage-photo img {
  width: 100%;
  display: block;
}

.tech-heritage-photo figcaption {
  margin-top: .35em;
  font-size: .75em;
  line-height: 1.4;
  text-align: right;
  color: #333;
}

@media screen and (orientation: portrait) {
  .tech-heritage-photo {
    width: 100%;
    max-width: 100%;
    float: none;
    margin: 1em auto 1.5em;
  }
}

.past-results {
  padding-left: 1.4em;
  line-height: 1.5em;
}

.past-results li {
  margin-bottom: .5em;
}

.past-results strong {
  font-weight: 600;
}

.past-results-note {
  margin-top: 1em;
  font-size: .95em;
  line-height: 1.8;
}

.br-small{
  display: block;
  height: .8em;
}

.single h1.h5{
    font-size:1.5em;
    line-height: 1.5em !important;
    margin-top: 0;
}

.single li{
    line-height: 1.8em !important;
}

.news_cat{
  display: inline-block !important;
  color: #fff !important;
  text-align: center;
  background-color: #888;
  width: 7em;
  font-size: .7em;
  line-height: 1.4;
  padding: .15em .7em !important;
  margin-right: 1em;
  border-radius: .15em;
  font-weight: 600;
  vertical-align: .08em;
  position: relative;
  white-space: nowrap;    
}

.tpnews_data .news_cat{
    margin-left: 1em;
    margin-right: 0;
}

.single::after {
    content: "";
    display: block;
    clear: both;
}

.breadcrumbs{
    font-size:.9em;
    margin-bottom: 2em;
}

.newsb{
    position: relative;
    top:-.25em;
    margin-bottom: 1.25em;
}
.navpage{
    margin-top: 2.5em;
    padding-top: .5em; 
    border-top: 1px solid #999;
}

.newstext a{
    border-bottom: 1px dotted #666;
}

.prev a,.next a{
    font-size:.9em;
    border-bottom: 1px dotted #666;
}
.prev{
    float: left;
}
.next{
    float: right;
}
/* pagination*/

.pagination {
    list-style-type: none;
    padding-left: 0;
    margin: 3em 0;
}

ul.pagination {
    margin: 0;
}

.pagination li {
    border: none !important;
}

.pagination, .pagination li a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-size: 1em;
    color: #333;
    margin: 0 .75em;
}

.pagination a {
    transition: .2s;
    padding-top: 1px;
    min-width: 1em;
    min-height: 1em;
    line-height: 1em;
}

.pagination li a:hover {
    text-decoration: none;
    opacity: .5;
}

.pagination li:not([class*="current"]) a:hover {
}

.pagination li:first-of-type a {
    border-left-width: 1px;
}

.pagination li.first span, .pagination li.last span, .pagination li.previous span, .pagination li.next span {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
}

.pagination li.first a::before, .pagination li.last a::after, .pagination li.previous a::before, .pagination li.next a::after {
    display: block;
    font-family: 'FontAwesome';
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: translate(0, 0);
}

.pagination li.first a::before {
    content: "|<";
}

.pagination li.last a::after {
    content: ">|";
}

.pagination li.previous a::before {
    content: "<";
}

.pagination li.next a::after {
    content: ">";
}

.pagination li.current a {
    font-size: 1.2em;
    cursor: default;
    font-weight: bold;
    pointer-events: none;
    text-decoration: underline;
}

@media only screen and ( max-width: 680px) {
    .pagination li.first, .pagination li.last {
        /* screen readers only */ position: absolute;
        top: -9999px;
        left: -9999px;
    }

    .pagination li.previous a {
        border-left-width: 1px;
    }
}

@media only screen and ( max-width: 500px) {
    .pagination li {
        /* screen readers only */ position: absolute;
        top: -9999px;
        left: -9999px;
    }

    .pagination li.current, .pagination li.first, .pagination li.last, .pagination li.previous, .pagination li.next {
        position: initial;
        top: initial;
        left: initial;
    }

    .pagination li.previous a {
        border-left-width: 0;
    }
}

@media only screen and ( max-width: 400px) {
    .pagination li.first, .pagination li.last {
        /* screen readers only */ position: absolute;
        top: -9999px;
        left: -9999px;
    }

    .pagination li.previous a {
        border-left-width: 1px;
    }
}