@charset "UTF-8";
/*-----------------------------------------------------------------------------
basic
-----------------------------------------------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	list-style: none;
}

html {
	overflow-y: scroll;
	overflow-x: hidden;
	background-color: #fff;
	scroll-behavior: smooth;
}
nav ul {list-style:none;}

blockquote, q {quotes:none;}

blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}

a {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	text-decoration: none;
}

ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}

del {text-decoration: line-through;}

abbr[title], dfn[title] {
	border-bottom:1px dotted #000;
	cursor:help;
}

table {border-collapse:collapse;}

hr {
    display:block;
    height:4px;
    border:0;
    border-top:4px solid #e1edf6;
    margin: 0;
    padding:0;
}

input, select {vertical-align:middle;}


/* NotoSansJP */
@font-face {
    font-family: ' NotoSansJP ';
    src: url('../fonts/NotoSansJP-Regular.woff2') format('woff2'),
             url('../fonts/NotoSansJP-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}
/* NotoSansJP-Bold */
@font-face {
    font-family: ' NotoSansJP ';
    src: url('../fonts/NotoSansJP-Bold.woff2') format('woff2'),
             url('../fonts/NotoSansJP-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}


@font-face {
    font-family: ' Montserrat ';
    src: url('../fonts/Montserrat-Bold.woff2') format('woff2'),
             url('../fonts/Montserrat-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}


body {
color: #333;
font-size: 93%;
line-height: 1.6;
font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
font-weight:400;
letter-spacing: 0.05rem;
padding-top:60px;
position: relative;
overflow: hidden;
background:white;}


@media (min-width: 768px) {
body {
letter-spacing: 0.05rem;

}
}

@media (min-width: 992px) {

body {
font-size: 94%;
line-height: 1.7;
letter-spacing: 0.05rem;
padding-top: 0px;}

}
@media (min-width: 1200px) {
body {
font-size: 99%;
letter-spacing: 0.08rem;
}


}


/* -------------------------------

/* 共通
---------------------------------------------------- */

.fluid {position: relative;
	max-width: 1140px;
	margin: 0 auto;
}
.clearfix:after {
  content: "";
  clear: both;
	display: table;
}
.clear {clear: both;}
.t-justify{text-align: justify;}
.f-right {float: right;padding: 0 0 1em 1em;}
.f-left {float: left;}
.pointer {cursor: pointer;}
ul.decimal li{list-style: decimal;margin-left: 2em;line-height: normal;}
ul.dot li{list-style:disc;margin-left: 25px;line-height: 1.7;text-align: left;}
ul.square {margin-left: 30px;}
ul.square li{list-style:disc;line-height: 1.7;}
ol.dot li{list-style:disc;margin-left: 25px;line-height: 1.5;text-align: left;font-size: .9em;}

.mb0  { margin-bottom: 0 !important; }
.mb5  { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.mt10 { margin-top: 10px !important; }
.mt20 { margin-top: 20px !important; }
.pad10 { padding: 10px; }
.pad20 { padding: 20px; }
.pr05 { padding-right: 5px !important; }
.pr10 { padding-right: 10px !important; }
.pl10 { padding-left: 10px !important; }
.pt5 { padding-top: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pt20 { padding-top: 20px !important; }
.pt30 { padding-top: 30px !important; }
.pt40 { padding-top: 40px !important; }
.pt50 { padding-top: 50px !important; }
.pb5 { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb50 { padding-bottom: 50px !important; }
.w20 { width: 20%; }
.w25 { width: 25%; }
.w33 { width: 33.33333333%; }
.w50 { width: 50%; }
.w60 { width: 60%; }
.w70 { width: 70%; }
.w80 { width: 80%; }
.mb150mb100{margin-bottom: 150px;}
.mb120mb80{margin-bottom: 120px;}
.mb100mb80{margin-bottom: 100px;}
.mb80mb50{margin-bottom: 80px;}
.mb50mb30{margin-bottom: 50px;}
.mb30mb10{margin-bottom: 30px;}

@media (max-width: 1140px) {
.mb120mb80{margin-bottom: 80px;}
.mb150mb100{margin-bottom: 100px;}
.mb50mb30{margin-bottom: 40px;}

}


@media (max-width: 991px) {
.mb100mb80{margin-bottom: 80px;}
.mb120mb80{margin-bottom: 60px;}
.mb150mb100{margin-bottom: 90px;}
.mb30-md{margin-bottom: 30px;}
.mb50mb30{margin-bottom: 30px;}
.mb10-md{margin-bottom: 10px;}

}

@media (max-width: 767px) {
.space15{margin-bottom: 15px;}
.mb150mb100{margin-bottom: 80px;}
.mb120mb80{margin-bottom: 50px;}
.mb80mb50{margin-bottom: 50px;}
.mb100mb80{margin-bottom: 50px;}

.mb50mb30{margin-bottom: 30px;}
.mb20-xs{margin-bottom: 20px;}
.mb30-xs{margin-bottom: 30px;}
.mb10-xs2{margin-bottom: 10px;}
.mb30-md{margin-bottom: 20px;}

}
@media (max-width: 666px) {
.mb30-xs2{margin-bottom: 30px;}
.mb10-xs{margin-bottom: 10px;}
.mb30mb10{margin-bottom: 10px;}
.mb20-xs2{margin-bottom: 20px;}

}


@media (min-width: 1200px) {

.mb30-xl { margin-bottom: 30px !important; }
}

.indent {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.5;
}

.indent2 {
  padding-left: 1.8em;
  text-indent: -1.8em;
}

.flexbox{display: flex;align-items: center;}
.flexbox-center{display: flex;align-items: center;justify-content: center;}
.flexbox-center-top{display: flex;justify-content: center;}

.flexbox-between{display: flex;align-items: center;justify-content: space-between;}
.flexbox2{display: flex;align-items: stretch;}

.flexbox3{display: flex;align-items: flex-end;}
.flexbox4{display: flex;justify-content: flex-end;}


@media (max-width: 767px) {
.flexbox4{display:block;}


}


.bg-gray{background:rgba(152,133,95,.06);}
.bg-blue{background:rgba(0,156,255,0.05);}
.bg-border-top{border-top: 1px solid #ddd;}




/*btn
------------------------------ */
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

img{vertical-align: bottom;}








/* link
---------------------------------------------------- */
a:link,a:visited{text-decoration:none;}
a:hover,a:active{text-decoration:none;}
a.opacity {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
a.opacity:hover {
	-webkit-opacity: 0.6;
	-moz-opacity: 0.6;
	opacity: 0.6;
}

.linkbtn{
    font-size:1em;
    color: #fff;
    position: relative;
	letter-spacing: 0;
    text-decoration:none;width: 250px;
    display: flex;
    overflow: hidden;
    height: 55px;
    border-radius: 30px;
    transition: opacity .45s ease, background .35s ease;
    background:#008EEF;
    box-shadow: 5px 5px 12px #d8d8d8, -6px -6px 10px #fff;
    justify-content: center;
    align-items: center;
}

.linkbtn__circle{
    position: absolute;
    top: 50%;
    right: 1.5rem;
    width: .5rem;
    height: .5rem;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #fff;
}

.linkbtn__circle::before{
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    content: '';
    transition: width .45s cubic-bezier(.87, .24, .36, 1), height .45s cubic-bezier(.87, .24, .36, 1);
    transform: translate3d(-50%, -50%, 0);
    border-radius: 50%;
    background: #fff;
}

.linkbtn__text{
    line-height: 1;
    position: relative;
    z-index: 2;
    padding-top: .2em;
    transition: color .45s cubic-bezier(.87, .24, .36, 1);
}

.linkbtn:hover .linkbtn__circle::before{
    width: 50rem;
    height: 50rem;
	background:#FF0328;
}

.linkbtn:hover .linkbtn__text{color: #fff;}


.yoyakubtn-group{text-align: center;width: 250px;margin: 0 auto;}
.yoyakubtn{
    font-size:1em;
    color: #fff;
    position: relative;
	letter-spacing: 0;
    text-decoration:none;width: 250px;
    display: flex;
    overflow: hidden;
	padding: .5em 0;
    border-radius: 35px;
	text-align: center;
	line-height: 1.8;
    transition: opacity .45s ease, background .35s ease;
    background:#f23636;
    box-shadow: 5px 5px 12px #d8d8d8, -6px -6px 10px #fff;
    justify-content: center;
    align-items: center;
}

.yoyakubtn__text{
    line-height: 1.3;
    position: relative;
    z-index: 2;
    transition: color .45s cubic-bezier(.87, .24, .36, 1);
}

.yoyakubtn:hover{
	background:#008EEF;
}

.yoyakubtn:hover .yoyakubtn__text{color: #fff;}

.yoyakubtn-group .yoyakubtn{margin-bottom: 18px;}
.yoyakubtn-group .yoyakubtn:last-child{margin-bottom:0;}

@media (min-width: 667px) {

.yoyakubtn-group{text-align: center;width: 90%;margin: 0 auto;display: flex;justify-content: space-between;}
.yoyakubtn{
    font-size:1em;
    color: #fff;
    position: relative;
	letter-spacing: 0;
    text-decoration:none;width: 32%;
    display: flex;
    overflow: hidden;
	padding: .5em 0;
    border-radius: 35px;
	text-align: center;
	line-height: 1.8;
    transition: opacity .45s ease, background .35s ease;
    background:#f23636;
    box-shadow: 5px 5px 12px #d8d8d8, -6px -6px 10px #fff;
    justify-content: center;
    align-items: center;
}
.yoyakubtn-group .yoyakubtn{margin-bottom: 0;}

}

@media (min-width: 1199px) {

.linkbtn{
    font-size:1em;
    color: #fff;
    position: relative;
    text-decoration:none;width: 300px;
    display: flex;
    overflow: hidden;
    height: 70px;
    border-radius: 40px;
    transition: opacity .45s ease, background .35s ease;
    background:#008EEF;
    box-shadow: 5px 5px 12px #d8d8d8, -6px -6px 10px #fff;
    justify-content: center;
    align-items: center;
}



}

@media (min-width: 1200px) {
.yoyakubtn-group{text-align: center;width: 95%;margin: 0 auto;display: flex;justify-content: space-between;}
.yoyakubtn{
    font-size:1.08em;
    color: #fff;
    position: relative;
	letter-spacing: 0;
    text-decoration:none;width: 32%;
    display: flex;
    overflow: hidden;
	padding: .8em 0;
    border-radius: 40px;
	text-align: center;
	line-height: 1.8;
    transition: opacity .45s ease, background .35s ease;
    background:#f23636;
    box-shadow: 5px 5px 12px #d8d8d8, -6px -6px 10px #fff;
    justify-content: center;
    align-items: center;
}
}

@media (min-width: 1440px) {

.linkbtn{
letter-spacing: .08rem;
font-size: 1.08em;
    width: 350px;
    height: 75px;
    border-radius: 40px;
}

.yoyakubtn-group{text-align: center;width: 90%;margin: 0 auto;display: flex;justify-content: space-between;}
.yoyakubtn{
    font-size:1.2em;
    color: #fff;
    position: relative;
	letter-spacing: 0;
    text-decoration:none;width: 32%;
    display: flex;
    overflow: hidden;
	padding: 1em 0;
    border-radius: 50px;
	text-align: center;
	line-height: 1.8;
}

}


.txt-justify{text-align:justify;}

[data-action="call"]  {text-decoration: none;}

/* font-size color
---------------------------------------------------- */
.x-small { font-size: .7em; letter-spacing: 0;}
.small { font-size: .9em; line-height: 1.5; letter-spacing: 0;}
.middle { font-size: 14px; letter-spacing: 0;}
.large { font-size: 1.2em; }
.x-large { font-size: 1.4em; }
.x2-large { font-size: 20px; }
.x3-large { font-size: 22px; }
.x4-large { font-size: 24px; }
.max-large { font-size: 32px; }
.italic {font-style: italic;}
.bold{font-family: ' NotoSansJP ';font-weight: 700;}

.white { color: #ffffff; }
.red { color:#c00; }
.blue{color:#008EEF;}
.green { color: forestgreen; }
.navy { color:#0034A0; }
.orange { color: #f60; }
.kiiro { color: yellow!important; }
.brown{color: #8b6f57;}

/* H1
---------------------------------------------------- */
.visuallyhidden {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
    clip-path: inset(0px 0px 99.9% 99.9%);
    overflow: hidden;
    height: 1px;
    width: 1px;
    padding: 0;
    border: 0;
}



/* header mobile pad
---------------------------------------------------- */
#header{display: none;}
.cb-header2 {
    position: fixed;
    /* 固定 */
    top: 0;
    /* 上から0の位置に固定 */
    left: 0;
    /* 左から0の位置に固定 */
    display: block;
    /* 表示 */
	z-index: 200;
	width: 100%;
	box-sizing: border-box;
}

.sc {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
margin: 0 auto;
height: 60px;
background: white;
padding-right: 60px;}
.sc .logo{padding-left: 15px;width: 220px;}

.sc .translation{}
.sc .translation a{color: black;font-size: 13px;}
.sc .translation a.active{font-weight: 700;position: relative;}
.sc .translation a.active::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #111; 
  position: absolute;
  bottom: -7px;
  left: 0;
}


header{display: none;}
.head-logo {display: none;}
@media (min-width: 666px) {
.sc {padding-right:70px;}
.sc .logo{padding-left: 15px;width: 270px;}

}



/*header pc
------------------------------------------------------------------*/
@media (min-width: 992px) {

header{display: block;}
.cb-header2 {display: none;}


.header {
  position: fixed;
  top: 15px;
  left:1%;
  width: 98%;
  z-index: 500;
  height: 70px;
  background: white;
  border-radius: 10px;
  display: flex;
  align-items: center;justify-content:space-between;filter: drop-shadow(0px 3px 8px rgba(0,0,0,0.08));
}

.head-logo {display: block;width:280px;margin-left: 15px;transition: .4s;}
.head-logo:hover {opacity: .8;}

/* ナビゲーションメニュー */
.header .navi{display: flex;align-items: center;}
.nav-menu {margin-right: 15px;display: flex;align-items: center;justify-content: flex-end;}
.menu-list {
  display: flex;
  justify-content: center; /* メニューアイテムを中央揃えに */
}
.menu-item {position: relative;padding: 0 .4em;line-height: 1;}
.menu-item:first-child {padding: 0 .4em 0 0;}
.menu-item:last-child {padding: 0 0 0 .4em;}
.nav-menu .translation{margin-left: 15px;}
.nav-menu .translation a{color: black;font-size: 13px;}
.nav-menu .translation a.active{font-weight: 700;position: relative;}
.nav-menu .translation a.active::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #111; 
  position: absolute;
  bottom: -7px;
  left: 0;
}


/* メニューアイテムのホバースタイル */
.menu-item a {
font-size: 14px;
font-weight: 700;
letter-spacing: 0;
padding: 0;
  text-align: center;
  color: #222;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: .3;line-height: 1;
}
.menu-item a:hover {color: #007feb;}
.menu-item a.active {color:#007feb;position: relative;}
.header .contact{}
.header .contact a{font-size: 14px; display: flex;height: 70px;align-items: center;justify-content: center;border-radius: 0 10px 10px 0;background: #6c0;color: white;padding: 0 1em;font-weight: 700;transition: .4s;}
.header .contact a:hover{background: #555;color: white;}

}






@media (min-width: 1200px){
.header {
  position: fixed;
  top: 15px;
  left:2%;
  width: 96%;
  z-index: 500;
  height: 80px;
}

.head-logo {width:350px;}
.menu-item {position: relative;padding: 0 .7em;}
.menu-item:first-child {padding: 0 .7em 0 0;}
.menu-item:last-child {padding: 0 0 0 .7em;}

.menu-item a {font-size: 15px;letter-spacing: .08rem;height: 80px;}

.header .navi{}
.nav-menu .translation a{color: black;font-size: 15px;}
.nav-menu .translation{margin-left: 20px;}

.header .contact a{font-size: 15px; display: flex;height:80px;align-items: center;justify-content: center;border-radius: 0 10px 10px 0;}

}


@media (min-width: 1680px){
.header {
  position: fixed;
  top: 20px;
  left:3%;
  width: 94%;
}
.head-logo {width: auto;}

.header .navi{display: flex;align-items: center;}
.nav-menu {margin-right: 30px;}

.menu-item {position: relative;padding: 0 1em;}
.menu-item:first-child {padding: 0 1em 0 0;}
.menu-item:last-child {padding: 0 0 0 1em;}
.menu-item a {font-size: 16px;}
.nav-menu .translation a{color: black;font-size: 16px;}
.nav-menu .translation{margin-left: 30px;}

.header .contact a{font-size: 16px;}

}

@media (min-width: 1920px){

}










/*main
------------------------------------------------------------------*/

#main{position: relative;}

.main-h2{position: absolute;z-index: 50;top:50%;transform: translateY(-50%);left: 5%;background: rgba(255,255,255,.5);padding: 4em;width: 700px;border-radius: 30px;backdrop-filter: blur(12px);}
.main-h2 h2.mv-h2{color: black;font-size: 34px;font-weight: 700;line-height: 1.4;letter-spacing: .08rem;margin-bottom: 30px;}
.main-h2 h2.mv-h2 span{font-size: 60px;letter-spacing: .13rem;}
.main-h2 .sub{text-align: justify;line-height: 1.8;}

.main-h2 h2.mv-h2.en{color: black;font-size: 24px;font-weight: 700;line-height: 1.4;letter-spacing: .08rem;margin-bottom: 30px;}
.main-h2 h2.mv-h2.en span{font-size: 34px;letter-spacing: .1rem;}
.main-h2 .sub.en{text-align:left;line-height: 1.7;}

.scrolldown{position: absolute;left:30px;bottom:30px;display: flex;flex-direction: column;align-items: center;justify-content: center;}
.scrolldown span{font-family: ' Montserrat ';writing-mode: vertical-lr;margin-bottom: 15px;}
.scrolldown .circle{width: 27px;height: 27px;border-radius: 50%;border:1px solid #111;display: flex;justify-content: center;padding-top: 8px;}
.arrow_down {
	position: relative;
	width: 6px;
	height: 6px;
	border-bottom: 1px solid #111;
	border-right: 1px solid #111;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.loop_wrap {position: absolute;z-index: 50;left:0;bottom:0;
    display: flex;
    width: 100%;
    overflow: hidden;
  }

.loop_wrap div {
    flex: 0 0 auto;
    white-space: nowrap;
	font-family: ' Montserrat ';
    font-size: 90px;
	color: rgba(255,255,255,.3);
	line-height: 1;
    overflow: hidden;
	padding-right: 1.5em;
  }

.loop_wrap div:nth-child(odd) {animation: loop 50s -25s linear infinite;}

.loop_wrap div:nth-child(even) {animation: loop2 50s linear infinite;}

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


@media (max-width: 1680px){
.main-h2{position: absolute;z-index: 50;top:50%;transform: translateY(-50%);left: 5%;background: rgba(255,255,255,.5);padding: 3em;width: 600px;border-radius: 30px;}
.main-h2 h2.mv-h2{color: black;font-size: 30px;margin-bottom: 30px;}
.main-h2 h2.mv-h2 span{font-size: 52px;letter-spacing: .13rem;}



}



@media (max-width: 1440px){

.main-h2{position: absolute;z-index: 50;top:50%;transform: translateY(-50%);left: 5%;;padding: 2em 2.5em;width: 540px;border-radius: 30px;}
.main-h2 h2.mv-h2{font-size: 26px;margin-bottom: 20px;}
.main-h2 h2.mv-h2 span{font-size: 42px;letter-spacing: .13rem;}

.main-h2 h2.mv-h2.en{color: black;font-size: 18px;font-weight: 700;line-height: 1.4;letter-spacing: .08rem;margin-bottom: 20px;}
.main-h2 h2.mv-h2.en span{font-size: 27px;letter-spacing: .1rem;}
.main-h2 .sub.en{text-align:left;line-height: 1.6;}



}


@media (max-width: 1199px){
.main-h2{position: absolute;z-index: 50;top:50%;transform: translateY(-50%);left: 8%;;padding: 1.5em 2em 1.5em 0;width: 460px;border-radius: 30px;}
.main-h2 h2.mv-h2{font-size: 25px;margin-bottom: 20px;}
.main-h2 h2.mv-h2 span{font-size: 38px;letter-spacing: .13rem;}
.main-h2 h2.mv-h2.en{color: black;font-size: 18px;font-weight: 700;line-height: 1.4;letter-spacing: .08rem;margin-bottom: 20px;}
.main-h2 h2.mv-h2.en span{font-size: 24px;letter-spacing: .08rem;}
.main-h2 .sub.en{text-align:left;line-height: 1.5;}


.loop_wrap div {font-size: 70px;  }


}




@media only screen and (max-width: 991px) {
#main{position: relative;height:auto;}
.main-h2{position: absolute;z-index: 50;top:50%;transform: translateY(-50%);left: 8%;;padding: 1.5em 2em 1.5em;width: 420px;border-radius: 30px;}
.main-h2 h2.mv-h2{font-size: 20px;margin-bottom: 20px;}
.main-h2 h2.mv-h2 span{font-size:34px;letter-spacing: .13rem;}
.main-h2 .sub{line-height: 1.6;}
.main-h2 h2.mv-h2.en{font-size: 16px;letter-spacing: .08rem;margin-bottom: 15px;}
.main-h2 h2.mv-h2.en span{font-size: 22px;letter-spacing: .08rem;}

.loop_wrap div {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 55px;
	padding-right: 1em;
  }

.scrolldown{display: none;}


}

@media only screen and (max-width: 767px) {
#main{position: relative;height:auto;}
.main-h2{position: absolute;z-index: 50;top:50%;transform: translateY(-50%);left: 5%;;padding: 1.5em;width: 420px;border-radius: 30px;}
.main-h2 h2.mv-h2{font-size: 20px;margin-bottom: 20px;}
.main-h2 h2.mv-h2 span{font-size:30px;letter-spacing: .13rem;}
.loop_wrap div {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 45px;
	padding-right: 1em;
  }


}


@media only screen and (max-width: 666px) {
#main{position: relative;height:auto;}



}

@media only screen and (max-width: 460px) {
.main-h2{position: absolute;z-index: 50;top:50%;transform: translateY(-50%);left: 5%;;padding: 1.5em;width: 90%;border-radius: 20px;}
.main-h2 h2.mv-h2{font-size: 17px;margin-bottom: 15px;}
.main-h2 h2.mv-h2 span{font-size:25px;letter-spacing: .13rem;}

.main-h2 h2.mv-h2.en{font-size: 14px;letter-spacing: .08rem;margin-bottom: 10px;}
.main-h2 h2.mv-h2.en span{font-size: 16px;letter-spacing: .08rem;}
.main-h2 .sub.en{text-align:left;line-height: 1.5;}


.loop_wrap div {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 35px;
	padding-right: 1em;
  }



}

.updown {
    animation-name: updown1;
    animation-delay: 0s;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

@keyframes updown1 {
    0%   { transform: translateY(0); }
    40%  { transform: translateY(0); }
    50%  { transform: translateY(-20px); }
    65%  { transform: translateY(0); }
    100% { transform: translateY(0); }
}


/* index.html 
---------------------------------------------------- */

.btn-posi-right{display: flex;justify-content: flex-end;}
.btn-posi-center{display: flex;justify-content:center;}

.home #section01{position: relative;padding: 40px 0 0;}
.contactbox{background: url("../images/bg-contactbox.jpg");background-position: center;background-size: cover;padding: 2.5em 1.5em 1.5em;position: relative;border-radius: 15px;}
.contactbox .en{position: absolute;z-index: 2; left:10px;top:0px;font-family: ' Montserrat ';-webkit-text-stroke: 1px white;paint-order: stroke;font-size: 46px;color: transparent;letter-spacing: .3rem;opacity: .3;}
.contactbox ul{z-index: 5;}
.contactbox h3{color: white;font-weight: 700;font-size: 28px;margin-bottom: 15px;}
.contactbox p{color: white;text-align: justify;margin-bottom: 25px;}
.contactbox p.entxt{text-align: left;}

.contactbox  a{display: flex;align-items: center;justify-content: center;background:rgba(46,206,0,1.00);height: 50px;border-radius: 10px;color: black;}


.home #section02{position: relative;padding: 50px 0 0px;}
.home #section02 .wrap{padding: 0 15px;}
.home #section02 .txt{text-align: justify;margin-bottom: 20px;}
.home #section02 .txt.en{text-align: left;margin-bottom: 20px;}
.home #section02 .pic{padding: 0 15px;}
.home #section02 .pic img{border-radius: 10px;}



.home #section03{position: relative;padding:50px 0px;}
.deco1{position: absolute;right:-25px;top:-5px;width: 60px;}
.home #section03 h3{text-align: center;font-size: 30px;font-family: ' Montserrat ';margin-bottom: 20px;color: #6c3;}
.itembox{padding: 1.5em;background: white; border:1px solid #ccc;border-radius: 10px;box-shadow: 5px 5px #dff797!important;position: relative;display: block;}
.itembox .thumb{position: relative;margin-bottom: 15px;border-radius: 10px;overflow: hidden;}
.itembox .thumb .photo-ofi img {object-fit: cover;font-family: 'object-fit: cover;';}
.itembox .thumb .cate{position: absolute;top:0;left:0;background: rgba(255,255,255,.7);font-size: 14px;color: #222;line-height: 1;padding: .5em;border-radius: 0 0 10px 0;}
.itembox .date{margin-bottom: 10px;line-height: 1;}
.itembox .date .new{color: #c00;margin-left: .5em;}
.itembox .title{font-weight: 700;line-height: 1.4;}
.itembox .circle{display: none;}
a.itembox{transition: .4s;}
a.itembox .thumb{}
a.itembox .thumb img{transition: transform .6s ease;}
a.itembox .thumb:hover img{transform: scale(1.1);opacity: .8;}
a.itembox .date{color: #222;}
a.itembox .title{color: #000;padding-right: 20px;}
a.itembox .circle{width: 27px;height: 27px;border-radius: 50%;border:1px solid #111;display: flex;align-items: center;justify-content: center;position: absolute;right:15px;bottom:15px;transition: .4s;}
a.itembox .arrow_right {
  display: inline-block;
  vertical-align: middle;
  color: #111;
  line-height: 1;
  width: 5px;
  height: 5px;
  border: 1px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);}
a.itembox:hover .circle{background:  rgba(0,156,0,1.00);border:1px solid rgba(0,156,0,1.00);}
a.itembox:hover .arrow_right {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 5px;
  height: 5px;
  border: 1px solid white;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);}

.home #section04{position: relative;padding: 0px 0px 50px;}
.deco2{position: absolute;left:-10px;top:-15px;width: 50px;}
.home #section04 .wrap{padding: 0 15px;}
.home #section04 .headline{font-size: 28px;}
.home #section04 .txt{text-align: justify;margin-bottom: 20px;}
.home #section04 .txt.en{text-align:left;}

.home #section04 .pic{padding: 0 15px;}
.home #section04 .pic img{border-radius: 10px;}

.home #section05{position: relative;padding: 0px 0px 50px;}
.home #section05 .box{display: flex;align-items: center;justify-content: center;border-radius: 15px 15px 0 0;overflow: hidden;}
.home #section05 .box img{position: relative;z-index: 1;transition: transform .6s ease;}
.home #section05 .box .index{position: absolute;z-index: 5;background: rgba(255,255,255,.6);padding: 1em;line-height: 1.2;border-radius: .4em;display: flex;align-items: center;}
.home #section05 .box .index span{color: black;font-weight: 700;font-size: 1.5em;letter-spacing: .2rem;margin-right: 10px;}
.home #section05 .box .index .circle{width: 27px;height: 27px;border-radius: 50%;border:1px solid #111;display: flex;align-items: center;justify-content: center;position:relative;transition: .4s;}
.home #section05 .box .index .circle .arrow_right {
  display: inline-block;
  vertical-align: middle;
  color: #111;
  line-height: 1;
  width: 5px;
  height: 5px;
  border: 1px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);}
.home #section05 a.box:hover img{transform: scale(1.1);opacity: .8;}
.home #section05 .box.contact{border-radius:  0 0 15px 15px;}

.gmap{margin-bottom: 30px;}
.gmap:last-child{margin-bottom: 0px;}

.gmap iframe{width: 100%;height: 220px;border-radius:0;vertical-align: bottom;}




@media (min-width: 667px) {
.contactbox{padding: 2.5em;position: relative;border-radius: 15px;}
.contactbox .en{position: absolute;z-index: 2; left:10px;top:-10px;font-size: 56px;color: transparent;letter-spacing: .3rem;}
.contactbox ul{z-index: 5;}
.contactbox h3{color: white;font-weight: 700;font-size: 28px;margin-bottom: 15px;}
.contactbox p{color: white;text-align: justify;margin-bottom: 25px;}
.home #section02 .pic{padding: 0px;width: 360px;margin: 0 auto;}
.home #section02 .wrap{padding: 0 40px;}
.home #section03 .container{max-width: 100%;padding: 0 40px;}
.itembox{padding: .8em;}

.home #section04 .pic{padding: 0px;width: 360px;margin: 0 auto;}
.home #section04 .wrap{padding: 0 40px;}
.home #section04 .headline{font-size: 30px;}

.home #section05 .box{border-radius: 15px 0 0 15px;}
.home #section05 .box.contact{border-radius:  0 15px 15px 0;}


}




@media (min-width: 768px) {

.home #section01{padding: 70px 0 0;}
.contactbox  a{height: 60px;border-radius: 10px;width: 50%;margin: 0 auto;}


.home #section02{padding: 70px 0 0px;}


.home #section03 {padding: 70px 0;}
.deco1{position: absolute;right:-25px;top:-35px;width: 80px;}

.home #section03 h3{font-size: 40px;margin-bottom: 20px;}
a.itembox .title{padding-right: 30px;}

.home #section04{padding: 0px 0px 70px;}
.deco2{position: absolute;left:-10px;top:auto;bottom:20px;width: 80px;}

.home #section05{padding: 0px 0px 70px;}


.gmap{margin-bottom: 30px;}






.gmap{}
.gmap iframe{height: 250px;}


}



@media (min-width: 992px) {
.contactbox{padding: 4em;}
.contactbox .en{left:50px;top:-10px;font-size: 76px;color: transparent;letter-spacing: .4rem;}
.contactbox h3{color: white;font-weight: 700;font-size: 28px;margin-bottom: 15px;}
.contactbox p{color: white;text-align: justify;margin-bottom: 0px;}
.contactbox  a{height: 60px;width: 80%;margin: 0 auto;transition: .4s;}
.contactbox  a:hover{background:rgba(14,48,15,.6);color: white;}


.home #section02 .wrap{padding: 30px 30px 30px 15px;}
.home #section02 .pic{padding: 0;width: 95%;margin-left: 0;background: url("../images/new-tec.jpg");background-position: center;background-size: cover;border-radius: 0 150px 0 0;}
.home #section02 .pic img{display: none;}

.home #section03 .container{max-width: 100%;padding: 0 15px;}
.itembox{padding: 1em;}
.itembox .thumb{margin-bottom: 15px;}

.home #section04 .wrap{padding: 30px 15px 30px 30px;}
.home #section04 .pic{padding: 0;width: 95%;margin-left: 5%;background: url("../images/top-service.jpg");background-position: center;background-size: cover;border-radius: 150px 0px 0 0;}
.home #section04 .pic img{display: none;}

.home #section05 .box{border-radius: 20px 0 0 20px;}
.home #section05 .box.contact{border-radius:  0 20px 20px 0;}
.home #section05 .box .index{padding: 1em 1.5em;}
.home #section05 .box .index span{font-size: 1.5em;letter-spacing: .2rem;margin-right: 10px;}


.d-btwn{display: flex;flex-direction: column;justify-content: space-between;}
.gmap iframe{width: 100%;height: 300px;}

}




@media (min-width: 1200px) {

.home #section01{padding: 100px 0 0;}
.contactbox{padding: 100px 4em 4em;}
.contactbox .en{left:50px;top:-10px;font-size: 100px;color: transparent;letter-spacing: .4rem;}
.contactbox h3{color: white;font-weight: 700;font-size: 28px;margin-bottom: 15px;}
.contactbox  a{height: 70px;width: 70%;margin: 0 auto;font-size: 1.1em;}


.home #section02{padding: 100px 0 0px;}
.home #section02 .txt{line-height: 2;margin-bottom: 20px;}


.home #section03 {padding: 100px 0;}
.home #section03 h3{font-size: 53px;margin-bottom: 30px;}
.home #section03 .container{max-width: 1140px;padding: 0 15px;}
.itembox{padding: 1.8em;}
.itembox .thumb{margin-bottom: 20px;}
.itembox .title{font-size: 1.1em;}
a.itembox .title{padding-right: 35px;}
a.itembox .circle{width: 27px;height: 27px;border-radius: 50%;border:1px solid #111;display: flex;align-items: center;justify-content: center;position: absolute;right:25px;bottom:25px;}

.home #section04{padding: 0px 0px 100px;}
.home #section04 .headline{font-size: 38px;letter-spacing: .1rem;}
.home #section04 .txt{line-height: 2;margin-bottom: 20px;}

.home #section05{padding: 0px 0px 100px;}




}





@media (min-width: 1440px) {
.home #section02 .wrap{padding: 0 15px;width: 80%;}

.deco1{position: absolute;right:-25px;top:-35px;width: 150px;}
.home #section04 .wrap{padding: 0 15px;width: 80%;margin-left: 20%;}
.home #section04 .headline{font-size: 40px;letter-spacing: .1rem;}
.deco2{position: absolute;left:-10px;top:auto;bottom:20px;width:150px;}

.home #section05 .box{border-radius: 30px 0 0 30px;}
.home #section05 .box.contact{border-radius:  0 30px 30px 0;}
.home #section05 .box .index{padding: 1em 2em;}
.home #section05 .box .index span{font-size: 1.8em;letter-spacing: .2rem;margin-right: 18px;}


}

@media (min-width: 1680px) {
.home #section01{padding:120px 0 0px;}
.home #section02{padding:120px 0 0px;}
.home #section02 .wrap{padding: 50px 15px;width:75%;}
.home #section02 .txt{line-height: 2.2;margin-bottom: 30px;font-size: 1.1em;}


.home #section03 {padding: 120px 0;}
.home #section03 h3{font-size: 60px;margin-bottom: 40px;}
.deco1{position: absolute;right:-40px;top:-35px;width: 250px;}

.home #section04{padding:20px 0 120px;}
.home #section04 .wrap{padding: 80px 15px;width: 75%;margin-left: 25%;}
.home #section04 .txt{line-height: 2.2;margin-bottom: 30px;font-size: 1.1em;}
.home #section04 .headline{font-size: 48px;letter-spacing: .2rem;margin-bottom: 35px;}

.home #section05{padding:20px 0 120px;}

.gmap iframe{width: 100%;height: 400px;}

}

@media (min-width: 1920px) {
.home #section02 .wrap{padding: 70px 15px 70px 70px;width: 70%;}
.home #section04 .wrap{padding: 100px 70px 100px 15px;width: 70%;margin-left: 30%;}
.deco1{position: absolute;right:-40px;top:-35px;width: 250px;}
.deco2{position: absolute;left:-20px;top:auto;bottom:20px;width:250px;}


}



.maker{
  background: linear-gradient(
    transparent 60%,
    #fbeb64 60%
  );}


.btn-center{display: flex;justify-content: center;position: relative;z-index: 50;}
.btn-right{display: flex;justify-content:flex-end;position: relative;z-index: 50;}

.btn-more{display: flex;align-items: center;}
.btn-more span{font-family: ' Montserrat ';color: black;margin-right: 1em;transition: .4s;}
.btn-more .circle{width: 27px;height: 27px;border-radius: 50%;border:1px solid #111;display: flex;align-items: center;justify-content: center;}
.btn-more .arrow_right {
  display: inline-block;
  vertical-align: middle;
  color: #111;
  line-height: 1;
  width: 5px;
  height: 5px;
  border: 1px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);}
.btn-more:hover span{margin-right: .5em;}
.btn-more:hover .circle{background:  rgba(0,156,0,1.00);border:1px solid rgba(0,156,0,1.00);}
.btn-more:hover .arrow_right {
display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 5px;
  height: 5px;
  border: 1px solid white;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);}



a.btn-large{width: 100%;line-height: 55px; font-size: 17px; background: black;color: white;text-align: center;margin-top: 10px;display: block;
  padding: 0px;
  border:none;
  transition: .3s;
  padding-right: 0px!important;
  margin-right: 0!important;
}
a.btn-large:hover{background: #07a3d7;}

@media (min-width:667px) {


}



@media (min-width:768px) {

a.btn-large{width: 100%;line-height: 68px;font-size: 20px; background: black;color: white;text-align: center;margin-top: 40px;}


}

@media (min-width: 992px) {


a.btn-large{width: 100%;font-size: 20px; background: black;color: white;text-align: center;margin-top: 40px;}


}


@media (min-width: 1200px) {

.btn-more span{font-size: 1.1em;}


a.btn-large{width: 100%;line-height: 80px;font-size: 24px;}


}

@media (min-width: 1680px) {

}


/* pagetop 
---------------------------------------------------- */
#pagetop {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 30;
	transition: .5s;
}
#pagetop:hover {opacity: .8;}


@media (max-width: 1280px) {
#pagetop {
    position: fixed;
    bottom: 25px;
    right: 25px;
}



}

@media (max-width: 992px) {
#pagetop {
bottom: 15px;
right: 15px;
}

}

@media (max-width: 568px) {
#pagetop {
width: 45px;
bottom: 15px;
right: 10px;
}

}



/* -----  common / footer ------- */
footer{ padding: 170px 0px 20px;position: relative;background: linear-gradient(162deg, #339900 30%, #0066cc 90%);color:#fff;overflow: hidden;}
footer .wave{position: absolute;top:0;left:50%;transform: translateX(-50%);width: 767px;}
footer .logoblock{text-align: center;margin-bottom: 25px;}
footer .logoblock a{color: white;position: relative; text-align: center;font-size: 14px;line-height: 1; }
footer .logoblock a span{display: block;margin-top: .2em;font-weight: 700;font-size: 18px;}
footer .logoblock a.en{color: white;position: relative; text-align: center;font-weight: 700;font-size: 18px;line-height: 1; }

footer .address{text-align: center;line-height: 1.4;margin-bottom: .5em;}
footer .tel{text-align: center;margin-bottom: 1em;}
footer .tel .call{color: #fff;}


.page-top{position: absolute;right:10px;bottom:15px;width: 15px;}
.footer-menu{width: 80%;margin: 0 auto; margin-bottom: 1em;}
.footer-menu ul{}
.footer-menu li{font-size: 14px;}
.footer-menu li:first-child a{border-top: 1px solid #ddd;padding-top: .5em;}
.footer-menu li a{color: #fff;display: block;padding-bottom: .5em;margin-bottom: .5em;border-bottom: 1px solid #ddd;}
.footer-menu li a:hover{color:#eee;}
.footer-menu li:last-child a{border:1px solid white;display: flex;align-items: center;justify-content: center;height: 40px;padding: 0;margin-top: .5em;transition: .4s;}



.copy{text-align: center;color: #ddd; font-size: .8em;letter-spacing: 0;padding-top: 1em;}

@media (min-width: 667px) {
footer .logoblock{margin-bottom: 25px;}

.footer-menu{width: 50%;margin: 0 auto; margin-bottom:2em;}
.footer-menu ul{}
.footer-menu li {}
.footer-menu li a{letter-spacing:0.05rem;}

.down{border-bottom: none;padding: 0;}

}



@media (min-width: 768px) {

footer{ padding: 220px 0px 25px;}
footer .wave{position: absolute;top:0;left:50%;transform: translateX(-50%);width: 991px;}

footer .logoblock{text-align:left;margin-bottom: 25px;}
footer .logoblock a{color: white;position: relative; text-align: left;font-size: 14px;}
footer .logoblock a span{display: block;margin-top: .2em;font-size: 18px;}
footer .address{text-align: left;line-height: 1.4;margin-bottom: .5em;}
footer .tel{text-align: left;margin-bottom: 0;}

.footer-menu{width: 100%;margin: 0 auto; margin-bottom:20px;display: flex;justify-content: flex-end;}
.footer-menu li:first-child a{border-top:0;padding-top: 0;}
.footer-menu li a{color: #fff;display: block;padding-bottom: .5em;margin-bottom: 0;border-bottom: 0;}

.page-top{position: absolute;right:15px;bottom:25px;width: 20px;}



.copy{font-size: 12px;}


}


@media (min-width: 992px) {
footer{ padding: 270px 0px 30px;}
footer .wave{position: absolute;top:0;left:50%;transform: translateX(-50%);width:1199px;}

.footer-menu li:last-child a:hover{border:1px solid white;background: rgba(255,255,255,.5);color: #0068D3;}

.page-top{position: absolute;right:15px;bottom:5px;width: 20px;}



.btwn{display: flex;flex-direction: column;justify-content: space-between;}
.btwn2{display: flex;flex-direction: column;justify-content: center;}

.copy{font-size: 14px;}

}




@media (min-width: 1200px) {


footer{padding: 320px 0 50px;}
footer .wave{position: absolute;top:0;left:50%;transform: translateX(-50%);width:1439px;}
.footer-menu ul{}


.copy{}



}

@media (min-width: 1440px) {
footer{padding: 360px 0 50px;margin-top: -50px;}
footer .wave{position: absolute;top:0;left:50%;transform: translateX(-50%);width:1680px;}

}


@media (min-width: 1680px) {
footer{padding: 400px 0 50px;margin-top: -150px;}
footer .wave{position: absolute;top:0;left:50%;transform: translateX(-50%);width:1920px;}

.footer-menu li a{letter-spacing: .08rem;font-size: 16px;}
.footer-menu li a{padding-bottom: .4em;}
.footer-menu li:last-child a{height: 55px;margin-top: .5em;}


.page-top{position: absolute;right:35px;bottom:100px;}

}

@media (min-width: 1921px) {
footer{padding: 520px 0 50px;margin-top: -240px;}
footer .wave{position: absolute;top:0;left:50%;transform: translateX(-50%);width:2500px;}

}



/*------------------------------　　h2area 背景　　------------------------------------------*/

.h2area{
margin-top: 0px;
position: relative;
width:100%;
height: 450px;
display: flex;align-items:center;
border-radius: 0 0 150px 150px;overflow: hidden;
}
.h2area::after {
  content: "";
  position: absolute;
  top: 0;  bottom: 0;
  left: 0;  right: 0;
  background: linear-gradient(150deg, rgba(255, 255, 255, 0.3) 10%, rgba(222,0,0,0));
}
.h2area.h2-tec{background: url("../images/h2-tec.jpg");background-position: center;background-size: cover;}
.h2area.h2-topics{background: url("../images/h2-topics.jpg");background-position: center;background-size: cover;}
.h2area.h2-service{background: url("../images/h2-service.jpg");background-position: center;background-size: cover;}
.h2area.h2-company{background: url("../images/h2-company.jpg");background-position: center;background-size: cover;}
.h2area.h2-contact{background: url("../images/h2-contact.jpg");background-position: top center;background-size: cover;}

.h2-txt{position:relative;font-weight: 700;font-size: 36px;letter-spacing: .3rem;color: #000;z-index: 10;line-height: 1.3;padding-left: 18%;margin-top: 80px;}
.h2area.h2-service .h2-txt{color: #fff;}
.h2-txt.en{letter-spacing: .1rem;}

.h2-txt span{display: block;font-size: 18px;letter-spacing: .06rem;margin-top: 10px;font-weight: 400;}

@media (max-width: 1440px){
.h2area{height: 380px;}

.h2-txt{font-size: 32px;letter-spacing: .2rem;padding-left: 12%;}


}


@media (max-width: 1199px){
.h2area{height: 280px;border-radius: 0 0 120px 120px;}

.h2-txt{font-size: 30px;letter-spacing: .1rem;padding-left: 10%;}
.h2-txt span{display: block;font-size: 16px;letter-spacing: .06rem;margin-top: 10px;}




}

@media only screen and (max-width: 991px) {
.h2area{height: 250px;border-radius: 0 0 90px 90px;}
.h2-txt{font-size: 28px;padding-left: 50px;margin-top: 0;}



}


@media only screen and (max-width: 767px) {
.h2area{height: 180px;border-radius: 0 0 60px 60px;}
.h2-txt{font-size: 25px;letter-spacing: .08rem;}
.h2-txt span{display: block;font-size: 15px;letter-spacing: .04rem;margin-top: 10px;}
.h2-txt.en{letter-spacing: .08rem;}



}

 @media only screen and (max-width: 666px) {
.h2area{height: 150px;border-radius: 0 0 50px 50px;}
.h2-txt{font-size: 20px;letter-spacing: .05rem;padding-left: 20px;}
.h2-txt span{display: block;font-size: 14px;letter-spacing: .04rem;margin-top: 10px;}
.h2-txt.en{letter-spacing: .05rem;}

}

/*------------------------------　　下層ページ style　　------------------------------------------*/

.headline-h3 {
color: #222;
  position: relative;
  padding-top: 20px;
  margin-bottom: 2em;
  font-size: 20px;
  letter-spacing: .1rem;
  line-height: 1.4;font-weight: 600;text-align:left;}
.headline-h3 span{display: block;position: relative;font-size: 34px; font-weight: 400;letter-spacing: .2rem;color: #318de8;}


.headline-h4 {
  font-weight: 600;
  font-size: 1.15em;
 position: relative;
  margin-bottom: 1.5em;
  text-align: left;
  color: black;
  border-left:6px solid #c00;padding-left: .5em;
}

.headline {
 position: relative;
 font-weight: 700;
 font-size: 32px;
  margin-bottom: 5px;
  line-height: 1;
  color: #000;
  display: flex;align-items: center;
}
.headline::after {
  background-color: #111;
  content: "";
  flex-grow: 1;
  height: 1px; 
}
.headline::after {margin-left: 10px;}
.headline::before {
  content: "";
  position: absolute;
  right:0;
  top:50%;
  transform: translateY(-50%);
  width: 7px;
  height: 7px;
  background-color: #111;
  border-radius: 50%;
}
.headline.long {font-size: 18px;line-height: 1.4;margin-bottom: 20px;}
.headline.en {
 position: relative;
 font-weight: 700;
 font-size: 25px;
  margin-bottom: 5px;
  line-height: 1;
  color: #000;
  display: flex;align-items: center;
}
.headline.en.long {font-size: 15px!important;line-height: 1.4;margin-bottom: 20px;letter-spacing: 0;}


.h3-sub{font-weight: 700;margin-bottom: 25px;}


.h5-about{ font-family: ' BIZUDPGothic ';font-weight: 700;border-bottom: 1px dashed #BCA46E;padding-bottom: .5em;margin-bottom: 1em;font-size: 1.1em;}
.h6-about{ font-family: ' BIZUDPGothic ';font-weight: 700;color: forestgreen;margin-bottom: .6em;}

@media (min-width: 667px) {
.headline { position: relative; font-size: 35px;letter-spacing: .2rem;}
.headline.en {font-size: 28px;letter-spacing: .05rem;}

.headline.en.long {line-height: 1.4;margin-bottom: 20px;letter-spacing: 0.05rem;}



}



@media (min-width: 768px) {

.headline-h3 {
  position: relative;
  padding-top: 30px;
  margin-bottom: 2em;
  font-size: 18px;
  letter-spacing: .1rem;
  line-height: 1.4;
}
.headline-h3 span{display: block;position: relative;font-size: 40px; letter-spacing: .2rem;}
.headline-h3::after {
 content: '';/*何も入れない*/
  position: absolute;
  left:0;
  top:0px;
  width: 87px;/*画像の幅*/
  height: 30px;/*画像の高さ*/
  background-image: url(../images/hasami.png);
  background-size: contain;
  vertical-align: middle;}

.headline.long {font-size: 24px;}


.headline-h4 {font-size: 20px;margin-bottom: 35px;}



.h5-about{ padding-bottom: .5em;margin-bottom: 1em;font-size: 20px;}
.h6-about{margin-bottom: .6em;font-size: 17px;}

}


@media (min-width: 992px) {
.headline {
font-size: 45px;letter-spacing: .3rem;
margin-bottom: 10px;
}
.headline::before {
  width: 10px;
  height: 10px;
}
.h3-sub{margin-bottom: 30px;}
.headline.en {font-size: 30px;letter-spacing: .08rem;}
.headline.en.long {font-size: 18px!important; line-height: 1.4;margin-bottom: 20px;letter-spacing: 0.05rem;}


 .headline-h4{font-size: 22px; }


}


@media (min-width: 1200px) {

.headline-h3 {
  position: relative;
  margin-bottom: 2em;
  padding-top: 40px;
  font-size: 20px;
  letter-spacing: .1rem;
  line-height: 1.4;}
.headline-h3 span{display: block;position: relative;font-size: 52px; }
.headline-h3::after {
 content: '';/*何も入れない*/
  position: absolute;
  left:0;
  top:0px;
  width: 115px;/*画像の幅*/
  height: 40px;/*画像の高さ*/
  background-image: url(../images/hasami.png);
  background-size: contain;
  vertical-align: middle;}


.headline {font-size: 50px;letter-spacing: .5rem;}
.headline.long {font-size: 30px;letter-spacing: .1rem;line-height: 1.4;margin-bottom: 30px;}
.headline.en {font-size: 33px;}
.headline.en.long {font-size: 20px!important;margin-bottom:30px;letter-spacing: 0.05rem;}


.headline-h4 { font-size: 24px;letter-spacing: .1rem;margin-bottom:40px;}



}


@media (min-width: 1440px) {

.headline {font-size: 55px;}
.headline.en {font-size:37px;}

.h3-sub{margin-bottom: 45px;font-size: 1.1em;}


.headline-h3 span{font-size: 58px; }


}

@media (min-width: 1920px) {

.headline {font-size: 65px;}
.h3-sub{margin-bottom: 50px;font-size: 1.2em;}
.headline.long {font-size: 40px;letter-spacing: .1rem;line-height: 1.4;margin-bottom: 40px;}
.headline.en {font-size: 42px;}
.headline.en.long {font-size: 25px!important;margin-bottom:40px;letter-spacing: 0.05rem;}

}


#pankuzu{}





.marker {background: linear-gradient(transparent 60%, #ccff66 60%);padding-bottom: 3px;}
.marker2 {background: linear-gradient(transparent 80%, rgba(255,102,0,.5) 0%);}
.marker-ao {padding-bottom: 0.4em;background: linear-gradient(transparent 40%, #b5fbfb 60%);}
.marker-pink {padding-bottom: 0.4em; background: linear-gradient(transparent 40%, #fcaacb 60%);}
.marker-green {padding-bottom: 0.4em;background: linear-gradient(transparent 40%, #a8f099 60%);}



.btn-back {
  display: inline-block;
  padding:10px 5px;
  text-align: center;
  width:200px;
  text-decoration: none;
  border-radius: 6px;
  background:rgba(0,142,239,1.00);
  color: #fff;/*文字色*/
  font-size: 15px;
  letter-spacing: 0;
  transition: .3s;
}
.btn-back:hover{
  color: #fff;/*文字色*/
  background:#555;

}

.btn-pdf {
  text-align:center;
  text-decoration: none;
}
.btn-pdf a{display: flex;align-items: center;justify-content: space-between;padding: 10px 10px;background: #99CC66;color: #111;transition: .5s;border-radius: 4px;width: 260px;margin: 0 auto;}
.btn-pdf a .fas{}
.btn-pdf a:hover{
  color: #222;
  background:#f90;
}


@media (min-width: 768px) {
.btn-read{width: 325px;}
.btn-pdf a{width: 320px;padding: 20px 40px;font-size: 1.2em;}


.btn-back {
  padding:18px 5px;
  width:300px;
  font-size: 16px;
}

}


@media (min-width:1200px) {
.btn-pdf {margin-bottom: 0px;}

.btn-read{line-height: 70px;padding: 0;}

}



.photo-ofi {
  height: 0;
  display: block;
  background: none;
  overflow: hidden;
  position: relative;
  padding-bottom: 65%;
  /* 高さを指定（ボックスの横幅を基準） */
}
.photo-ofi img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  object-fit: scale-down;
  font-family: 'object-fit: scale-down;';
  position: absolute;
  left: 0;
  top: 0;
}



/* paging */
.paging {
	padding:1em 0px 0;
	line-height: 1.4;
	font-size: 15px;
	display: flex;align-items: center;justify-content: center;
}
.paging .page{text-align: center;margin-bottom: 5px;font-size: 13px;}
.paging span.current,
.paging span.paging-text a{
	color:#333;
	display:flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin:0px 3px;
	background: #fff;
	border: 1px solid #ddd;
	text-decoration: none;
	border-radius: .3em;
}
.paging span.current {
	background:#c00;
	color:#fff;
}
.paging span.paging-text a:hover {
	background:#c00;
	color:#fff;
}

@media screen and (max-width: 991px) {
.paging span.current,
.paging span.paging-text a{
	color:#333;
	display:flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin:0px 3px;
	background: #fff;
	border: 1px solid #ddd;
	text-decoration: none;
	border-radius: .3em;
	font-size: 13px;
}
.paging span.current {
	background:#c00;
	color:#fff;
}

}

/* shadow */
.box-shadow {box-shadow: 4px 4px #cdeaf8;}
.box-shadow2 {box-shadow: 2px 2px 10px rgba(0,0,0,.5)}
.drop-shadow { -webkit-filter: drop-shadow(0px 2px 1px rgba(0,0,0,.2));
        filter: drop-shadow(0px 2px 1px rgba(0,0,0,.2)); }
.drop-shadow2 { -webkit-filter: drop-shadow(0px 0px 10px rgba(0,0,0,.08));
        filter: drop-shadow(0px 0px 10px rgba(0,0,0,.08));}


.table-responsive {position: relative;z-index: 10;
border:none;
}


@media screen and (max-width: 767px) {
.table-responsive {
border:none;margin-bottom: 1.5em;
}
.table-responsive::-webkit-scrollbar {
height: 5px;
}

.table-responsive::-webkit-scrollbar-track {
border-radius: 2px;
background: #eee;
}

.table-responsive::-webkit-scrollbar-thumb {
border-radius: 2px;
background:#a5c7e8;
}
}



/*サムネ付きスライダー start*/
.slickwrap {
max-width: auto;
width: 93%;
margin: 0px auto;
margin-left: 0;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.slider {
border:1px solid #eee;
  width: 100%;
  margin: 0 0 10px 0;
  overflow:hidden;
  background: white;
  padding: 0;
}
.slide-item img {width: 100%;}


.thumbnail-list {
  width: 100%;
  margin: 0;
  padding:0 0px;
}
.thumbnail-list .slick-track {
  transform: unset !important;
  width: 100% !important;
  display: flex!important;
  flex-flow:wrap;
}
.thumbnail-item {
  transition: .3s;
  padding: 1px;
  width:33.3%!important;
  box-sizing: border-box;
  position: relative;
  list-style:none;
  cursor: pointer;
}
.thumbnail-item .photo-ofi img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  position: absolute;
  left: 0;
  top: 0;
}
.thumbnail-item img{opacity: .5;}
.thumbnail-item.slick-current img{
border: 2px solid darkorange;
opacity: 1;
}
.thumbnail-item:hover img{opacity: 1;}
.thumbnail-item img {
  width: 100%;
  margin: 0 auto;
}

@media screen and (max-width:991px) {
.slickwrap{width: 400px;margin: 0 auto;}
}

@media only screen and (max-width:767px){
.slider {margin: 0 0 10px 0;}

}

@media only screen and (max-width:500px){
.slickwrap{width:100%;margin: 0 auto;}

}
/*サムネ付きスライダー end*/










.gmap2{}
.gmap2 iframe{width: 100%;height: 200px;}




/* topics.html
--------------------------------------------------------- */
.topics #section01{padding: 50px 0px;position: relative;z-index: 10;}
.update{font-weight: 700;color: #555;margin-bottom: 10px;line-height: 1;}
.update span.new{color: #c00;margin-left: 10px;}
.topics-headline{font-weight: 700;color:black;font-size: 1.3em;line-height: 1.3;padding-bottom: .4em;border-bottom: 1px solid #999;margin-bottom: 30px;}
.topics #section01 .txtbox{margin-bottom: 30px;background: #eff6f9;padding: 1.5em;border-radius: 10px;}
.topics #section01 .pics{margin-bottom: 30px;}
.topics #section01 .pics .thumb{margin-bottom: 10px;border:1px solid #ddd;border-radius: 10px;overflow: hidden;}
.topics #section01 .pics .thumb-alt{}


@media (min-width: 667px) {

}

@media (min-width: 768px) {
.topics #section01{padding: 70px 0px;}

}


@media (min-width: 992px) {

}

@media (min-width: 1200px) {
.topics #section01{padding: 100px 0px 200px;}
.update{margin-bottom: 15px;}
.topics-headline{font-size: 1.5em;line-height: 1.3;padding-bottom: .5em;margin-bottom: 40px;}
.topics #section01 .txtbox{margin-bottom: 50px;padding: 2em;}
.topics #section01 .pics{margin-bottom: 50px;}
.topics #section01 .pics .thumb{margin-bottom: 15px;}

}

@media (min-width: 1680px) {
.topics #section01{padding: 120px 0px 250px;}

}



/* technology.html
--------------------------------------------------------- */
.blob{position: absolute;
z-index: 2;
left:-30px;top:30px;
  width:20vh;
  height: 20vh;
  background:rgba(155,207,0,.1);
  animation: fluidrotate 30s ease 0s infinite;/*アニメーションの設定*/
}
.blob3{position: absolute;
z-index: 2;
left:-30px;bottom:30px;
  width:20vh;
  height: 20vh;
  background:rgba(155,207,0,.1);
  animation: fluidrotate 30s ease 0s infinite;/*アニメーションの設定*/
}

@keyframes fluidrotate {  
	  
0%, 100% {
    border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
}
14% {
    border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
}
28% {
    border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
}
42% {
    border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
}
56% {
    border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
}
70% {
    border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
}
84% {
    border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
}
	  
}

.blob2 {position: absolute;
z-index: 2;
right:-20px;top:20%;
  width: 70px;
  height: 70px;
  background: linear-gradient(135deg, #ecf9d9, #c5d6e7);
  border-radius: 48% 69% 56% 53% / 47% 73% 43% 49%;
  animation: move 8s linear infinite;
  overflow: hidden;
}
.blob4 {position: absolute;
z-index: 2;
right:-20px;top:30px;
  width: 120px;
  height: 120px;
  background: linear-gradient(135deg, #ecf9d9, #c5d6e7);
  border-radius: 48% 69% 56% 53% / 47% 73% 43% 49%;
  animation: move 8s linear infinite;
  overflow: hidden;
}

@keyframes move {
  50% {
    border-radius: 80% 20% 59% 41% / 72% 21% 79% 28%;
  }

  75% {
    border-radius: 100% 69% 100% 83% / 68% 99% 53% 93%;
  }
}

.technology #section01{padding: 50px 0px 20px;position: relative;z-index: 10;}
.technology #section01 .container{z-index: 5;}
.technology #section01 .txt1{text-align: justify;margin-bottom: 40px;}
.technology #section01 .txt1.en{text-align: left;}
.technology #section01 h4{background: rgba(0,156,0,.2);padding: 1em;border-radius: .5em;margin-bottom: 20px;font-weight: 700;text-align: center;line-height: 1.4;font-size: 1.2em;}
.technology #section01 h5{font-weight: 700;color: black;margin-bottom: 15px;text-align: justify;line-height: 1.4;}
.technology #section01 h5.en{text-align:left;}

.technology #section01 .txt2{text-align: justify;margin-bottom: 40px;}
.technology #section01 h5.style2{font-weight: 700;color: black;margin-bottom: 15px;text-align: center;line-height: 1.9;}
.technology #section01 h5.style2 span{padding-bottom: .3em;border-bottom: 1px solid #333;}
.technology #section01 .pic{margin-bottom: 10px;}
.technology #section01 .images{max-width: 380px;margin: 0 auto;margin-bottom: 50px;}
.technology #section01 .images li{margin-bottom: 15px;}
.technology #section01 .images li:last-child{margin-bottom: 0px;}
.gyro{padding: 1.5em;border-radius: 10px;border:3px solid #ccc;margin-bottom: 15px;}
.txt-gyro{padding: 1em;background: rgba(0,156,0,.2);border-radius: 10px;margin-top: 10px;text-align: justify;}
.txt-gyro2{font-weight: 700;margin-bottom:30px;}
.gyro-thumb{position: relative;overflow: hidden;margin-bottom: 20px;}
.gyro-thumb img{border-radius: 10px;position: relative;}
.gyro-thumb::after {border-radius: 10px;
  content: "";
  position: absolute;z-index: 2;
  top: 0;  bottom: 0;
  left: 0;  right: 0;
  background:rgba(0,0,0,.3) ;
}
.gyro-thumb .title{color: white;font-weight: 700;font-size: 1.4em; position: absolute;z-index: 10;left:50%;transform: translateX(-50%);margin-right: -50%;bottom:20px;text-align: center;}
.gyro-thumb .title.en{font-size:14px; }

.technology #section01 .link{letter-spacing: .05rem;line-height: 1.2;display: block;text-decoration: underline;transition: .4s;color: #222;overflow-wrap: anywhere;}
.technology #section01 .link:hover{color:#0068D3;}
.technology #section01 .pic2{}

.technology #section02{padding:50px 0px 50px;position: relative;}

.technology #section03{padding: 50px 0px 50px;position: relative;}


#target1{position: absolute;left:0;top:-80px;}
#target2{position: absolute;left:0;top:-80px;}
#target3{position: absolute;left:0;top:-80px;}
#target4{position: absolute;left:0;top:-80px;}
#target5{position: absolute;left:0;top:-80px;}

@media (min-width: 667px) {
.blob{
left:-10px;top:40px;
  width:35vh;
  height: 35vh;
}
.blob2 {position: absolute;
z-index: 2;
right:-20px;top:20%;
  width: 100px;
  height: 100px;
}
.blob3{
left:-10px;bottom:40px;
  width:35vh;
  height: 35vh;
}
.blob4 {position: absolute;
z-index: 2;
right:-20px;bottom:20%;
  width: 160px;
  height: 160px;
}

.technology #section01 .images{max-width: 100%;margin: 0 auto;margin-bottom: 50px;}
.technology #section01 .pic2{width: 360px;margin: 0 auto;}

}



@media (min-width: 768px) {
.blob{
left:-30px;top:40px;
  width:20vh;
  height: 20vh;

}
.blob2 {position: absolute;
z-index: 2;
right:-20px;top:27%;
  width: 100px;
  height: 100px;
}
.blob3{
left:-30px;bottom:40px;
  width:20vh;
  height: 20vh;

}
.blob4 {position: absolute;
z-index: 2;
right:-20px;bottom:27%;
  width: 160px;
  height: 160px;
}

.technology #section01{padding: 70px 0px 30px;}
.technology #section01 h4{padding: 1em;margin-bottom: 20px;font-size: 1.3em;}
.technology #section01 h5{margin-bottom: 15px;tline-height: 1.4;font-size: 1.1em;}
.technology #section01 h5.style2{margin-bottom: 15px;line-height: 1.9;font-size: 1.1em;}



.technology #section02{padding: 40px 0px 70px;}

.technology #section03{padding: 70px 0px 70px;}

.technology #section04{padding: 70px 0px 70px;}

}



@media (min-width: 992px) {

.technology #section01 h4{padding: 1em;margin-bottom: 30px;font-size: 1.3em;}
.technology #section01 h5{margin-bottom: 20px;tline-height: 1.4;font-size: 1.1em;}
.technology #section01 h5.style2{margin-bottom:20px;}
.technology #section01 h5.style2 span{padding-bottom: .4em;}
.technology #section01 .pic{width: 800px;margin: 0 auto; margin-bottom: 15px;}
.gyro{padding:2em;border-radius: 15px;border:3px solid #ccc;margin-bottom: 15px;}
.txt-gyro{padding: 1.5em;border-radius: 10px;margin-top: 20px;}
.technology #section01 .pic2{width: 100%;margin: 0 auto;}

#target1{position: absolute;left:0;top:-100px;}

}



@media (min-width: 1200px) {
.blob{
left:-30px;top:80px;
  width:30vh;
  height: 30vh;

}
.blob2 {position: absolute;
z-index: 2;
right:-40px;top:27%;
  width: 180px;
  height: 180px;
}
.blob3{
left:-30px;bottom:80px;
  width:30vh;
  height: 30vh;

}
.blob4 {position: absolute;
z-index: 2;
right:-40px;bottom:27%;
  width:250px;
  height: 250px;
}

.technology #section01{padding:100px 0px 60px;}
.technology #section01 .txt1{text-align: justify;margin-bottom: 60px;line-height: 2;font-size: 1.1em;}
.technology #section01 h4{padding: 1em;margin-bottom: 40px;font-size: 1.6em;}
.technology #section01 h5{margin-bottom: 25px;tline-height: 1.4;font-size: 1.2em;}
.technology #section01 h5.style2{margin-bottom: 25px;line-height: 1.9;font-size: 1.2em;}
.technology #section01 .images{max-width: 100%;margin: 0 auto;margin-bottom: 100px;}
.gyro{padding: 4em;border-radius: 15px;margin-bottom: 15px;}
.txt-gyro{padding: 2em;border-radius: 10px;margin-top: 30px;}
.txt-gyro2{margin-bottom:60px;}


.technology #section02{padding:50px 0px 100px;}

.technology #section03{padding:100px 0px 100px;}

.technology #section04{padding:100px 0px 100px;}

}


@media (min-width: 1680px) {
.blob{
left:-30px;top:90px;
  width:40vh;
  height: 40vh;

}
.blob2 {position: absolute;
z-index: 2;
right:20px;top:27%;
  width: 180px;
  height: 180px;
}
.blob3{
left:-30px;bottom:90px;
  width:40vh;
  height: 40vh;

}
.blob4 {position: absolute;
z-index: 2;
right:20px;bottom:27%;
  width:260px;
  height:260px;
}


.technology #section01{padding:120px 0px 120px;}

.technology #section01 h4{padding: 1em;margin-bottom: 40px;font-size: 1.8em;}

.technology #section01 h5{margin-bottom: 30px;tline-height: 1.4;font-size: 1.3em;}
.technology #section01 h5.style2{margin-bottom: 30px;font-size: 1.3em;}

}

@media (min-width: 1920px) {
.blob{
left:8%;top:100px;
  width:45vh;
  height: 45vh;

}
.blob2 {position: absolute;
z-index: 2;
right:100px;top:32%;
}
.blob3{
left:8%;bottom:100px;
  width:45vh;
  height: 45vh;

}
.blob4 {position: absolute;
z-index: 2;
right:100px;bottom:32%;
}

}





/* company.html
--------------------------------------------------------- */
.company .headline{margin-bottom: 30px;}
.company #section01{padding:50px 0px;position: relative;}
.company #section01 .table{margin-bottom: 0;border-bottom: 1px solid #ddd;}
.company #section01 .table th,
.company #section01 .table td {
  vertical-align: middle;
  border-top: 1px solid #ddd;
}
.company #section01 .table th{width: 100%;display: block;font-weight: 700;padding: 15px 5px;background: none!important;}
.company #section01 .table td{width: 100%;display: block;padding: 15px 5px;background: none!important;}
.company #section01 .table td .call{color: #222;}

.company #section02{padding:50px 0px;position: relative;background: rgba(0,144,107,.07);}


.company #section03{padding:50px 0px;position: relative;}
.company #section03 .pic{width: 180px;margin: 0 auto;margin-bottom: 10px;border:1px solid #ddd;padding: 5px;}
.company #section03 .sign{text-align: center;line-height: 1.2;}
.company #section03 .sign span{display: block; font-weight: 700;font-size: 1.4em;}
.company #section03 .sign.en{text-align: center;line-height: 1.5;}
.company #section03 .sign.en span{display: block;font-weight: 400;font-size: 14px;}

.company #section03 h4{font-weight: 700;font-size: 1.7em;margin-bottom: 20px;}
.company #section03 .history{display: flex;flex-wrap: wrap;}
.company #section03 .history li.year{width: 80px;font-weight: 700;line-height: 1.3;margin-bottom: .6em;}
.company #section03 .history li.text{width:calc(100% - 80px);line-height: 1.3;margin-bottom: .6em;}


.company #section04{padding:50px 0px;position: relative;}




@media (min-width: 667px) {
.company #section01 .table th{width: 130px;display: table-cell;}
.company #section01 .table td{width: auto;display:table-cell;}

.company #section03 .pic{width: 100%;margin: 0 auto;margin-bottom: 10px;border:1px solid #ddd;padding: 5px;}
.company #section03 .sign{text-align: center;}
.company #section03 .sign span{display: block; font-weight: 700;font-size: 1.4em;}

}


@media (min-width: 768px) {

.company #section01{padding:70px 0px;}
.company #section01 .table th{width: 160px;}

.company #section02{padding:70px 0px;}

.company #section03{padding:70px 0px;}
.company #section03 h4{font-size: 2em;margin-bottom: 25px;}
.company #section03 .history{display: flex;flex-wrap: wrap;}
.company #section03 .history li.year{width:80px;}
.company #section03 .history li.text{width:calc(100% - 80px);}

.company #section04{padding:70px 0px;}
}

@media (min-width: 992px) {
.company .headline{margin-bottom: 40px;}
.company #section03 .pic{width: 100%;margin: 0 auto;margin-bottom: 10px;border:1px solid #ddd;padding:10px;}
.company #section03 h4.hitorytitle{margin-left: 50px;}
.company #section03 .history{margin-left: 50px;}
.company #section03 .history li.year{width:100px;}
.company #section03 .history li.text{width:calc(100% - 100px);}

}


@media (min-width: 1200px) {
.company #section01{padding:100px 0px;}
.company #section01 .table th{width: 230px;padding: 24px 5px;}
.company #section01 .table td{padding: 24px 5px;}

.company #section02{padding:100px 0px 100px;}

.company #section03{padding:100px 0px;}
.company #section03 h4{font-size: 2.3em;margin-bottom: 30px;}
.company #section03 h4.historytitle{font-size: 2.3em;margin-bottom: 30px;margin-left: 50px;}
.company #section03 .history{display: flex;flex-wrap: wrap;}
.company #section03 .history li.year{width:100px;margin-bottom: .8em;}
.company #section03 .history li.text{width:calc(100% - 100px);margin-bottom: .8em;}

.company #section04{padding:0px 0px 100px;}

}

@media (min-width: 1680px) {

.company .headline{margin-bottom: 50px;}
.company #section04{padding:0px 0px 180px;}
}

@media (min-width: 1920px) {
.company #section04{padding:0px 0px 240px;}
}



/* privacy.html
--------------------------------------------------------- */


.contact h3.title{position: relative;font-weight: 700;margin-bottom: 2em;}
.contact h3.title span{display: block;font-size:28px;position: relative;padding-left: 27px;color: #39f;}
.contact h3.title span::before{
  content: '';
  position: absolute;
  left:0;
  top:50%;
  width: 20px;
  height: 2px;
  background: #39f;
}
.contact h3.title.en{position: relative;font-weight: 700;margin-bottom: 2em;}
.contact h3.title.en span{display: block;font-size:18px;position: relative;padding-left: 27px;color: #39f;}
.contact h3.title.en span::before{
  content: '';
  position: absolute;
  left:0;
  top:50%;
  width: 20px;
  height: 2px;
  background: #39f;
}


.contact #section01{padding: 50px 0px 0px;position: relative;}
.contact #section01 .tel{text-align: center;line-height: 1;display: flex;align-items: center;justify-content: center; font-size:28px;}
.contact #section01 .tel.en{margin-bottom: 20px;}
.contact #section01 .tel span{margin-left: 4px;color:#000;font-weight: 700; font-size:28px;letter-spacing: .1rem;}

.contact #section01 .tel.en:last-child{margin-bottom: 0px;}


.contact #section02{padding: 50px 0px;position: relative;}
.contact #section02 .index{font-weight: 700;font-size: 18px;margin-bottom: 30px;}
.contact #section02 .pre-scrollable{max-height: 300px;padding: 15px;background: white; word-break: break-all;border:1px solid rgba(0,0,0,.09);box-shadow: inset 0 0 20px rgba(0, 0, 0, .02);border-radius: 1.2em;}
.privacybox{position: relative;color: #333;}
.privacybox #privacy{position: absolute;left:0;top:-100px;}

span.hissu{color: white;background:#c00; padding: 3px 5px;border-radius: 5px;font-size: 12px;line-height: 1.5;}
.contact .table {margin-bottom: 50px;}
.contact .table th{background:rgba(46,207,0,.06)!important;vertical-align: middle;font-weight: 700;position: relative;display: block;color: #222;}
.contact .table td{background: white!important;vertical-align: middle;display: block;}
.table th span.hissu{color: white;background: #c00; padding: 3px 5px;border-radius: 5px;position: absolute;right:15px;top:50%;transform: translateY(-50%);font-size: 12px;line-height: 1.5;}


.contact h5{font-weight: 700;border-bottom: 1px solid #555;padding-bottom: 10px; margin-bottom: 15px;font-size:1.2em;}
.tenpu{margin: 0;}
.tenpu input {
width: 90%;
 display: block;
 position: relative;
 font-size: 13px;
 letter-spacing: 0;
 padding: 5px 10px 5px 0;
 border-radius: 4px;
 transition: all 0.3s;
 color: #555;
 cursor: pointer!important;
 margin: 0px 0px 2px;
}
.auto{background: #eee;margin-left: 1em;padding: .5em .5em;border-radius: .4em;font-size: .9em;}


@media (min-width: 667px) {
.contact #section01 .tel{font-size:28px;}
.contact #section01 .tel span{margin-left: 4px;color:#000;font-size:28px;letter-spacing: .1rem;}

.contact h3.title.en span{display: block;font-size:20px;position: relative;padding-left: 27px;color: #39f;}

}


@media (min-width: 768px) {
.contact h3.title{margin-bottom: 3em;}
.contact h3.title span{display: block;font-size:36px;position: relative;padding-left: 55px;}
.contact h3.title span::before{
  content: '';
  position: absolute;
  left:0;
  top:50%;
  width: 40px;
  height: 2px;
  background: #39f;
}
.contact h3.title.en{margin-bottom: 3em;}

.contact #section01{padding: 70px 0px 0;}
.contact #section01 .tel{font-size:36px;}
.contact #section01 .tel span{margin-left: 4px;color:#000;font-size:36px;letter-spacing: .2rem;}


.contact #section02{padding: 70px 0px;}
.contact .table {margin-bottom: 70px;}

.contact .table th{display: table-cell;width: 200px;}
.contact .table td{display: table-cell;width: auto;}

.contact #section02 .pre-scrollable{max-height: 400px;padding: 15px;}
.contact #section02 .index{font-size: 20px;margin-bottom: 50px;}


}


@media (min-width: 992px) {
.contact h3.title.en span{display: block;font-size:23px;position: relative;padding-left: 27px;color: #39f;}
.contact #section01 .tel{}
.contact #section01 .tel span{margin-left: 4px;color:#000;font-size:38px;letter-spacing: .1rem;}

.contact .table th{display: table-cell;width: 240px;}

.contact h5{padding-bottom: 15px; margin-bottom: 20px;font-size:1.2em;}

}




@media (min-width: 1200px) {
.contact h3.title{margin-bottom: 3.6em;}
.contact h3.title span{display: block;font-size:40px;position: relative;padding-left: 65px;}
.contact h3.title span::before{
  content: '';
  position: absolute;
  left:0;
  top:50%;
  width: 50px;
  height: 2px;
  background: #39f;
}
.contact h3.title.en{margin-bottom: 3.6em;}
.contact h3.title.en span{display: block;font-size:30px;position: relative;padding-left: 27px;color: #39f;}

.contact #section01{padding: 100px 0px 0;}


.contact #section02{padding: 100px 0px 100px;}
.contact .table {margin-bottom: 80px;}

.contact .table th{display: table-cell;width: 250px;}

.contact #section02 .pre-scrollable{max-height: 500px;padding: 50px;}

}

@media (min-width: 1680px) {
.contact #section01{padding: 120px 0px 0;}
.contact #section01 .tel{}
.contact #section01 .tel span{margin-left: 4px;color:#000;font-size:40px;letter-spacing: .2rem;}

.contact #section02{padding: 120px 0px 270px;}

}



.doi-box{padding: 30px 15px;background:#f7f7f7;border-radius: 1em;}
.doi-box label{font-size: 13px;margin-bottom: 15px;width: auto;display:inline-block;}
.doi-box p a{color: #F46A02;font-size: 15px;transition: .3s;font-weight: bold;}
.doi-box p a:hover{color: #333;}
.doi-box .btn-lg{font-size: 13px;padding: 10px 10px;}

@media (min-width: 768px) {
.doi-box label{font-size: 14px;margin-bottom: 20px;}
.doi-box .btn-lg{font-size: 14px;padding: 10px 10px;}
}

@media (min-width: 1140px) {
.doi-box{padding: 50px 15px;}

.doi-box .btn-lg{font-size: 16px;padding: 20px 50px;}
}








.form-s{width:70px}
.form-m{width:150px}
.form-post{width: 10em;}
.form-name{width:99%;}
.form100{width:90%}
.form-h{ height:15em;}
input ,select {
    position:relative;
	color: #111;
}
input[type="checkbox"], input[type="radio"] {vertical-align:middle;position: relative;top:-2px;display: inline-block;}
input{font-size:100%;vertical-align:middle; padding:12px;width: auto;}
input[type="text"], select{border:1px solid #ddd;}
input,textarea,select { outline:0; padding:12px;border-radius: 7px; }
textarea{border:1px solid #ccc;color: #111;width: 90%;}
.needinput{background-color:rgba(255,255,255,1)!important;border:1px solid #c00!important;}
.selectbox {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.selectbox::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #535353;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}

.selectbox select {
    appearance: none;
    min-width: 180px;
    height: 2.8em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: 1px solid #d0d0d0;
    border-radius: 7px;
    background-color: #fff;
	background: white;
    color: #333333;
    font-size: 1em;
    cursor: pointer;
}

input::placeholder {
	color: #999;font-size: 14px;letter-spacing: 0.03rem;
}
input::-webkit-input-placeholder {
	color: #999;font-size: 14px;letter-spacing: 0.03rem;
}
input:-ms-input-placeholder {
	color: #999;font-size: 14px;letter-spacing: 0.03rem;
}
input::-moz-placeholder {
	color: #999;font-size: 14px;letter-spacing: 0.03rem;
}
textarea::placeholder {
	color: #999;font-size: 14px;letter-spacing: 0.03rem;
}
textarea::-webkit-input-placeholder {
	color: #999;font-size: 14px;letter-spacing: 0.03rem;
}
textarea:-ms-input-placeholder {
	color: #999;font-size: 14px;letter-spacing: 0.03rem;
}
textarea::-moz-placeholder {
	color: #999;font-size: 14px;letter-spacing: 0.03rem;
}


@media (min-width: 768px) {
.form-name{width:350px;}

}



/*-----------------------------------------------------------------------------
print css
-----------------------------------------------------------------------------*/
@media print {
body {padding-top:0px;}
.aos-init { opacity: 1 !important; transform: none !important; }
.cb-header2 {display: none!important;}
header{display: block;}
.header {
  position: absolute;
  top: 15px;
  left:1%;
  width: 98%;
  z-index: 500;
  height: 70px;
  background: white;
  border-radius: 10px;
  display: flex;
  align-items: center;justify-content:space-between;filter: drop-shadow(0px 3px 8px rgba(0,0,0,0.08));
}

.head-logo {display: block;width:250px;margin-left: 15px;}

/* ナビゲーションメニュー */
.header .navi{display: flex;align-items: center;}
.nav-menu {margin-right: 15px;display: flex;align-items: center;justify-content: flex-end;}
.menu-list {
  display: flex;
  justify-content: center; /* メニューアイテムを中央揃えに */
}
.menu-item {position: relative;padding: 0 .4em;line-height: 1;}
.menu-item:first-child {padding: 0 .4em 0 0;}
.menu-item:last-child {padding: 0 0 0 .4em;}
.nav-menu .translation{margin-left: 15px;}
.nav-menu .translation a{color: black;font-size: 12px;}
.nav-menu .translation a.active{font-weight: 700;position: relative;}
.nav-menu .translation a.active::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #111; 
  position: absolute;
  bottom: -7px;
  left: 0;
}
.menu-item a {
font-size: 14px;
font-weight: 700;
letter-spacing: 0;
padding: 0;
  text-align: center;
  color: #222;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: .3;line-height: 1;
}
.menu-item a.active {color:#007feb;position: relative;}
.header .contact{}
.header .contact a{font-size: 12px; display: flex;height: 70px;align-items: center;justify-content: center;border-radius: 0 10px 10px 0;background: #6c0;color: white;padding: 0 .7em;font-weight: 700;}



#main{position: relative;height:auto;}
.mv02 .slide {
  height:auto;
  padding: 0;
  text-align: center;
}
.mv02 .slide-media {
  position: relative;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 660px;
}

.home #section02 .wrap{padding: 30px 30px 30px 15px;}
.home #section02 .pic{padding: 0;width: 95%;margin-left: 0;background: url("../images/new-tec.jpg");background-position: center;background-size: cover;border-radius: 0 150px 0 0;}
.home #section02 .pic img{display: none;}

.home #section04 .wrap{padding: 30px 15px 30px 30px;}
.home #section04 .pic{padding: 0;width: 95%;margin-left: 5%;background: url("../images/top-service.jpg");background-position: center;background-size: cover;border-radius: 150px 0px 0 0;}
.home #section04 .pic img{display: none;}


.technology #section01 .pic2{width: 100%;margin: 0 auto;}
.contact .table th{display: table-cell;width: 230px;}
.contact .table td{display: table-cell;width: auto;}



.thumb-xs{display: none;}

footer{ padding: 220px 0px 25px;}
footer .wave{position: absolute;top:0;left:50%;transform: translateX(-50%);width: 991px;}
footer .logoblock a{color: white;position: relative; text-align: left;font-size: 14px;}
footer .logoblock{text-align:left;margin-bottom: 25px;}
footer .address{text-align: left;} 
footer .tel{text-align: left;} 
.footer-menu{width: 100%;margin: 0 auto; margin-bottom:20px;display: flex;justify-content: flex-end;}
.footer-menu li:first-child a{border-top:0;padding-top: 0;}
.footer-menu li a{color: #fff;display: block;padding-bottom: .5em;margin-bottom: 0;border-bottom: 0;}

.copy{font-size: 14px;}
.page-top{display: none;}


.drawer_menu{display: none!important;}

.no-print{display: none!important;}
.do-print{display: block!important;}

.gmap iframe{width: 100%;height: 360px;}
#pagetop {display: none!important;}

}
