@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;}


/* IBMPlexSansJP */
@font-face {
    font-family: ' IBMPlexSansJP ';
    src: url('../fonts/IBMPlexSansJP-Regular.woff2') format('woff2'),
             url('../fonts/IBMPlexSansJP-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}
/* IBMPlexSansJP */
@font-face {
    font-family: ' IBMPlexSansJP ';
    src: url('../fonts/IBMPlexSansJP-SemiBold.woff2') format('woff2'),
             url('../fonts/IBMPlexSansJP-SemiBold.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}


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


body {
color: #fff;
font-size: 93%;
line-height: 1.6;
font-weight:400;
font-family: ' IBMPlexSansJP ';
letter-spacing: 0.05rem;
padding-top:0px;
position: relative;
overflow: hidden;
background:black;}


@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: 1.7;}
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;}

}
@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;}




/* アニメーション
---------------------------------------------------- */
.delayed-image {
	/* じわっと画像が表示される */
 	animation: fadeIn 3s ease 0s 1 normal;
    -webkit-animation: fadeIn 3s ease 0s 1 normal;
}

/* じわっと画像が表示される ---------　一度追加していたら不要*/
@keyframes fadeIn { /*上のbody内で呼び出しているアニメーションと名前をそろえる*/
    0% {opacity: 0} /* 始め */
    100% {opacity: 1} /* 終わり */
}

/*古いブラウザ用　---------　一度追加していたら不要*/
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

.vertical {
  animation: vertical_6392 2.44s ease infinite;
  transform-origin: 50% 50%;
}

@keyframes vertical_6392 {
  0% { transform:translate(0,-3px) }
  3.27869% { transform:translate(0,3px) }
  6.55738% { transform:translate(0,-3px) }
  9.83606% { transform:translate(0,3px) }
  13.11475% { transform:translate(0,-3px) }
  16.39344% { transform:translate(0,3px) }
  18.03279% { transform:translate(0,0) }
  100% { transform:translate(0,0) }
}



.horizontal {
  animation: horizontal_5801 5s ease infinite;
  transform-origin: 50% 50%;
}

@keyframes horizontal_5801 {
  0% { transform:translate(0,0) }
  4.41177% { transform:translate(5px,0) }
  8.82353% { transform:translate(0,0) }
  13.23529% { transform:translate(5px,0) }
  17.64706% { transform:translate(0,0) }
  22.05882% { transform:translate(5px,0) }
  26.47059% { transform:translate(0,0) }
  100% { transform:translate(0,0) }
}

.passing-reverse {
  animation: passing-reverse_1059 4s linear infinite;
  transform-origin: 50% 50%;
}

@keyframes passing-reverse_1059 {
  0% { transform:translateX(50%); opacity:0 }
  50% { transform:translateX(35%); opacity:.5 }
  100% { transform:translateX(0%); opacity:1 }
}

.float {
  animation: float_1 4s linear infinite;
  transform-origin: 50% 50%;
}
@keyframes float_1 {
  0% { transform: translateY(0) }
  50% { transform: translateY(-10px) }
  100% { transform: translateY(0) }
}

.float2 {
  animation: float_2 2s linear infinite;
  transform-origin: 50% 50%;
}
@keyframes float_2 {
  0% { transform: translateY(0) }
  60% { transform: translateY(-5px) }
  100% { transform: translateY(0) }
}

.fuwafuwa {
-webkit-animation:fuwafuwa 3s infinite linear alternate;
animation:fuwafuwa 3s infinite linear alternate;
}

@-webkit-keyframes fuwafuwa {
0% {-webkit-transform:translate(0, 0) rotate(-5deg);}
50% {-webkit-transform:translate(0, -5px) rotate(0deg);}
100% {-webkit-transform:translate(0, 0)rotate(5deg);}
}

@keyframes fuwafuwa {
0% {transform:translate(0, 0) rotate(-5deg);}
50% {transform:translate(0, -5px) rotate(0deg);}
100% {transform:translate(0, 0)rotate(5deg);}
}

@keyframes floating-y {
  0% {
    transform: translateY(-10%);
  }
  100% {
    transform: translateY(10%);
  }
}

@keyframes rotate-z {
  from { transform: rotateZ(0deg); }
  to { transform: rotateZ(360deg); }
}

.animation{
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 1.5s;
}

.swing {
animation: swing 2s ease-in-out infinite;
}
/* swing */
@keyframes swing {
    20% {
        transform: rotate(15deg)
    }
    40% {
        transform: rotate(-10deg)
    }
    60% {
        transform: rotate(5deg)
    }
    80% {
        transform: rotate(-5deg)
    }
    100% {
        transform: rotate(0deg)
    }
}

/* 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;}



/* =========================
   固定・追従する光背景
========================= */

.follow-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background: #000;
}

.follow-bg::before,
.follow-bg::after {
  content: "";
  position: absolute;
  width: 120vw;
  height: 120vh;
  left: -10vw;
  top: -10vh;

  background: url("../images/bg1.png") center/cover no-repeat;
  will-change: transform, filter, opacity;
  mix-blend-mode: plus-lighter;
}

/* メイン（ハイライト） */
.follow-bg::before {
  opacity: .55;
  animation:
    flowCool 18s cubic-bezier(.55, 0, .2, 1) infinite,
    pulseCool 3.6s cubic-bezier(.4, 0, .2, 1) infinite;
}

/* サブ（奥行き・広がり） */
.follow-bg::after {
  opacity: .28;
  filter: blur(60px) saturate(1.2);
  animation:
    flowCool2 28s cubic-bezier(.55, 0, .2, 1) infinite reverse,
    pulseCool2 5.2s cubic-bezier(.4, 0, .2, 1) infinite;
}

/* -------------------------
   スーッと斜めに流れる
------------------------- */

@keyframes flowCool {
  0%, 100% {
    transform: translate3d(18vw, -14vh, 0) scale(1);
  }

  35% {
    transform: translate3d(-6vw, 6vh, 0) scale(1.22);
  }

  70% {
    transform: translate3d(-22vw, 16vh, 0) scale(1);
  }
}

@keyframes flowCool2 {
  0%, 100% {
    transform: translate3d(-14vw, 18vh, 0) scale(1.28);
  }

  45% {
    transform: translate3d(10vw, -8vh, 0) scale(1.33);
  }

  80% {
    transform: translate3d(22vw, -18vh, 0) scale(1.28);
  }
}

/* -------------------------
   光の緩急
------------------------- */

@keyframes pulseCool {
  0%, 100% {
    opacity: .65;
    filter:
      blur(34px) saturate(1.35) brightness(1.08) drop-shadow(0 0 30px rgba(140, 190, 255, .22)) drop-shadow(0 0 90px rgba(90, 130, 255, .18));
  }

  25% {
    opacity: .95;
    filter:
      blur(20px) saturate(1.6) brightness(1.45) drop-shadow(0 0 70px rgba(190, 230, 255, .55)) drop-shadow(0 0 180px rgba(120, 170, 255, .38));
  }

  50% {
    opacity: .8;
    filter:
      blur(20px) saturate(1.6) brightness(1.45) drop-shadow(0 0 70px rgba(190, 230, 255, .55)) drop-shadow(0 0 180px rgba(120, 170, 255, .38));
  }
}

@keyframes pulseCool2 {
  0%, 100% {
    opacity: .18;
    filter: blur(70px) saturate(1.2) brightness(1.02);
  }

  50% {
    opacity: .42;
    filter: blur(54px) saturate(1.35) brightness(1.18);
  }
}

/* =========================
   レイヤー安定用
========================= */

.wrapper {
  position: relative;
  z-index: 1;
}



/* 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;
    width: 95%;
    margin: 0 auto;
	margin-top: 8px;
	height: 60px;
	border-radius: 30px;
	background: white;
	box-shadow: 0 0 8px rgba(0,0,0,.09);}
.sc .logo{padding-left: 15px;width: 180px;}





/*header
------------------------------------------------------------------*/
.header {
  position: fixed;
  top: 0px;
  left:0;
  transition: color 0.4s ease-out;
  width: 100%;
  z-index: 500;
  height: 60px;
  display: flex;
  align-items: center;
}

.head-logo {display: block; position: relative;margin-left: 15px;width: 130px;}
.header .navi{display: none;}


@media (min-width: 992px) {

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


.header {
  position: fixed;
  top: 0px;
  left:0;
  transition: color 0.4s ease-out;
  width: 100%;
  z-index: 500;
  height: 80px;
  display: flex;
  align-items: center;justify-content:space-between;
}

.head-logo {display: block; position: relative;margin-left: 15px;width: 180px;}
.head-logo a img{transition: .4s;}
.head-logo a:hover img{opacity: .7;}

.header .navi{display: block; margin-right: 20px;}


/* ナビゲーションメニュー */
.nav-menu {}
.menu-list {
  display: flex;
  justify-content: center; /* メニューアイテムを中央揃えに */
}
.menu-item {position: relative;padding: 0 1em;line-height: 1;}
.menu-item:first-child {padding: 0 1em 0 0;}
.menu-item:last-child {padding: 0 0 0 1em;}

/* メニューアイテムのホバースタイル */
.menu-item a {
font-size: 23px;
font-family: ' BebasNeue ';
font-weight: 400;
letter-spacing: .1rem;
padding: 0;
  text-align: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: .3;line-height: 1;
  text-shadow: 0px 0px 10px rgba(1, 21, 59, .4);
}
.menu-item a:hover {background: linear-gradient(160deg, #c05eff 10%, #6f9edc 100%);
  background: -webkit-linear-gradient(160deg, #c05ef 10%, #6f9edc 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;}
  
.menu-item a.active {background: linear-gradient(160deg, #c05eff 10%, #6f9edc 100%);
  background: -webkit-linear-gradient(160deg, #c05ef 10%, #6f9edc 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;}

}

@media (min-width: 1200px){
.head-logo {}
.menu-item {position: relative;padding: 0 1.2em;}
.menu-item:first-child {padding: 0 1.2em 0 0;}
.menu-item:last-child {padding: 0 0 0 1.2em;}

.menu-item a {font-size: 25px;letter-spacing: .1rem;}

.header .navi{margin-right:20px;}

}


@media (min-width: 1680px){
.header {height: 120px;}

.head-logo {width: 212px;margin-left: 50px;}

.header .navi{padding-right: 50px;}

.menu-item {position: relative;padding: 0 1.5em;}
.menu-item:first-child {padding: 0 1.5em 0 0;}
.menu-item:last-child {padding: 0 0 0 1.5em;}
.menu-item a {font-size: 28px;letter-spacing: .2rem;}

}

@media (min-width: 1920px){

}










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

#main{position: relative;}

.main-h2{position: absolute;z-index: 50;bottom: 100px;right: 50px;}
.main-h2 h2.mv-h2{color: white;font-size: 60px;font-weight: 500;line-height: 1.4;letter-spacing: .1rem;text-align: right; margin-bottom: 10px; }
.main-h2 .sub{color: #fff;font-weight: 500; font-size: 24px;line-height: 1; letter-spacing: .2rem;text-align: right;padding-right: 35px;}
.kinen{position: absolute;z-index: 40;top:105px;left:50px;}



@media (max-width: 1680px){

.main-h2 h2.mv-h2{}



}



@media (max-width: 1440px){


.main-h2 .sub{font-size: 20px}
.kinen{top:85px;left:20px;width: 360px;}




}


@media (max-width: 1199px){
.main-h2{bottom: 60px;}
.main-h2 h2.mv-h2{font-size: 50px; letter-spacing: .1rem;}
.main-h2 .sub{font-size: 20px;line-height: 1.7; letter-spacing: .1rem; }
.kinen{top:65px;left:20px;width: 260px;}



}




@media only screen and (max-width: 991px) {
#main{position: relative;height:auto;}
.main-h2{bottom: 40px;}
.main-h2 h2.mv-h2{font-size: 46px;letter-spacing: .1rem;}
.main-h2 .sub{font-size: 18px;letter-spacing: .2rem;}
.kinen{top:65px;left:20px;width: 200px;}


.scroll_down{display: none;}


}

@media only screen and (max-width: 767px) {
#main{position: relative;height:auto;}
.main-h2{bottom:30px; right: 15px;}
.main-h2 h2.mv-h2{font-size: 38px;letter-spacing: .1rem;}


}


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



}

@media only screen and (max-width: 430px) {
.main-h2{bottom:30px; right: 15px;}
.main-h2 h2.mv-h2{font-size: 30px; letter-spacing: 0.08rem;}
.main-h2 .sub{font-size: 17px;line-height: 1.7; letter-spacing: .1rem;padding-right: 20px;}
.kinen{top:65px;left:20px;width: 160px;}



}


/* IMAGE BLUR EFFECT 
.thumb img {
  max-width: 100%;
  -webkit-filter: blur(15px);
  filter: blur(15px);
}
.thumb.non img {
  max-width: 100%;
  -webkit-filter: blur(0);
  filter: blur(0);
}
*/
.img-blur {
  animation: imageBlur 1.5s both;
}
@keyframes imageBlur {
  100% {
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
.thumb.non img {
  max-width: 100%;
  -webkit-filter: blur(0);
  filter: blur(0);
}




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

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

.home #section01{position: relative;z-index: 10; padding: 50px 0 50px;color: white;}
.home #section01 p{color: white;text-align: justify;padding: 0 10px;margin-bottom: 20px;}
.home #section01 p:last-child{margin-bottom: 30px;}

.home #section02{position: relative;z-index: 10;padding: 50px 0 50px;}
.home #section02 .wrap{width: 300px;margin: 0 auto;margin-bottom: 40px;}
.home #section02 .wrap a.box{position: relative;display: block;margin-bottom: 30px;}
.home #section02 .wrap a.box .pic{position: relative;z-index: 10;overflow: hidden;transition: .4s;}
.home #section02 .wrap a.box .pic img {transition: transform .6s ease; }
.home #section02 .wrap a.box:hover .pic img {transform: scale(1.1);opacity: .8;}
.home #section02 .wrap a.box h4{position:absolute;top:15px;left:15px;color: white; z-index: 20;font-weight: 400;}
.home #section02 .wrap a.box h4 span{display: block;font-family: ' BebasNeue ';font-size: 30px;letter-spacing: .2rem;}


.home #section03{position: relative;padding:50px 0px;z-index: 10;}
.home #section03 ul li{margin-bottom: 30px;}
.home #section03 ul li:last-child{margin-bottom: 0px;}
.home #section03 ul li p{text-align: justify;margin-bottom: 30px;}
.home #section03 ul li .pic1{;width: 70%;margin-bottom: 1em;}
.home #section03 ul li .pic2{margin-left: 60%; width: 40%;margin-bottom: 1em;}
.home #section03 ul li .pic3{margin-left: 20%; width: 50%;}

.home #section04{position: relative;padding: 50px 0px 50px;z-index: 10;}
.home #section04 ul li{margin-bottom: 30px;}
.home #section04 ul li:last-child{margin-bottom: 0px;}
.home #section04 ul li p{text-align: justify;margin-bottom: 30px;}
.home #section04 ul li .pic1{width: 50%;}
.home #section04 ul li .pic2{margin-left: 70%; width: 30%;margin-top: -50px;}
.home #section04 ul li .pic3{margin-left: 10%; width: 30%;}
.home #section04 ul li .pic4{margin-left: 50%; width: 40%;margin-top: -70px;}

.home #section05{position: relative;padding: 50px 0px 50px;z-index: 10;background: rgba(255,255,255,.1);}
.home #section05 p{text-align: justify;margin-bottom: 30px;}
.home #section05 ul li{margin-bottom: 20px;}
.home #section05 ul li:last-child{margin-bottom: 0px;}

.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) {
.home #section01 p{color: white;text-align: center;padding: 0 0px;margin-bottom: 20px;}
.home #section01 p:last-child{margin-bottom: 30px;}
.home #section02 .container{max-width: 1440px;}
.home #section02 .wrap{width: 100%;display: flex;justify-content: space-between;}
.home #section02 .wrap a.box{position: relative;display: block;margin-bottom: 0px;width: 29%;}
.home #section02 .wrap a.box:first-child{width: 35%;}
.home #section02 .wrap a.box:nth-child(2){margin-top: 23%;}
.home #section02 .wrap a.box:nth-child(3){margin-top: 10%;}

.home #section02 .wrap a.box .pic{position: relative;z-index: 10;overflow: hidden;transition: .4s;}
.home #section02 .wrap a.box .pic img {transition: transform .6s ease; }
.home #section02 .wrap a.box:hover .pic img {transform: scale(1.1);opacity: .8;}
.home #section02 .wrap a.box h4{position:absolute;top:15px;left:15px;color: white; z-index: 20;font-weight: 400;}
.home #section02 .wrap a.box h4 span{display: block;font-family: ' BebasNeue ';font-size: 30px;letter-spacing: .2rem;}

.home #section03 ul li p{text-align: center;margin-bottom: 30px;}
.home #section04 ul li p{text-align: center;margin-bottom: 30px;}

.home #section05 ul li{margin-bottom: 0px;}


}




@media (min-width: 768px) {

.home #section01{padding: 70px 0;}
.home #section01 p{font-size: 1.1em;line-height: 2;margin-bottom: 20px;}
.home #section01 p:last-child{margin-bottom: 30px;}


.home #section02{padding: 70px 0 70px;}
.home #section02 .wrap{margin-bottom: 50px;}

.home #section03 {padding: 70px 0;}
.home #section03 ul li .pic1{;width: 60%;margin-bottom: 1em;}
.home #section03 ul li .pic2{margin-left: 70%; width: 30%;margin-top: -80px; margin-bottom: 1em;}
.home #section03 ul li .pic3{margin-left: 20%; width: 50%;margin-top: -80px;}

.home #section04{padding: 70px 0px 70px;}
.home #section04 ul li .pic1{width: 40%;}
.home #section04 ul li .pic2{margin-left: 65%; width: 30%;margin-top: -80px;}
.home #section04 ul li .pic3{margin-left: 10%; width: 30%;margin-top: -80px;}
.home #section04 ul li .pic4{margin-left: 50%; width: 40%;margin-top: -70px;}

.home #section05{padding: 70px 0px 70px;}
.home #section05 p{text-align:center;margin-bottom: 50px;}
.home #section05 ul{width: 560px;margin: 0 auto;}


.gmap{margin-bottom: 30px;}

.roop-wrapper.info {width:88%;margin: 0 auto; margin-bottom: 70px;}





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


}



@media (min-width: 992px) {

.home #section02 .wrap a.box{position: relative;display: block;margin-bottom: 0px;width: 29%;}
.home #section02 .wrap a.box:first-child{width: 37%;}
.home #section02 .wrap a.box h4{position:absolute;top:20px;left:20px;}
.home #section02 .wrap a.box h4 span{font-size: 46px;letter-spacing: .2rem;}

.home #section03 ul li{margin-bottom: 0px;}
.home #section03 ul li p{text-align: center;padding-top: 1.5em; margin-bottom: 50px;}
.home #section03 ul li .pic1{width: 60%;margin-bottom: 0;}
.home #section03 ul li .pic2{position: absolute;right:-15px;top:200px;margin-left: 0; width: 30%;margin-top: 0; margin-bottom: 0;}
.home #section03 ul li .pic3{position: absolute;left:20%;top:260px;margin-left:0; width: 40%;margin-top: 0;}

.home #section04 ul li p{text-align: center;padding-top: 1.5em; margin-bottom: 50px;}
.home #section04 ul li .pic1{margin-left: 5%; width: 50%;margin-top: -30px;}
.home #section04 ul li .pic2{position: absolute;right:0;top:50px;margin-left: 0; width: 30%;margin-top: 0;}
.home #section04 ul li .pic3{position: absolute;top:200px;left:0;margin-left:0; width: 30%;margin-top: 0;}
.home #section04 ul li .pic4{position: absolute;top:250px;right:10%;margin-left: 0; width: 42%;margin-top: 0;}

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


}




@media (min-width: 1200px) {

.home #section01{padding: 100px 0;}
.home #section01 p{font-size: 1.2em;line-height: 2;margin-bottom: 30px;}
.home #section01 p:last-child{margin-bottom: 60px;}



.home #section02{padding: 100px 0 100px;}
.home #section02 .wrap{margin-bottom: 80px;}
.home #section02 .wrap a.box{position: relative;display: block;margin-bottom: 0px;width: 27%;}
.home #section02 .wrap a.box:first-child{width: 42%;}
.home #section02 .wrap a.box:nth-child(2){margin-top: 30%;}
.home #section02 .wrap a.box:nth-child(3){margin-top: 15%;}



.home #section03 {padding: 100px 0;}
.home #section03 ul li p{text-align: center;padding-top: 1.5em; line-height: 2; margin-bottom: 50px;}
.home #section03 ul li .pic1{width: 50%;margin-bottom: 0;margin-top: -30px;}
.home #section03 ul li .pic2{position: absolute;right:-20px;top:180px;margin-left: 0; width: 30%;margin-top: 0; margin-bottom: 0;}
.home #section03 ul li .pic3{position: absolute;left:20%;top:260px;margin-left:0; width: 40%;margin-top: 0;}


.home #section04{padding: 100px 0px 100px;}
.home #section04 ul li p{text-align: center;padding-top: 1.5em; line-height: 2; margin-bottom: 50px;}
.home #section04 ul li .pic1{margin-left: 5%; width: 50%;margin-top: -30px;}
.home #section04 ul li .pic2{position: absolute;right:0;top:50px;margin-left: 0; width: 27%;margin-top: 0;}
.home #section04 ul li .pic3{position: absolute;top:250px;left:-30px;margin-left:0; width: 27%;margin-top: 0;}
.home #section04 ul li .pic4{position: absolute;top:260px;right:14%;margin-left: 0; width: 40%;margin-top: 0;}

.home #section05{padding: 100px 0px 100px;}
.home #section05 p{text-align:center;margin-bottom: 60px;font-size: 18px;}
.home #section05 ul{width: 700px;margin: 0 auto;}






}





@media (min-width: 1440px) {
.home #section02 .wrap a.box h4{position:absolute;top:30px;left:30px;}
.home #section02 .wrap a.box h4 span{font-size: 60px;letter-spacing: .2rem;}
.home #section02 .wrap a.box{position: relative;display: block;margin-bottom: 0px;width: 26.5%;}
.home #section02 .wrap a.box:first-child{width: 42%;}
.home #section02 .wrap a.box:nth-child(2){margin-top: 27%;}
.home #section02 .wrap a.box:nth-child(3){margin-top: 15%;}

.home #section03 .container{max-width: 1440px;}
.home #section03 ul li p{font-size: 1.15em;padding-top: 1.5em; line-height: 2; margin-bottom: 50px;}
.home #section03 ul li .pic1{width: 45%;}
.home #section03 ul li .pic2{position: absolute;right:20px;top:160px;width: 200px;}
.home #section03 ul li .pic3{position: absolute;left:20%;top:280px;margin-left:0; width: 38%;margin-top: 0;}

.home #section04 .container{max-width: 1440px;}
.home #section04 ul li p{font-size: 1.15em;padding-top: 1.5em; line-height: 2; margin-bottom: 50px;}
.home #section04 ul li .pic1{margin-left: 8%; width: 45%;margin-top: -30px;}
.home #section04 ul li .pic2{position: absolute;right:0;top:50px;margin-left: 0; width: 24%;margin-top: 0;}
.home #section04 ul li .pic3{position: absolute;top:260px;left:10px;margin-left:0; width: 24%;margin-top: 0;}
.home #section04 ul li .pic4{position: absolute;top:270px;right:18%;margin-left: 0; width: 36%;margin-top: 0;}

}

@media (min-width: 1680px) {
.home #section01{padding: 120px 0;}
.home #section01 p{font-size: 1.4em;line-height: 2.2;margin-bottom: 40px;}
.home #section01 p:last-child{margin-bottom: 60px;}


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


.home #section03 {padding: 120px 0;}
.home #section03 ul li .pic1{width: 380px;margin-top: -60px;}
.home #section03 ul li .pic2{position: absolute;right:-60px;top:30px;width: 210px;}
.home #section03 ul li .pic3{position: absolute;left:auto;right:100px;top:300px;margin-left:0; width: 280px;margin-top: 0;}

.home #section04 {padding: 120px 0;}
.home #section04 ul li .pic3{position: absolute;top:260px;left:-50px;margin-left:0; width: 24%;margin-top: 0;}
.home #section04 ul li .pic4{position: absolute;top:280px;right:18%;margin-left: 0; width: 36%;margin-top: 0;}

.home #section05 {padding: 120px 0;}
.home #section05 p{text-align:center;margin-bottom: 80px;font-size: 20px;}

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

}

@media (min-width: 1920px) {

}



.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;}

.circle-arrow-btn a {
  display: flex;
  align-items: center;
  gap: 24px;
  width: fit-content;
  cursor: pointer;border:1px solid #ddd;border-radius: 50px;
  padding: 10px 10px 10px 20px;transition: .4s;
}
.circle-arrow-btn a .circle-arrow-btn__text {
  position: relative;
  font-size: 16px;
  line-height: 2;
  color: #c00;
  font-weight: 400;
}
.circle-arrow-btn a .circle-arrow-btn__text.siro {color: #fff;}

.circle-arrow-btn a:hover{background: #c00;}
.circle-arrow-btn a:hover .circle-arrow-btn__text {color: #fff;}
.circle-arrow-btn a:hover .circle-arrow-btn__text::before {
  background: currentColor;
  animation: circle-arrow-btn-line 0.5s ease-out;
}
.circle-arrow-btn a:hover .circle-arrow-btn__circle {background-color: #fff;}
.circle-arrow-btn a:hover .circle-arrow-btn__arrow::before {transform: translateX(240%);}
.circle-arrow-btn a:hover .circle-arrow-btn__arrow::after {transform: translate(-50%, -50%) translateX(0);}
.circle-arrow-btn a.siro:hover{background: #fff;}
.circle-arrow-btn a.siro:hover .circle-arrow-btn__text {color: #c00;}

.circle-arrow-btn__circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width:36px;
  height: 36px;
  background-color: #c00;
  border-radius: 50%;
  transition: all 0.4s ease-out;
  flex-shrink: 0;
  overflow: hidden;
  margin-left: 20px;
}
.circle-arrow-btn__arrow {
  position: relative;
  font-size: 14px;
  color: #fff;
  transition: all 0.4s ease-out;
}
.circle-arrow-btn__arrow::before {
  position: relative;
  transition: all 0.4s ease-out;
  display: inline-block;
}
.circle-arrow-btn__arrow::after {
  content: "\f061";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  color: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) translateX(-240%);
  transition: all 0.4s ease-out;
}
.circle-arrow-btn__circle.siro {background-color: #fff;}
.circle-arrow-btn__arrow.siro {color: #c00;}
.circle-arrow-btn__arrow.siro::before {
  position: relative;
  transition: all 0.4s ease-out;
  display: inline-block;
}
.circle-arrow-btn__arrow.siro::after {color: #c00;}


.circle-arrow-btn a:hover .circle-arrow-btn__circle {background-color: #fff;}
.circle-arrow-btn a:hover .circle-arrow-btn__arrow::before {transform: translateX(240%);}
.circle-arrow-btn a:hover .circle-arrow-btn__arrow::after {transform: translate(-50%, -50%) translateX(0);color: #c00;}
.circle-arrow-btn a:hover .circle-arrow-btn__circle.siro {background-color: #c00;}
.circle-arrow-btn a:hover .circle-arrow-btn__arrow.siro::before {transform: translateX(240%);}
.circle-arrow-btn a:hover .circle-arrow-btn__arrow.siro::after {transform: translate(-50%, -50%) translateX(0);color: #fff;}


@keyframes circle-arrow-btn-line {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}



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) {
.circle-arrow-btn div {width: 100%;}

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) {
.circle-arrow-btn a {gap: 20px;}
.circle-arrow-btn__text {font-size: 18px;}

.circle-arrow-btn__circle {margin-left: 40px;
  width: 50px;
  height: 50px;
}
.circle-arrow-btn a:hover .circle-arrow-btn__arrow::before {transform: translateX(300%);}
.circle-arrow-btn__arrow::after {transform: translate(-50%, -50%) translateX(-300%);}

.circle-arrow-btn div .circle-arrow-btn__circle {
  width: 50px;
  height: 50px;
}
.circle-arrow-btn div .circle-arrow-btn__arrow::after {transform: translate(-50%, -50%) translateX(-300%);}


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


}

@media (min-width: 1680px) {
.circle-arrow-btn a {gap: 20px;padding: 10px 10px 10px 30px;}

}


/* 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: 40px 0px 20px;position: relative;z-index: 3; background:url("../images/bg-footer.jpg");background-position: center bottom;background-size: cover;color: white;}
footer .container{max-width: 100%;padding: 0 15px;}
footer .logoblock{position: relative; width: 200px;margin: 0 auto; margin-bottom: 25px;}
footer .logoblock img{transition: .4s;}
footer .logoblock:hover img{opacity: .7;}

footer .address{text-align: center;margin-bottom: 30px;}


.page-top{position: absolute;right:10px;bottom:15px;width: 15px;}
.footer-menu{width: 100%;margin: 0 auto; margin-bottom: 1em;}
.footer-menu ul{display: flex;flex-wrap: wrap; justify-content: space-between;}
.footer-menu li{width:48%;text-align: left;background:none;}
.footer-menu li a{color: #fff;text-decoration: none; text-align: center; font-family: ' BebasNeue ';font-weight:400;font-size: 18px;padding: .7em 0;display: block;transition: .3s;margin-bottom: 12px;border:1px solid #ddd;}



.copy{text-align: center;color: #eee; font-size: .8em;letter-spacing: 0;}

@media (min-width: 667px) {
footer{ padding: 40px 0px 20px;}
footer .logoblock{position: relative; width: 200px;margin: 0 auto; margin-bottom: 25px;}

.footer-menu{width: 100%;border-top: none;padding: 0px;}
.footer-menu{border-top: none;margin: 0 auto; margin-bottom:2em;}
.footer-menu ul{border-top: none;border-left:none;margin-left: 0;display: flex;justify-content: center;}

.footer-menu li {width: auto;padding-bottom: 0px;position: relative;background: none;text-align: left;}
.footer-menu li a{letter-spacing:0.1rem;border-right:none; padding: 0 .8em;text-align:center;border-bottom: none;line-height: 1.4;background: none;border:none;margin-bottom: 0;}

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

}



@media (min-width: 768px) {

footer{ padding: 60px 0px 25px;}
footer .logoblock{position: relative;margin-bottom: 25px;}

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



.copy{font-size: 12px;}


}


@media (min-width: 992px) {


footer{ padding: 80px 0px 80px;}
footer .container{max-width: 100%;}
footer .logoblock{margin-bottom: 20px;margin-left: 0;width: auto;}
footer .address{text-align: left;margin-bottom: 0;}


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

.footer-menu{width: auto;border-top: none;padding-top: 0;margin-bottom: 30px;margin-right: 0;display: flex;justify-content: flex-end;}
.footer-menu ul{border-top: none;border-left:none;margin-left: 0em;justify-content: flex-end}
.footer-menu li {padding-bottom: 0px;text-align: left;}
.footer-menu li a{text-decoration: none;padding: 0 .8em;letter-spacing: .1rem;margin-bottom: 0em!important;display: block;font-size: 20px;text-align: left;}
.footer-menu li a:hover {color: rgba(180,115,238,1.00);}
.footer-menu li:first-child a{margin-bottom: 0;padding: 0 .8em 0 0;}
.footer-menu li:last-child a{margin-bottom: 0;padding: 0 0 0 .8em;}


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

.copy{font-size: 14px;text-align:right;}

}




@media (min-width: 1200px) {

footer{padding: 100px 0 100px;}
footer .container{max-width: 1140px;}

footer .logoblock{position: relative;}
.footer-menu ul{}
.footer-menu li a{text-decoration: none;padding: 0 .8em;letter-spacing: .1rem;margin-bottom: 0em!important;display: block;font-size: 22px;text-align: left;}
.footer-menu li:first-child a{margin-bottom: 0;padding: 0 .8em 0 0;}
.footer-menu li:last-child a{margin-bottom: 0;padding: 0 0 0 .8em;}


.copy{}



}

@media (min-width: 1440px) {

}


@media (min-width: 1680px) {
footer{padding: 100px 0 130px;}
footer .container{max-width: 1440px;}
.footer-menu li a{text-decoration: none;padding: 0 1.2em;letter-spacing: .1rem;margin-bottom: 0em!important;display: block;font-size: 23px;text-align: left;}
.footer-menu li:first-child a{margin-bottom: 0;padding: 0 1.2em 0 0;}
.footer-menu li:last-child a{margin-bottom: 0;padding: 0 0 0 1.2em;}

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

}


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

.h2area{
margin-top: 0px;
position: relative;
z-index: 5;
width:100%;
height: 480px;
display: flex;align-items:center;
background: url("../images/bg-h2.jpg");
background-position: center;
background-size: cover;
}
.h2area::after {
  content: "";
  position: absolute;
  top: 0;  bottom: 0;
  left: 0;  right: 0;
  background: linear-gradient(150deg, rgba(0, 0, 0, 0) 10%, rgba(1,21,59,0));
}

.h2-txt{position:relative;font-weight: 500;font-size: 20px;letter-spacing: .3rem;color: #fff;z-index: 10;line-height: 1;padding-left: 18%;padding-top: 100px;}
.h2-txt span { display: block;font-size: 100px;letter-spacing: .6rem;margin-bottom:15px;font-family: ' BebasNeue '; font-weight: 400;text-shadow:none;animation: flash 1s 3 forwards;}
@keyframes flash {
  0%, 100% {
    /* 明るく光るよう影を重ねる */
    text-shadow: 0 0 5px rgba(255,255,255,.5), 0 0 15px rgba(255,255,255,.5), 0 0 25px rgba(255,255,255,.5), 0 0 30px rgba(153,51,255,.5), 0 0 55px rgba(153,51,255,.5), 0 0 65px rgba(153,51,255,.5), 0 0 75px rgba(153,51,255,.5), 0 0 90px rgba(153,51,255,.5);
  }
  50% {
    /* 淡く光るよう影を重ねる */
    text-shadow: 0 0 5px rgba(255,255,255,.5), 0 0 15px rgba(153,255,255,.8), 0 0 25px rgba(153,255,255,.8), 0 0 30px rgba(153,51,255,.5);
  }
}

@media (max-width: 1366px){
.h2area{height: 380px;}
.h2-txt{position:relative;font-weight: 500;font-size: 20px;letter-spacing: .3rem;color: #fff;z-index: 10;line-height: 1;padding-left: 18%;padding-top: 90px;}
.h2-txt span { display: block;font-size: 80px;letter-spacing: .3rem;margin-bottom:15px;}



}


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

.h2-txt{font-size: 20px;letter-spacing: .3rem;line-height: 1;padding-left: 10%;}
.h2-txt span {font-size: 55px;letter-spacing: .2rem;}

}

@media only screen and (max-width: 991px) {
.h2area{height: 250px;margin-top: 0;}

.h2-txt{font-size: 20px;letter-spacing: .2rem;line-height: 1;padding-top: 60px;}



}


@media only screen and (max-width: 767px) {
.h2area{height: 200px;}
.h2-txt{letter-spacing: .2rem;}
.h2-txt span {font-size: 38px;letter-spacing: .2rem;margin-bottom:5px;}



}

 @media only screen and (max-width: 666px) {
.h2area{height: 180px;}
.h2-txt{font-size: 18px;letter-spacing: .2rem;padding-left: 20px;padding-top: 80px;}
.h2-txt span {font-size:34px;}


}

/*------------------------------　　下層ページ 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: white;
  border-left:6px solid #0cf;padding-left: .5em;
}

.headline {
 position: relative;
 font-size:15px;
 letter-spacing: .1rem;
  margin-bottom: 30px;
  line-height: 1;
  color: #7d89ea;
  text-align: center;
 font-family: ' IBMPlexSansJP ';font-weight: 500;  
}
.headline span{display: block;  font-family: ' BebasNeue ';
 font-weight: 400;
text-transform: uppercase;
  background-image:linear-gradient(80deg,#6a2bea 36%, #4277fc 45%, rgba(117, 165, 229, 1) 58%, rgba(140, 95, 255, 1) 68%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;font-size: 40px;margin-bottom: 10px;letter-spacing: .08rem;}

.headline.white{color: white;}

.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 span{font-size: 56px;margin-bottom: 10px;}




}



@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-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:18px;letter-spacing: .1rem;
  margin-bottom: 40px;
}
.headline span{display: block;font-size: 70px;letter-spacing: .3rem;}



 .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 {margin-bottom: 50px;}


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



}


@media (min-width: 1440px) {

.headline {margin-bottom: 60px;}
.headline span{font-size: 85px;letter-spacing: .3rem; }


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


}

@media (min-width: 1920px) {

.headline { margin-bottom: 60px;}
.headline span{font-size: 95px; letter-spacing: .3.5rem;}

}


#pankuzu{position: absolute;left:0px;bottom:0;z-index: 10;width: 100%;}





.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-twinkle {
  padding:15px 30px;
  width: 250px;
  border-radius: 40px;
  color: #fff;
  display: block;
  position: relative;
  overflow: hidden;
font-size: 20px;
  border:1px solid white;
  letter-spacing: 0.1em;
  background-color:none;
  text-decoration: none;
  font-family: ' BebasNeue ';
 font-weight: 400;
}
.btn-twinkle.ja {font-family: ' IBMPlexSansJP ';font-size: 15px;}
.btn-twinkle.entry {font-family: ' IBMPlexSansJP ';font-size: 15px;background: rgba(144,87,214,.3);}

.btn-twinkle::after {
  font-family: "Font Awesome 5 Free";
  content: "\f061";
  font-weight: 900;
  position: absolute;
  right:30px;
  top:50%;
  transform: translateY(-50%);
  font-size: 15px;
  
}
.btn-twinkle:hover {color: white;background: rgba(144,87,214,.15);}

.twinkle::before {
    content: "";
    display: block;
    width: 9px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #7428ca;
    opacity: 0;
    transition: cubic-bezier(0.32, 0, 0.67, 0);
}

.twinkle:hover::before {animation: twinkleAnime 0.5s linear;}
@keyframes twinkleAnime {
    0% {
        transform: scale(2) rotate(45deg);
        opacity: 0;
    }

    20% {
        transform: scale(20) rotate(45deg);
        opacity: 0.6;
    }

    40% {
        transform: scale(30) rotate(45deg);
        opacity: 0.4;
    }

    80% {
        transform: scale(45) rotate(45deg);
        opacity: 0.2;
    }

    100% {
        transform: scale(50) rotate(45deg);
        opacity: 0;
    }
}


.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-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-twinkle {
  padding:25px 45px;
  width: 300px;
  border-radius: 50px;
}
.btn-twinkle.ja {font-size: 18px;}
.btn-twinkle.entry {font-size: 18px;}


}



.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;}









/* feature.html
--------------------------------------------------------- */

.feature #section01{padding: 50px 0px 50px;position: relative;}
.tuyomi{text-align: center;margin-bottom: 50px;font-weight: 600;display: flex;align-items: center;justify-content: center;font-size: 1.2em;}
.tuyomi span.num{background: #c00;color: white;height: 50px;width: 50px;border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: 27px;margin: 0 .2em;}
.feature #section01 .t-box{margin-bottom: 20px;}
.feature #section01 .t-box h4{margin-bottom: 15px;font-weight: 600;font-size: 20px;display: flex;align-items: center;}
.feature #section01 .t-box h4 span{background: #c00;color: white;height: 40px;width: 40px;border-radius: 50%;font-family: ' BarlowCondensed ';font-weight: 400;font-size: 26px;display: flex;align-items: center;justify-content: center;margin-right: 10px;}
.feature #section01 .t-box .txt{text-align: justify;}
.feature #section01 .pic{width: 260px;margin: 0 auto;position: relative;}
.feature #section01 .pic img{border-radius: 30px 70px 30px 30px;}
.feature #section01 .pic .kaiten {position: absolute;z-index: 5;right:-23px;top:10px;transform: rotate(52.5deg);}
.feature #section01 .pic.left{}
.feature #section01 .pic.left img{border-radius: 70px 30px 30px 30px;}

.feature .cstm-wave{margin: 0;}
.feature #section02{padding:30px 0px 50px;position: relative;background: #c00;}
.feature #section02 .t-flow{text-align: center;color: white;text-transform: uppercase;font-weight: 700;margin-bottom: 30px;}
.feature #section02 .t-flow span{display: block;margin-top: 6px;font-size: 24px;}
.feature #section02 .wrap{background: white;padding: 1.4em 1em;border-radius: 1.5em;text-align: center;}

.feature #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) {


}



@media (min-width: 768px) {

.feature #section01{padding: 70px 0px 70px;}
.tuyomi{margin-bottom: 70px;font-size: 1.4em;}
.tuyomi span.num{height: 50px;width: 50px;border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: 30px;margin: 0 .2em;}
.feature #section01 .pic{width: 350px;margin: 0 auto;position: relative;}



.feature #section02{padding: 40px 0px 70px;}
.feature #section02 .t-flow{text-align: center;color: white;text-transform: uppercase;font-weight: 700;margin-bottom: 45px;font-size: 18px;}
.feature #section02 .t-flow span{display: block;margin-top: 6px;font-size: 28px;letter-spacing: .3rem;padding-left: .3rem;}
.feature #section02 .wrap{padding: 2em;border-radius: 1.5em;text-align: center;}

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

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

}



@media (min-width: 992px) {
.feature #section01 .t-box{margin-bottom: 0px;}
.feature #section01 .t-box h4{margin-bottom: 40px;font-weight: 600;font-size: 25px;display: flex;align-items: center;}
.feature #section01 .t-box h4 span{background: #c00;color: white;height:60px;width: 60px;border-radius: 50%;font-size: 30px;display: flex;align-items: center;justify-content: center;margin-right: 10px;}

.feature #section01 .pic{width: 90%;margin: 0 auto;position: relative;}
.feature #section01 .t-box .txt{text-align: justify;line-height: 2;}


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

}



@media (min-width: 1200px) {

.feature #section01{padding:100px 0px 100px;}
.tuyomi{margin-bottom: 70px;font-size: 1.7em;}
.tuyomi span.num{height: 60px;width: 60px;font-size: 40px;margin: 0 .2em;}
.feature #section01 .pic img{border-radius: 50px 120px 50px 50px;}
.feature #section01 .pic.left img{border-radius: 120px 50px 50px 50px;}


.feature #section02{padding:50px 0px 100px;}
.feature #section02 .t-flow{text-align: center;color: white;text-transform: uppercase;font-weight: 700;margin-bottom: 50px;font-size: 18px;}
.feature #section02 .t-flow span{display: block;margin-top: 6px;font-size: 35px;letter-spacing: .3rem;padding-left: .3rem;}
.feature #section02 .wrap{padding: 3em;border-radius: 1.5em;text-align: center;}

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

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

}


@media (min-width: 1680px) {

}





/* business.html
--------------------------------------------------------- */
.business #section01{padding:30px 0px;position: relative;}
.business #section01 ul li{border-right: 1px solid white;padding: .5em 0;}
.business #section01 ul li:last-child{border-right:none;}
.business #section01 a{display: block;text-align: center;color: white;line-height: 1;}
.business #section01 a span{display: block;margin-bottom: 5px;font-family: ' BebasNeue '; font-weight: 400;font-size: 20px;letter-spacing: .2rem;}

.business #section02{padding:50px 0px;position: relative;background: url("../images/bg-business1-xs.jpg");background-position: center top;background-size: cover;}
.h3-business {
 position: relative;
 font-size:15px;
 letter-spacing: .1rem;
  margin-bottom: 30px;
  line-height: 1;
  color: #fff;
  display: flex;
  align-items: center;
 font-family: ' IBMPlexSansJP ';font-weight: 500;  
}
.h3-business span{display: block;font-family: ' BebasNeue ';
 font-weight: 400;
text-transform: uppercase;
 color: #70BCDE;font-size: 40px;margin-right: 5px;letter-spacing: .08rem;}
.h3-business::after {
  background-color: #70BCDE;
  content: "";
  flex-grow: 1;
  height: 1px;
}
.h3-business::after {margin-left: 10px;}

.h4-business{font-family: ' IBMPlexSansJP ';font-weight: 500;color: white;margin-bottom: 30px;font-size: 15px;line-height: 1;}
.h4-business span{display: block;font-family: ' BebasNeue ';
 font-weight: 400;
text-transform: uppercase;
 color: #fff;font-size: 38px;margin-bottom: 5px;letter-spacing: .3rem;}

.business #section02 .txt{text-align: justify;}
.business #section02 .pic1{width: 65%;margin-bottom: 1em;}
.business #section02 .pic2{width: 40%;margin-left: 60%;margin-bottom: 1em;margin-top: -50px;}
.business #section02 .pic3{width: 55%;margin-left: 10%;margin-top: -50px;}
.business #section02 .stepbox{}
.step-num {
  position: relative;
  width: 100%;
  height: 50px;
  display: flex;
   align-items: center;
 justify-content: center;
  background: none;
  border:1px solid white;
  font-family: ' BebasNeue ';
 font-weight: 400;
text-transform: uppercase;
font-size: 18px;
letter-spacing: .2rem;
margin-bottom: 15px;
}
.step-num span{font-size: 26px;margin-left: 5px;padding-top: 0;margin-top: -5px;}
.business #section02 .stepbox h5{text-align: center;font-size: 16px;font-weight: 500;margin-bottom: 15px;}
.business #section02 .stepbox h5 span{display: block;font-family: ' BebasNeue ';
 font-weight: 400;
text-transform: uppercase;
font-size: 25px;letter-spacing: .2rem;}
.business #section02 .stepbox .icon{width: 60px;margin: 0 auto;margin-bottom: 15px;}
.business #section02 .stepbox p{text-align: justify;font-size: .9em;line-height: 1.4;}
.business #section02 .txt2{text-align: justify;margin-bottom: 25px;}

.business #section03{padding:50px 0px;position: relative;background: url("../images/bg-business2-xs.jpg");background-position: center top;background-size: cover;}
.business #section03 .txt{text-align: justify;}
.business #section03 .pic1{width: 260px;margin: 0 auto;}
.business #section03 .stepbox h5{text-align: center;font-size: 16px;font-weight: 500;margin-bottom: 15px;}
.business #section03 .stepbox h5 span{display: block;font-family: ' BebasNeue ';
 font-weight: 400;
text-transform: uppercase;
font-size: 25px;letter-spacing: .2rem;}
.business #section03 .stepbox .icon{width: 60px;margin: 0 auto;margin-bottom: 15px;}
.business #section03 .stepbox p{text-align: justify;font-size: .9em;line-height: 1.4;}


.business #section04{padding:50px 0px;position: relative;}
.business #section04 .txt{text-align: justify;}
.business #section04 .pic1{width: 260px;margin: 0 auto;}
.business #section04 .stepbox h5{text-align: center;font-size: 16px;font-weight: 500;margin-bottom: 15px;}
.business #section04 .stepbox h5 span{display: block;font-family: ' BebasNeue ';
 font-weight: 400;
text-transform: uppercase;
font-size: 25px;letter-spacing: .2rem;}
.business #section04 .stepbox .icon{width: 60px;margin: 0 auto;margin-bottom: 15px;}
.business #section04 .stepbox p{text-align: justify;font-size: .9em;line-height: 1.4;}


@media (min-width: 667px) {
.h3-business {
 position: relative;
 font-size:15px;
 letter-spacing: .1rem;
  margin-bottom: 30px;
  line-height: 1;
  color: #fff;
  display: flex;
  align-items: center;
 font-family: ' IBMPlexSansJP ';font-weight: 500;  
}
.h3-business span{font-size: 46px;margin-right: 10px;letter-spacing: .1rem;}
.h3-business::after {margin-left: 10px;}

.h4-business{margin-bottom: 40px;font-size: 15px;}
.h4-business span{font-size: 42px;margin-bottom:5px;letter-spacing: .3rem;}

.business #section01 a span{display: block;margin-bottom: 5px;font-size: 26px;letter-spacing: .2rem;}

.business #section02 .pic1{width: 280px;margin-bottom: 0;}
.business #section02 .pic2{width: 150px;margin-left: 72%;margin-bottom: 1em;margin-top: -90px;}
.business #section02 .pic3{width:250px;margin-left: 17%;margin-top: -40px;}

}

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


.business #section02{padding:70px 0px;background: url("../images/bg-business1.jpg");background-position: center top;background-size: cover;}
.business #section02 .pic1{width: 340px;margin-left: 5%; margin-bottom: 0;}
.business #section02 .pic2{width: 200px;margin-left: 67%;margin-bottom: 1em;margin-top: -90px;}
.business #section02 .pic3{width:270px;margin-left: 17%;margin-top: -40px;}
.business #section02 .stepbox .icon{width: 80px;margin: 0 auto;margin-bottom: 15px;}

.no-bottom{margin-bottom: 0;}


.business #section03{padding:70px 0px;background: url("../images/bg-business2.jpg");background-position: center top;background-size: cover;}
.business #section03 .pic1{width: 360px;margin: 0 auto;}
.business #section03 .stepbox .icon{width: 80px;margin: 0 auto;margin-bottom: 15px;}

.business #section04{padding:70px 0px;background: url("../images/bg-business3.jpg");background-position: center;background-size: cover;}
.business #section04 .pic1{width: 360px;margin: 0 auto;}
.business #section04 .stepbox .icon{width: 80px;margin: 0 auto;margin-bottom: 15px;}

}


@media (min-width: 992px) {
.h3-business {
 position: relative;
 font-size:17px;
  margin-bottom: 40px;
}
.h3-business span{font-size: 56px;margin-right: 10px;letter-spacing: .2rem;}
.h3-business::after {margin-left: 10px;}
.h4-business{margin-bottom: 50px;font-size: 15px;}
.h4-business span{font-size: 48px;margin-bottom:5px;letter-spacing: .3rem;}


.business #section01 a{font-size: 20px;}
.business #section01 a span{display: block;margin-bottom: 5px;font-size: 30px;letter-spacing: .2rem;}
.business #section02 .txt{text-align: justify;line-height: 2;}
.business #section02 .pic1{width: 50%;margin-left:0; margin-bottom: 0;position: absolute;top:0;left:100px;}
.business #section02 .pic2{width: 160px;margin-left: 0;margin-bottom: 0;margin-top:0;position: absolute;bottom:0px;right:0;}
.business #section02 .pic3{width:160px;margin-left: 0;margin-top: 0;position: absolute;top:160px;left:-15px;}
.step-num {
  position: relative;
  width: calc(100% - 27px);
  height: 60px;
  display: flex;
   align-items: center;
 justify-content: center;
  background: none;
  border:1px solid white;
  border-right: none;
  font-family: ' BebasNeue ';
 font-weight: 400;
text-transform: uppercase;
font-size: 25px;
letter-spacing: .2rem;
margin-bottom: 25px;
}
.step-num span{font-size: 40px;margin-left: 5px;padding-top: 0;margin-top: -5px;}
.step-num::before,
.step-num::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -30px;
  width: 43px;
  height: 1px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: calc(100% - 1px) 50%;
}
.step-num::before {transform: rotate(45deg);}
.step-num::after {transform: rotate(-45deg);}

.business #section02 .stepbox h5{text-align: center;font-size: 16px;font-weight: 500;margin-bottom: 15px;}
.business #section02 .stepbox h5 span{display: block;font-family: ' BebasNeue ';
 font-weight: 400;
text-transform: uppercase;
font-size: 30px;letter-spacing: .2rem;}
.business #section02 .stepbox .icon{width: 80px;margin: 0 auto;margin-bottom: 15px;}
.business #section02 .txt2{text-align: justify;margin-bottom: 0;}

.business #section03 .txt{text-align: justify;margin-bottom: 0;line-height: 2;}
.business #section03 .pic1{width: 100%;margin: 0 auto;}
.business #section03 .stepbox .icon{width: 80px;margin: 0 auto;margin-bottom: 15px;}

.business #section04 .txt{text-align: justify;margin-bottom: 0;line-height: 2;margin-left: 50px;}
.business #section04 .pic1{width: 100%;margin: 0 auto;}
.business #section04 .stepbox .icon{width: 80px;margin: 0 auto;margin-bottom: 15px;}


}

@media (min-width:1200px) {
.business #section01{padding:80px 0px;}
.business #section01 a{font-size: 20px;}
.business #section01 a span{display: block;margin-bottom: 5px;font-size: 36px;letter-spacing: .2rem;}
.h3-business {
 position: relative;
 font-size:18px;
  margin-bottom: 50px;
}
.h3-business span{font-size: 64px;margin-right: 10px;letter-spacing: .2rem;}
.h4-business{margin-bottom: 50px;font-size: 15px;}
.h4-business span{font-size: 58px;margin-bottom:5px;letter-spacing: .3rem;}

.business #section02{padding:100px 0px;}
.business #section02 .container{max-width: 1200px;}
.business #section02 .txt{text-align: justify;font-size: 1.1em; line-height: 2;}

.business #section02 .pic1{width: 340px;position: absolute;top:0;left:60px;}
.business #section02 .pic2{width: 180px;margin-left: 0;margin-bottom: 0;margin-top:0;position: absolute;bottom:0px;right:0;}
.business #section02 .pic3{width:220px;margin-left: 0;margin-top: 0;position: absolute;top:250px;left:-45px;}
.business #section02 .stepbox .icon{width: 100px;margin: 0 auto;margin-bottom: 15px;}

.business #section03{padding:100px 0px;}
.business #section03 .container{max-width: 1200px;}
.business #section03 .txt{text-align: justify;font-size: 1.1em;line-height: 2;}
.business #section03 .stepbox .icon{width: 100px;margin: 0 auto;margin-bottom: 15px;}

.business #section04{padding:100px 0px;}
.business #section04 .container{max-width: 1200px;}
.business #section04 .txt{text-align: justify;font-size: 1.1em;line-height: 2;margin-left: 80px;}
.business #section04 .stepbox .icon{width: 100px;margin: 0 auto;margin-bottom: 15px;}

}

@media (min-width:1680px) {

.h3-business {
 position: relative;
 font-size:18px;
  margin-bottom: 60px;
}
.h3-business span{font-size: 74px;margin-right: 10px;letter-spacing: .2rem;}

.business #section02 .stepbox h5 span{display: block;font-family: ' BebasNeue ';
 font-weight: 400;
text-transform: uppercase;
font-size: 40px;letter-spacing: .2rem;}
.business #section03 .stepbox h5 span{display: block;font-family: ' BebasNeue ';
 font-weight: 400;
text-transform: uppercase;
font-size: 40px;letter-spacing: .2rem;}
.business #section04 .stepbox h5 span{display: block;font-family: ' BebasNeue ';
 font-weight: 400;
text-transform: uppercase;
font-size: 40px;letter-spacing: .2rem;}


 }
 
 




/* works.html
--------------------------------------------------------- */
.works #section01{padding: 50px 0;position: relative;}
.works #section01 .cate-list{display: flex;flex-wrap: wrap;margin-bottom: 30px;}
.works #section01 .cate-list li{padding: 0 5px 10px;width: 33.333%;}
.works #section01 .cate-list li a{border:2px solid #6cf;display: flex;align-items: center;justify-content: center;height: 40px;border-radius: 6px;font-size: 20px; color: #6cf;font-weight: 400;font-family: ' BebasNeue ';}
.works #section01 .cate-icon{display: flex;flex-wrap: wrap;}
.works #section01 .cate-icon li{width: 100%;padding: 0 0px 10px;}
.works #section01 .cate-icon li a{background: white;display: flex;align-items: center;justify-content: center;padding: 1.5em 1.5em;border-radius: 10px;}
.works #section01 .cate-icon li a img{width: 60px;height: auto; margin-right: 15px;}
.works #section01 .cate-icon li a p{color: black;font-weight: 500;line-height: 1.4;width: calc(100% - 75px);}

.works #section02{padding: 50px 0;position: relative;}
.works #section02 .container{z-index: 5;}
.works .item-title{margin-bottom: 30px;position: relative;}
.works .item-title img{position: absolute;top:-10px;left:0;width: 30px;height: auto;margin-right: 10px;}
.works .item-title span{font-weight: 500;font-size:30px;padding-left: 40px;}
.works .genre{background: rgba(194,223,244,1);font-weight: 500;padding: .8em .8em;line-height: 1.4; color: black;border-radius: 7px;margin-bottom: 30px;}
.works #section02 .item-list{margin-bottom: 50px;}
.works #section02 .item-list:last-child{margin-bottom: 0px;}
.ul-slide li{margin-bottom: 40px;}
.works #section02 .swiper{padding: 0;background: none;margin-bottom: 20px;}
.works #section02 .swiper-wrapper{background: none;}
.works #section02 .swiper-slide{padding: 0 20px;}
/* arrow */
.works .swiper-button-prev,
.works .swiper-button-next{
position: absolute;
  z-index: 2;
  top: 50%;
  margin-top: -20px;
  background:none;
  width: 20px;
  height: 20px;
  border-top: 3px solid rgba(255,255,255,1.00);
  border-right: 3px solid rgba(255,255,255,1.00);
  opacity: .8;
}
.swiper-button-prev:hover,
.swiper-button-next:hover{cursor: pointer;}
.swiper-button-prev::after,
.swiper-button-next::after{content: '';}
.swiper-button-prev{
  left: 10px;
  transform: rotate(-135deg);
}
.swiper-button-next{
  right: 10px;
  transform: rotate(45deg);
}
/* dots */
.swiper-pagination{
margin-top: .8em;
  position: relative;width: 100%;
  text-align: center;z-index: 10;
  display: flex;align-items: center;justify-content: center;
}
.swiper-pagination span{
  width: 10px;
  height: 10px;
  margin: 0 3px !important;
  background-color:#fff;
  opacity: .5;
  border-radius: 100%;
}
.swiper-pagination span:hover{cursor: pointer;}
.swiper-pagination span.swiper-pagination-bullet-active{opacity: 1;}
.slide-title{text-align: center;font-weight: 500;line-height: 1.4;color: white;}
.works #section02 .txt-list{}
.works #section02 .txt-list li{margin-bottom: .5em;}
.works #section02 .txt-list li{font-weight: 500;position: relative;padding-left: 30px;line-height: 1.4;text-align: justify;}
.works #section02 .txt-list li::before {
  font-family: "Font Awesome 5 Free";
  content: "\f22d";
font-weight: 900;
  -webkit-font-smoothing: antialiased;
  position: absolute;
  left:15px;
  top:0em;
  color:#08A9F2;
}


@media (min-width: 667px) {
.works #section01 .cate-list li{padding: 0 5px 10px;width: 25%;}
.works #section01 .cate-list li a{height: 40px;border-radius: 6px;font-size: 20px; }
.works #section01 .cate-icon li{width: 50%;padding: 0 5px 10px;}
.works #section01 .cate-icon li a{background: white;display: flex;flex-direction: column;align-items: center;justify-content: center;padding: 1.5em 1em;border-radius: 10px;}
.works #section01 .cate-icon li a img{width: 80px;height: auto; margin-bottom: 10px;margin-right: 0;margin-left: 0;}
.works #section01 .cate-icon li a p{color: black;font-weight: 500;text-align: center;line-height: 1.4;width: 100%;}

}


@media (min-width: 768px) {
.works #section01{padding: 70px 0;}
.works #section01 .cate-list li{padding: 0 5px 10px;width: 20%;}
.works #section01 .cate-list li a{height: 40px;border-radius: 6px;font-size: 20px; }
.works #section01 .cate-icon li{width: 25%;padding: 0 5px 0px;}
.works #section01 .cate-icon li a{background: white;display: flex;flex-direction: column;align-items: center;justify-content: center;padding: 1.5em .5em;border-radius: 10px;}

.works #section01 .cate-icon li a img{width: 80px;height: auto; margin-bottom: 15px;margin-right: 0;margin-left: 0;}
.works #section01 .cate-icon li a p{color: black;font-weight: 500;text-align: center;line-height: 1.4;width: 100%;letter-spacing: 0;font-size: .9em;}

.works #section02{padding: 30px 0 70px;}
.works .item-title{margin-bottom: 40px;position: relative;}
.works .item-title img{position: absolute;top:-10px;left:0;width: 30px;height: auto;margin-right: 10px;}
.works .item-title span{font-size:36px;padding-left: 40px;}
.works .genre{padding:1em;font-size: 18px; margin-bottom: 30px;}
.works #section02 .item-list{margin-bottom: 70px;}

.works #section02 .txt-list li{padding-right: 25px;margin-bottom: 15px;}


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



}


@media (min-width: 992px) {
.works #section01 .cate-list li a{height: 40px;border-radius: 6px;font-size: 23px;transition: .4s; }
.works #section01 .cate-list li a:hover{background: #6cF;color: #fff; }
.works #section01 .cate-icon li a{transition: .4s;}
.works #section01 .cate-icon li a:hover{background: rgba(215,221,242,.7);}
.works #section01 .cate-icon li a img{width: 80px;height: auto; margin-bottom: 15px;margin-right: 0;margin-left: 0;}
.works #section01 .cate-icon li a p{letter-spacing: 0;font-size: 1em;}

.works .item-title{margin-bottom: 50px;position: relative;}
.works .item-title img{position: absolute;top:-10px;left:0;width: 40px;height: auto;margin-right: 10px;}
.works .item-title span{font-size:36px;padding-left: 55px;}

}


@media (min-width: 1200px) {
.works #section01{padding: 100px 0;}
.works #section01 .cate-list li{padding: 0 5px 10px;width: 16.6%;}
.works #section01 .cate-list li a{height: 46px;border-radius: 6px;font-size: 23px; }
.works #section01 .cate-icon li a img{width: 90px;height: auto; margin-bottom: 15px;margin-right: 0;margin-left: 0;}
.works #section01 .cate-icon li a p{letter-spacing: .08rem;font-size: 1.05em;}

.works #section02{padding: 50px 0 100px;}
.works .genre{padding:.8em 1em;font-size: 24px; margin-bottom: 40px;}
.works #section02 .item-list{margin-bottom: 100px;}


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


}

@media (min-width: 1440px) {

.works .item-title{margin-bottom: 60px;position: relative;}
.works .item-title img{position: absolute;top:-10px;left:0;width: 40px;height: auto;margin-right: 10px;}
.works .item-title span{font-size:40px;padding-left: 55px;}

}

@media (min-width: 1680px) {
.works .genre{padding:.8em 1em;font-size: 26px; margin-bottom: 50px;}


}



/* lineup.html
--------------------------------------------------------- */
.fixed-lineup{position: relative;z-index: 1;width: 100%; background: url("../images/bg-lineup-xs.jpg");background-attachment: fixed; background-position: center top;background-size:100% auto;background-repeat: repeat-y;}
.fixed-lineup2{position: fixed;z-index: 1;width: 100%; height: 100vh; background: url("../images/bg-lineup-xs.jpg");background-attachment: fixed; background-position: center;background-size:cover;}
.fixed-lineup3{position: fixed;z-index: 1;width: 100%; height: 100vh; background: url("../images/bg1-xs.png");background-attachment: fixed; background-position: center;background-size:100% auto;}

.lineup #section01{padding:50px 0px;position: relative;}
.lineup #section01 ul li{margin-bottom: 10px;}
.lineup #section01 a{display: block;color: white;line-height: 1.2;font-weight: 500; border: 1px solid white;padding: .7em 1.6em .7em .7em;position: relative;}
.lineup #section01 a::after {
  font-family: "Font Awesome 5 Free";
  content: "\f107";
font-weight: 900;
position: absolute;
right:.7em;
top:50%;
transform: translateY(-50%);
}

.lineup #section02{padding:50px 0px;position: relative;z-index: 10;}
.lineup #section03{padding:50px 0px;position: relative;z-index: 10;}
.lineup #section04{padding:50px 0px;position: relative;z-index: 10;}
.lineup #section05{padding:50px 0px;position: relative;z-index: 10;}


.titleset{margin-bottom: 30px;}
.lineup .lineup-title{font-weight: 500;font-size: 20px;margin-bottom: 25px;  align-items: center;display: flex; }
.lineup .lineup-title::after {
  background-color: #9cf;
  content: "";
  flex-grow: 1;
  height: 1px;
}
.lineup .lineup-title::after {margin-left: 15px;}
.lineup .box{border:1px solid #ccc;padding:1.5em;border-radius:5px;margin-bottom: 30px;}
.lineup .box .txt{text-align: justify;}
.lineup .swiper{padding: 0;background: none;margin-bottom: 30px;}
.lineup .swiper-wrapper{background: none;}
.lineup .swiper-slide{padding: 0 20px;}
/* arrow */
.lineup .swiper-button-prev,
.lineup .swiper-button-next{
position: absolute;
  z-index: 2;
  top: 50%;
  margin-top: -20px;
  background:none;
  width: 20px;
  height: 20px;
  border-top: 3px solid rgba(255,255,255,1.00);
  border-right: 3px solid rgba(255,255,255,1.00);
  opacity: .8;
}

.lineup .sub{line-height: 1.4;}

.lineup .box h4{background: #10A3D3;color: white;font-weight: 500;height: 50px;line-height: 1.3;display: flex;align-items: center;justify-content: center;margin-bottom: 1.2em;border-radius: 30px;}

@media (min-width: 667px) {
.fixed-lineup{background: url("../images/bg-lineup.jpg");background-position: center top;background-attachment: fixed; background-size:100% auto;background-repeat: repeat-y;}
.fixed-lineup2{position: fixed;z-index: 1;width: 100%; height: 100vh; background: url("../images/bg-lineup.jpg"); background-position: center;background-size:cover;}
.fixed-lineup3{position: fixed;z-index: 1;width: 100%; height: 100vh; background: url("../images/bg1.png");background-attachment: fixed; background-position: center;background-size:100% auto;}

}

@media (min-width: 768px) {
.lineup #section01{padding:50px 0px;}
.lineup #section01 a{line-height: 1.2; border: 1px solid white;padding: .8em 1.7em .8em 1em;position: relative;}


.lineup #section02{padding:70px 0px;}
.lineup .lineup-title{font-size: 24px;margin-bottom: 30px;}
.lineup #section03{padding:70px 0px;}
.lineup #section04{padding:70px 0px;}
.lineup #section05{padding:70px 0px;}


}


@media (min-width: 992px) {
.lineup #section01 ul li{margin-bottom: 10px;border-right: 1px solid #fff;}
.lineup #section01 ul li:first-child{border-left:1px solid white;}

.lineup #section01 a{display: block;text-align: center;font-weight: 500; padding: .8em 1em .8em 1em;border:none;position: relative;transition: .4s;}
.lineup #section01 a::after {
  font-family: "Font Awesome 5 Free";
  content: "\f107";
font-weight: 900;
position: absolute;
right:auto;
left:50%;
top:auto;
bottom:-10px;
transform: translateX(-50%);
}
.lineup #section01 a:hover{color: #7FD1F5;}

.titleset{margin-bottom: 40px;}
.lineup .lineup-title{font-size: 26px;margin-bottom: 0px;}

.lineup .box{padding:2.5em;border-radius:5px;}
.lineup .swiper{padding: 0;background: none;margin-bottom: 40px;}


}

@media (min-width: 1200px) {
.lineup #section01{padding:50px 0px;}
.lineup #section01 a{font-size: 1.1em;}

.lineup #section02{padding:100px 0px;}
.titleset{margin-bottom: 50px;}
.lineup .lineup-title{font-size: 34px;margin-bottom: 0px;}
.lineup .box h4{height: 58px;margin-bottom: 1.2em;border-radius: 30px;}

.lineup #section03{padding:100px 0px;}
.lineup #section04{padding:100px 0px;}
.lineup #section05{padding:100px 0px;}

}


@media (min-width: 1680px) {
.lineup .lineup-title{font-size: 38px;margin-bottom: 50px;}
.lineup .box{padding:4em;border-radius:5px;}


}

@media (min-width: 1754px) {
.fixed-lineup3{position: fixed;z-index: 1;width: 100%; height: 100vh; background: url("../images/bg1.png");background-attachment: fixed; background-position: center;background-size:auto auto;}

}



/* company.html
--------------------------------------------------------- */
.company .headline{text-align: left;color: white;}
.company .headline span{color: #9CCBF9;background-image:linear-gradient(90deg,#9CCBF9 0%, #9CCBF9 100%);}
.company #section01{padding:50px 0px;position: relative;z-index: 5;}
.company #section01 .txt{text-align: justify;margin-bottom: 1.5em;}
.company #section01 .name{text-align: right;font-weight: 500;}
.company #section01 .name span{font-size: 1.3em;}


.company #section02{padding:50px 0px;position: relative;color: white;z-index: 5;}
.company #section02 .table{margin-bottom: 0;border-bottom: 1px solid #333;}
.company #section02 .table th,
.company #section02 .table td {
  vertical-align: middle;
  border-top: 1px solid #333;
}

.company #section02 .table th{width: 100%;display: block;font-weight: 500;padding: 15px 5px;background: none!important;}
.company #section02 .table td{width: 100%;display: block;padding: 15px 5px;background: none!important;font-weight: 400;}
.company #section02 .table td .call{color: #fff;}

.company #section03{padding:50px 0px;position: relative;z-index: 5;}
.company #section03 .index{font-weight: 500;font-size: 1.2em;margin-bottom: 5px;}
.company #section03 .txt{margin-bottom: 20px;}
.company #section03 .txt:last-child{margin-bottom: 30px;}




@media (min-width: 667px) {


}


@media (min-width: 768px) {

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

.company #section02{padding:70px 0px;}
.company #section02 .table th{width: 200px;display: table-cell;}
.company #section02 .table td{width: auto;display:table-cell;}

.company #section03{padding:70px 0px;}
.company #section03 .txt:last-child{margin-bottom: 0px;}


}

@media (min-width: 992px) {

.company #section01 .txt{text-align: justify;margin-bottom: 1.5em;}
.company #section01 .name{text-align: right;}

}


@media (min-width: 1200px) {
.company #section01{padding:100px 0px;}
.company #section01 .txt{text-align: justify;margin-bottom: 1.5em;font-size: 1.1em; line-height: 2;}
.company #section01 .name{font-size: 1.1em;}

.company #section02{padding:50px 0px 100px;}
.company #section02 .table th{width: 250px;padding: 24px 5px;}
.company #section02 .table td{padding: 24px 15px;}

.company #section03{padding:100px 0px;}
.company #section03 .txt{margin-bottom: 25px;}


}





@media (min-width: 1440px) {

.company #section01 .txt{margin-bottom: 1.5em;font-size: 1.2em; line-height: 2.1;}
.company #section01 .name{font-size: 1.2em;}

.company #section02 .table th{width: 260px;display: table-cell;}

}




/* recruit.html
--------------------------------------------------------- */

.h3-recruit {
 position: relative;
 font-size:18px;
 letter-spacing: .1rem;
  margin-bottom: 30px;
  line-height: 1;
  color: #70BCDE;
  display: flex;
  align-items: center;
 font-family: ' IBMPlexSansJP ';font-weight: 500;  
}
.h3-recruit::after {
  background-color: #70BCDE;
  content: "";
  flex-grow: 1;
  height: 1px;
}
.h3-recruit::after {margin-left: 10px;}

.recruit #section01{padding: 50px 0px;position: relative;}
.recruit #section01 .index{font-weight: 500;font-size: 20px;margin-bottom: 1.2em;line-height: 1.5;}
.recruit #section01 .txt{text-align: justify;margin-bottom: 25px;}
.recruit #section01 .thumb{position: relative;margin: 0 auto;}
.recruit #section01 .thumb .pic1{position: relative;width: 60%; z-index: 2;}
.recruit #section01 .thumb .pic2{position: relative;width: 32%;margin-left: 68%; margin-top: -60px; z-index: 3;}
.recruit #section01 .thumb .pic3{position: relative;width: 43%;margin-left: 10%;margin-top: -40px;z-index: 5;}
.recruit #section01 .wrap{position: relative;}
.recruit #section01 .wrap .box{position: relative;background: white;color: black;text-align: center;line-height: 1.8;font-weight: 500; display: flex;align-items: center;justify-content: center;width: 180px;height: 180px;border-radius: 50%;}
.recruit #section01 .wrap .box:nth-of-type(2){width: 165px;height: 165px;margin-left: 53%;margin-top: -100px;}
.recruit #section01 .wrap .box:nth-of-type(3){width: 150px;height: 150px;margin-left: 7%;margin-top: -40px;}
.recruit #section01 .wrap .box:nth-of-type(4){width: 170px;height: 170px;margin-left: 49%;margin-top: -70px;}
.recruit #section01 .wrap .box:nth-of-type(5){width: 160px;height: 160px;margin-left: 3%;margin-top: -80px;}


.recruit #section02{padding: 50px 0px;z-index: 5;}
.recruit #section02 .box {border: 1px solid;border-image: linear-gradient(105deg,#7f7fff, #c331e2) ;border-image-slice: 1;padding: 1.5em;}
.recruit #section02 h4{margin-bottom: 15px;font-weight: 500;font-size: 22px;}
.recruit #section02 h4 span{font-weight: 400;font-family: ' BebasNeue ';display: block;font-size: 46px;color: #89BBFB;}
.recruit #section02 p{text-align: justify;}


.recruit #section03{padding: 50px 0px;position: relative;background: #222;}
.recruit #section03 .table{border-bottom: 1px solid #555;}
.recruit #section03 .table th{display: block;width: 100%;background: none!important;font-weight: 500;border-top: 1px solid #555;}
.recruit #section03 .table td{display: block;width: 100%;background: none!important; border-top: 1px solid #555;}


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

.flow_design {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 40px;
}

.flow {
  padding-left: 0;
  overflow: hidden;
}

.flow > li {
  list-style-type: none;
  padding: 0 0 1.5em 2.3em;
  margin: 0;
  position: relative;
}

.flow > li .icon {
  font-size: 1.5em;font-family: ' BebasNeue ';
  display: block;
  color: #39f;
}

.flow > li .icon::before {
  content: "";
  display: block;
  width: 12px;
  border-top: solid 3px #39f;
  position: absolute;
  top: 10px;
  left: 12px;
}

.flow > li::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background: #39f;
  border-radius: 50%;
  position: absolute;
  top: 7px;
  left: 0;
}

.flow > li:not(:last-child)::after {
  content: "";
  display: block;
  height: 100%;
  border-left: solid 5px #bbb;
  position: absolute;
  top: 20px;
  left: 3px;
}

.flow > li dl::after {
    content: "";
    width: 100%;
    display: block;
    border-bottom: solid 3px #39f;
    position: absolute;
    bottom: 22px;
    left: 21px;
}

.flow > li dl::before {
    content: "";
    height: calc(100% - 35px);
    display: block;
    border-left: solid 3px #39f;
    position: absolute;
    top: 10px;
    left: 21px;
}

.flow > li dl dt {
  font-size: 1.3em;
  font-weight: 500;
  margin-bottom: 10px;
}

.flow > li dl dd {margin-left: 0;padding-bottom: 1em;}


@media (min-width: 667px) {
.recruit #section01 .thumb .pic1{position: relative;width: 50%; margin-left: 25%; z-index: 2;}
.recruit #section01 .thumb .pic2{position: relative;width: 22%;margin-left: 78%; margin-top: -80px; z-index: 3;}
.recruit #section01 .thumb .pic3{position: relative;width: 40%;margin-left: 0%;margin-top: -110px;z-index: 5;}

.recruit #section01 .wrap{position: relative;}
.recruit #section01 .wrap .box{position: relative;background: white;color: black;text-align: center;line-height: 1.8;font-weight: 500; display: flex;align-items: center;justify-content: center;width: 160px;height: 160px;border-radius: 50%;}
.recruit #section01 .wrap .box:nth-of-type(2){width: 155px;height: 155px;margin-left: 36%;margin-top: -100px;}
.recruit #section01 .wrap .box:nth-of-type(3){width: 140px;height: 140px;margin-left: 74%;margin-top: -180px;}
.recruit #section01 .wrap .box:nth-of-type(4){width: 178px;height: 178px;margin-left: 13%;margin-top: 35px;}
.recruit #section01 .wrap .box:nth-of-type(5){width: 170px;height: 170px;margin-left: 60%;margin-top: -170px;}

.recruit #section03 .table{}
.recruit #section03 .table th{display: table-cell;width: 140px;padding: 15px 5px;}
.recruit #section03 .table td{display: table-cell;width: auto;padding: 15px 5px;}

.flow > li {
  list-style-type: none;
  padding: 0 0 2em 3em;
  margin: 0;
  position: relative;
}

}

@media (min-width: 768px) {
.h3-recruit {
 font-size:24px;
  margin-bottom: 40px;
}


.recruit #section01{padding: 70px 0px 70px;}
.recruit #section01 .index{font-size: 20px;margin-bottom: 1.2em;line-height: 1.5;}
.recruit #section01 .thumb .pic1{position: relative;width: 50%; margin-left: 25%; z-index: 2;}
.recruit #section01 .thumb .pic2{position: relative;width: 22%;margin-left: 78%; margin-top: -80px; z-index: 3;}
.recruit #section01 .thumb .pic3{position: relative;width: 30%;margin-left: 0%;margin-top: -150px;z-index: 5;}
.recruit #section01 .wrap .box{width: 200px;height: 200px;}
.recruit #section01 .wrap .box:nth-of-type(2){width: 180px;height: 180px;margin-left: 36%;margin-top: -120px;}
.recruit #section01 .wrap .box:nth-of-type(3){width: 170px;height: 170px;margin-left: 74%;margin-top: -220px;}
.recruit #section01 .wrap .box:nth-of-type(4){width: 185px;height: 185px;margin-left: 13%;margin-top: 15px;}
.recruit #section01 .wrap .box:nth-of-type(5){width: 180px;height: 180px;margin-left: 60%;margin-top: -190px;}




.recruit #section02{padding: 70px 0px;}
.recruit #section03{padding: 70px 0px 70px;}
ul.timeline-list li:not(:last-of-type)::after {
  content: " ";
  display: block;
  position: absolute;
  z-index: 2;
  background-color: #fff;
  width: 2px;
  height: calc(100% - 1.4rem);
  top: calc(1.5rem + 0.45em);
  left: 40px;
}
ul.timeline-list li .icon{width: 80px;height: 80px;border-radius: 50%;background: white;display: flex;align-items: center;justify-content: center;padding: 20px;position: relative;z-index: 5;}
.timeline-list-title { width: calc(100% - 110px); margin-bottom: 1rem;}
.timeline-list-title .time{font-size: 28px;margin-bottom: .6em;}
.timeline-list-title .index{font-size: 20px;font-weight: 700;line-height: 1;letter-spacing: .1rem;margin-bottom: .6em;}



.recruit #section04{padding: 70px 0px 150px;}
.recruit #section05{padding: 40px 0px 70px;}
.recruit #section05 .box{border-radius: 1.5em;padding: 2em;}
.recruit #section05 .box h4{margin-bottom: 1.1em;text-align: center;}
.recruit #section05 .box h4 span{font-size: 19px;font-weight: 700;}
.recruit #section05 .box .icon{width: 90px;height: 90px;border-radius: 50%;padding: 1.5em; background: #c00;display: flex;align-items: center;justify-content: center;margin: 0 auto;margin-bottom: 1em;}
.recruit #section05 .box .data{text-align: center;font-weight: 700;font-size: 1.6em;}
.recruit #section05 .box .data span{font-size: 14px;}
.recruit #section05 .box .data2{text-align: center;font-weight: 700;font-size: 1.5em;line-height: 1.5;}
.recruit #section05 .box .data2 span{display: block;font-size: 14px;}


.recruit #section06{padding: 70px 0px;}
}

@media (min-width: 992px) {
.recruit #section01 .txt{text-align: justify;margin-bottom: 0px;line-height: 1.8;}
.recruit #section01 .thumb .pic1{position: relative;width: 50%; margin-left: 25%; z-index: 2;}
.recruit #section01 .thumb .pic2{position: relative;width: 22%;margin-left: 78%; margin-top: -80px; z-index: 3;}
.recruit #section01 .thumb .pic3{position: relative;width: 30%;margin-left: 0%;margin-top: -80px;z-index: 5;}
.recruit #section01 .wrap .box{width: 230px;height: 230px;font-size: 1.2em;}
.recruit #section01 .wrap .box:nth-of-type(2){width: 210px;height: 210px;margin-left: 36%;margin-top: -120px;}
.recruit #section01 .wrap .box:nth-of-type(3){width: 180px;height: 180px;margin-left: 74%;margin-top: -240px;}
.recruit #section01 .wrap .box:nth-of-type(4){width: 190px;height: 190px;margin-left: 13%;margin-top: 15px;}
.recruit #section01 .wrap .box:nth-of-type(5){width: 220px;height: 220px;margin-left: 60%;margin-top: -190px;}

.recruit #section03 .table th{width: 180px;padding: 15px 5px;}
.recruit #section03 .table td{width: auto;padding: 15px 5px;}



.flow_design {margin-bottom: 50px;}

.flow > li dl dt {
  font-size: 23px;
  font-weight: 500;
  margin-bottom: 10px;
}


}

@media (min-width: 1200px) {
.h3-recruit {
 font-size:30px;
  margin-bottom: 50px;
}


.recruit #section01{padding: 100px 0px;}
.recruit #section01 .index{font-size: 24px;margin-bottom: 2em;line-height: 1.5;}
.recruit #section01 .txt{line-height: 2.1;padding-right: 0em;font-size: 1.1em;}
.recruit #section01 .thumb .pic1{position: relative;width: 58%; margin-left: 15%; z-index: 2;}
.recruit #section01 .thumb .pic2{position: relative;width: 25%;margin-left: 75%; margin-top: -80px; z-index: 3;}
.recruit #section01 .thumb .pic3{position: relative;width: 38%;margin-left: -5%;margin-top: -120px;z-index: 5;}
.recruit #section01 .wrap .box{width: 250px;height: 250px;font-size: 1.2em;margin-top: 100px;}
.recruit #section01 .wrap .box:nth-of-type(2){width: 210px;height: 210px;margin-left: 240px;margin-top: -50px;}
.recruit #section01 .wrap .box:nth-of-type(3){width: 200px;height: 200px;margin-left:340px;margin-top: -450px;}
.recruit #section01 .wrap .box:nth-of-type(4){width: 230px;height: 230px;margin-left: 570px;margin-top: -130px;}
.recruit #section01 .wrap .box:nth-of-type(5){width: 240px;height: 240px;margin-left: 840px;margin-top: -120px;}



.recruit #section02{padding: 100px 0px;}
.recruit #section02 .box {padding: 2em;}
.recruit #section02 h4{margin-bottom: 20px;font-size: 24px;}
.recruit #section02 h4 span{font-size: 52px;}
.recruit #section02 p{text-align: justify;}





.recruit #section03{padding:100px 0px 100px;}
.recruit #section04{padding: 100px 0px 100px;}
.recruit #section04 .box {padding: 1.5em 2em;}
.recruit #section04 .box h4{font-size: 20px;margin-bottom: 1em;}



}


@media (min-width: 1440px) {
.recruit #section01 .index{font-size: 28px;margin-bottom: 2em;line-height: 1.5;}


.recruit #section03 .table th{width: 200px;padding:25px 5px;}
.recruit #section03 .table td{padding: 25px 5px;}

}




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

.contact #section01{padding: 50px 0px 50px;position: relative;z-index: 5;}
.contact #section01 .tel{text-align: center;font-family: ' BebasNeue ';font-weight: 400; line-height: 1;font-size: 20px;padding: 1.3em 1em;background:#39c;margin-top: 15px;}
.contact #section01 .tel span.call{margin-left: 4px;color:#fff;font-size:35px;letter-spacing: .15rem;}
.contact #section01 .tel span.time{display: block;font-size: 14px;letter-spacing: 0;font-family: ' IBMPlexSansJP ';margin-top: 5px;}
.contact #section01 .txt{text-align: justify;margin-bottom: 20px;}


.contact #section02{padding: 50px 0px;position: relative;z-index: 5;}
.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: black;background:#fc0; padding: 3px 5px;border-radius: 5px;font-size: 12px;line-height: 1.5;}
.contact .table {margin-bottom: 50px;border-bottom:1px solid #555;}
.contact .table th{background:rgba(223,0,0,.0)!important;vertical-align: middle;font-weight: 500;position: relative;display: block;color: #fff;padding: 15px 5px;border-top:1px solid #555;}
.contact .table td{background: none!important;vertical-align: middle;display: block;border-top:1px solid #555;}
.table th span.hissu{color: black;background: #fc0; 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;font-size: 13px;}
 input.tenpu {
width: 90%!important;
 display: block;
 position: relative;
 letter-spacing: 0;
 padding: .3em 0!important;
 border-radius: 4px;
 color: #999;
 cursor: pointer!important;
 margin: 0px 0px 10px;
 font-size: 13px;
}
.tenpu input:last-child{margin: 0;}
.tenpufile{display: flex;align-items: center;padding-top: .5em;line-height: 1;}
.tenpufile .pdf{color: #b30b00;margin-right: .4em;}
.tenpufile .exl{color: #128046;}


.contact #section03{padding: 50px 0px;position: relative;background:rgba(0,0,0,.03);}
.contact #section03 h4{font-weight: 700;text-align: center;font-size: 20px; margin-bottom: 15px;}
.contact #section03 p{text-align: justify;}
.contact #section03 .pic{width: 200px;margin: 0 auto;}
.contact #section03 ul{width: 98%;margin: 0 auto;}
.contact #section03 ul li{border-bottom: 3px dashed #fcc;padding-bottom: 1em;}
.contact #section03 ul li:last-child{border-bottom:none;}

@media (min-width: 667px) {

.contact #section03 ul{width: 80%;margin: 0 auto;}
.contact #section03 ul li{padding-bottom: 1.5em;}

}


@media (min-width: 768px) {

.contact #section01{padding: 70px 0px;}
.contact #section01 .tel{text-align: center;font-family: ' BebasNeue ';font-weight: 400; line-height: 1;font-size: 20px;padding: 1.3em 1em;background:#39c;margin-top: 0;}


.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 #section01 .txt{text-align: justify;margin-bottom: 15px;padding-right: 2em;line-height: 1.8;}

.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 #section01{padding: 100px 0px;}

.contact #section01 .txt{font-size: 1.1em;line-height: 1.8;}

.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;}
.contact .table th{padding: 25px 5px;}
.contact .table td{padding: 25px 15px;}

}



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

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

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

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








.form-s{width:70px}
.form-m{width:150px}
.form-name{width:99%;}
.form100{width:100%}
.form-h{ height:15em;}
input ,select {
    position:relative;
	color: #fff;
}
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;background: none;}
input[type="text"], select{border:1px solid #555;}
input,textarea,select { outline:0; padding:12px;border-radius: 7px;background: none; }
textarea{border:1px solid #555;color: #fff;width: 100%;}
.needinput{background-color:rgba(255,255,255,0)!important;border:1px solid #fc0!important;color: white;}
.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; }
header{display: block;}
.header {
  position:absolute;
  top: 0px;
  left:0;
  transition: color 0.4s ease-out;
  width: 100%;
  z-index: 500;
  height: 80px;
  display: flex;
  align-items: center;justify-content:space-between;
}

.head-logo {display: block; position: relative;margin-left: 15px;width: 180px;}


.header .navi{display: block; margin-right: 20px;}


/* ナビゲーションメニュー */
.nav-menu {}
.menu-list {
  display: flex;
  justify-content: center; /* メニューアイテムを中央揃えに */
}
.menu-item {position: relative;padding: 0 1em;line-height: 1;}
.menu-item:first-child {padding: 0 1em 0 0;}
.menu-item:last-child {padding: 0 0 0 1em;}

/* メニューアイテムのホバースタイル */
.menu-item a {
font-size: 23px;
font-family: ' BebasNeue ';
font-weight: 400;
letter-spacing: .1rem;
padding: 0;
  text-align: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: .3;line-height: 1;
  text-shadow: 0px 0px 10px rgba(1, 21, 59, .4);
}
 
.menu-item a.active {background: linear-gradient(160deg, #c05eff 10%, #6f9edc 100%);
  background: -webkit-linear-gradient(160deg, #c05ef 10%, #6f9edc 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;}



#main{position: relative;height:auto;}
.mv02 .slide {
  height:auto;
  padding: 0;
  text-align: center;
}
.main-h2{bottom: 20px;right: 50px;width: auto;}
.main-h2 h2.mv-h2{font-size: 58px;letter-spacing: .1rem;}
.main-h2 .sub{font-size: 18px;letter-spacing: .1rem;}




.recruit #section03 .table th{width: 180px;padding: 15px 5px;}
.recruit #section03 .table td{width: auto;padding: 15px 5px;}

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

.thumb-xs{display: none;}


footer .logoblock{margin-bottom: 20px;margin-left: 0;width: 200px;}
footer .address{text-align: left;} 
.footer-menu{width: 100%; display: flex!important;justify-content: flex-end!important;}
.footer-menu ul{border-top: none;border-left:none;margin-left: 0;display:flex;justify-content: flex-end;}
.footer-menu li {padding-bottom: 0px;text-align: left;}
.footer-menu li a{text-decoration: none;padding: 0 .8em;letter-spacing: .1rem;margin-bottom: 0em!important;display: block;font-size: 20px;text-align: left;}
.footer-menu li:first-child a{margin-bottom: 0;padding: 0 .8em 0 0;}
.footer-menu li:last-child a{margin-bottom: 0;padding: 0 0 0 .8em;}


.copy{font-size: 14px;text-align:right;}
.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;}

}
