@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400&display=swap');

html * {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
*, *:after, *:before {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
body {
background: rgb(22,51,91);
font-size: 2.2vh;
color: rgb(250,250,250);
font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}

/* @group basic */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, img, strong, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, tbody, tfoot, thead, tr, th, td, header, article, aside, figcaption, figure, footer, menu, nav, section {
margin: 0;
padding: 0;
border: 0;
}
dl, ul {
list-style-type: none;
}
img {
vertical-align: bottom;
}
.individual {
display: none;
overflow: hidden;
}
.bold {
font-weight: bold !important;
}
.large {
font-size: 160% !important;
}
.middle {
font-size: 80%;
}
.small {
font-size: 60%;
font-weight: normal;
}
.ft_en {font-family: 'Roboto Condensed', sans-serif;}
.tx_gd {
color: rgb(199,149,30) !important;
}
.tx_pp {
color: rgb(135,0,165) !important;
}
.tx_bl {
color: rgb(0,80,160) !important;
}
.tx_wt {
color: rgb(255,255,255) !important;
}
.tx_rd {color: rgb(220,5,12) !important;}
.tx_KEY {
color: rgb(52,1,0) !important;
}
.bg_wt {
background-color: rgb(255,255,255) !important;
color: rgb(52,1,0) !important;
}
.bg_db {
background-color: rgb(52,1,0) !important;
color: rgb(255,255,255) !important;
}
.bg_lg {
background-color: rgb(81,120,99) !important;
color: rgb(255,255,255) !important;
}
.bg_gr {
background-color: rgb(23,75,47) !important;
color: rgb(255,255,255) !important;
}
.bg_stn {
background: repeating-linear-gradient(45deg, #fdf3f0 0px, #fdf3f0 .5vw, transparent .5vw, transparent .6vw);
}
.bg_stg {
background: repeating-linear-gradient(-45deg, rgb(144,13,255) 0, rgb(144,13,255) .2vw, transparent .2vw, transparent 3vw);
}
.bg_pp {
background-color: rgba(183,90,145,.8) !important;
}
.bg_grd {
background: -moz-linear-gradient(-45deg,  rgb(255,255,255) 0%, rgb(137,209,239) 30%, rgb(0,170,209) 50%);
background: -webkit-linear-gradient(-45deg,  rgb(255,255,255) 0%,rgb(137,209,239) 30%,rgb(0,170,209) 50%);
background: linear-gradient(135deg,  rgb(255,255,255) 0%,rgb(137,209,239) 30%,rgb(0,170,209) 50%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00aad1',GradientType=1 );
}
.bg_blr {
backdrop-filter: blur(2vw) important;
}
.bg_dtw {
background-image: radial-gradient(rgba(220,5,12,.8) 25%, transparent 0%),
  radial-gradient(rgba(220,5,12,.8) 25%, transparent 0%);
background-size: .5vh .5vh;
background-position: 0 0, .25vh .25vh;
}
.bg_dtwl {
background-image:
  radial-gradient(rgb(7,12,71) 25%, transparent 0%),
  radial-gradient(rgb(7,12,71) 25%, transparent 0%);
background-size: 200px 200px;
background-position: 0 0, 100px 100px;
}
.bg_1r {
  border-radius:1vw;
}
.bg_hr {
  border-radius:.5vw;
}
.bg_grdKEY {
background-color: #070c47;
background-image: linear-gradient(350deg, #070c47 0%, #dc0515 10%, #dc0515 45%, #ffffff 85%, #fdf3f0 90%);
}
.bd_KEY {border: 1px solid rgb(250,250,250);}
/* @end */

/* @group a */
a {
text-decoration: underline;
background-color: transparent;
font-weight: bold;
}
a:link {
color: rgb(255,255,255);
}
a:visited {
color: rgb(255,255,255);
}
a:active {
color: rgb(255,255,255);
outline: 0;
}
a:hover {
color: rgb(220,5,12);
outline: 0;
}
/* @end */

/* @group page_top */
#page-top{
	position: fixed;
	bottom: 0;
	right: 0;
	background: rgb(255,255,255);
	width: 100vw;
	min-height: 7vh;
	line-height: 7vh;
	text-align: center;
	color: rgb(52,1,0);
	bottom: 0;
	right: 0;
    cursor: pointer;
    z-index: 999;
}
/* @end */

/* @loading_animation */
.box{
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
z-index: 9000;
-webkit-transition: all 1.2s ease; /* 1.2秒でフェードアウト */
        transition: all 1.2s ease;
color: rgb(50,219,240); /* ローディングアニメーションカラー */
background-color: rgba(120,120,120,.4); /* 背景カラー */
}
.spinner {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
-webkit-transform-origin: center;
        transform-origin: center;
width: 120px;
height: 120px;
}
.spinner span {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
font-size: 1vh;
}
.spinner.type1 {
border-radius: 50%;
border-width: 8px;
border-style: solid;
border-color: rgb(50,219,240) rgba(255, 255, 255, 0.12) rgba(255, 255, 255, 0.12);
/* ローディング要素のアニメーションを指定 */
-webkit-animation: spinner1_1 1.5s infinite linear forwards;
        animation: spinner1_1 1.5s infinite linear forwards;
}
.spinner.type1 span {
/* Loading テキストのアニメーションを指定 */
animation: spinner_loading_text 1.5s infinite linear forwards reverse;
}
@-webkit-keyframes spinner1_1 {
0% {
  -webkit-transform: translate(-50%, -50%) rotate(0);
          transform: translate(-50%, -50%) rotate(0);
}
100% {
  -webkit-transform: translate(-50%, -50%) rotate(360deg);
          transform: translate(-50%, -50%) rotate(360deg);
}
}
@keyframes spinner1_1 {
0% {
  -webkit-transform: translate(-50%, -50%) rotate(0);
          transform: translate(-50%, -50%) rotate(0);
}
100% {
  -webkit-transform: translate(-50%, -50%) rotate(360deg);
          transform: translate(-50%, -50%) rotate(360deg);
}
}
@-webkit-keyframes spinner_loading_text {
0% {
  opacity: 1;
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
}
50% {
  opacity: 0;
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
          transform: translate(-50%, -50%) rotate(180deg);
}
100% {
  opacity: 1;
  -webkit-transform: translate(-50%, -50%) rotate(360deg);
          transform: translate(-50%, -50%) rotate(360deg);
}
}
@keyframes spinner_loading_text {
0% {
  opacity: 1;
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
}
50% {
  opacity: 0;
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
          transform: translate(-50%, -50%) rotate(180deg);
}
100% {
  opacity: 1;
  -webkit-transform: translate(-50%, -50%) rotate(360deg);
          transform: translate(-50%, -50%) rotate(360deg);
}
}
.box.loaded{
opacity:0;
visibility:hidden;
pointer-events:none;
}

/* global navi */
#gnav-btn {
  color: rgb(7,12,71);
  font-size: 6vh;
line-height: 1em;
  
  position: fixed;
  top: 1.5vh;
  right: 1.8vw;
  z-index: 9000;
  padding: .5vw;

  border: 1px solid rgb(7,12,71);
  border-radius: 1vw 1vw;
}
#gnav-input:checked ~ #gnav-content {
  top: 0;
}
#gnav-content {
  position: fixed;
  top: -100%;
  left: 0;
  z-index: 1000;
  transition: 0.3s;
  width: 100%;
    background-color: rgba(255,255,255,.7);
}
.humb-menu__title {
    padding: 1vh 0;
    overflow: hidden;
}
.humb-menu label {
  display: flex;
  justify-content: space-between;
  padding: 1rem;
  cursor: pointer;
  border-top: 1px dotted rgb(7,12,71);
}
.humb-menu label p {
    color: rgb(7,12,71);
    font-size: 3vh;
    line-height: 1em;
}
.humb-menu label p a {
    font-weight: bold;
text-decoration: none;
background-color: transparent;
}
.humb-menu label p a:link {
color: rgb(7,12,71);
}
.humb-menu label p a:visited {
color: rgb(7,12,71);
}
.humb-menu label p a:active {
color: rgb(7,12,71);
outline: 0;
}
.humb-menu label p a:hover {
color: rgb(7,12,71);
outline: 0;
}
.humb-menu input {
  display: none;
}
.humb-menu .accshow {
  height: 0;
  overflow: hidden;
}
.humb-menu .accshow p {
  padding: 1.5rem;
}
.humb-menu .cssacc:checked + .accshow {
  height: auto;
}

/* @group linkout */
#linkout {
  padding: 1vw 1rem;
  display: block;
overflow: hidden;
z-index: 900;
}
#linkout dd {
width: calc(60% / 3);
  max-width: 80px;
padding: 1vw;
    float: left;
display: inline;
overflow: hidden;
}
#linkout dd figure {
width: 100%;
  overflow: hidden;
}
#linkout dd figure img {
width: 100%;
}
/* @end */

#container {
width: 100%;
position: relative;
}

.pc {
visibility: visible;
}
.tb {
visibility: hidden;
display: none;
overflow: hidden;
}
.sp {
visibility: hidden;
display: none;
overflow: hidden;
}

/* @group header */
header {
width: 100%;
height: 10vh;
margin: 0 auto;
position: fixed;
overflow: hidden;
z-index: 100;
  background-color: rgba(255,255,255,.3);
}
header h1 {
visibility: hidden;
display: none;
overflow: hidden;
}
#header_logo {
width: 10vh;
height: 10vh;
    margin: 0 1.8vw 0;
display: inline;
float: left;
overflow: hidden;
position: relative;
overflow: hidden;
}
#header_logo img {
height: 100%;
}

header nav {
  position: relative;
  top: 3.2vh;
  z-index: 900;
}

header dl {
  width: 100%;
  margin: 0;
  }
header dd {
  font-size: 2vh;
  line-height: 1em;

  display: inline;
    float: left;
  margin: 0 1vw 0 0;
  padding: .5vh 1vw;

  border-right: 1px solid rgb(52,1,0);
  border-top: 1px solid rgba(255,255,255,.8);
  border-bottom: 1px solid rgb(52,1,0);
  border-left: 1px solid rgba(255,255,255,.8);
  border-radius: 2vw 2vw;
background-image: linear-gradient(to left, rgba(52,1,0,1) 0%, rgba(103,65,64,1) 100%);
  }
header dd.current {
    background-image: linear-gradient(to left, rgba(220,5,12,1) 0%, rgba(220,5,12,.5) 100%) !important;
background-color: rgb(220,5,12) !important;}

header dd a {
    font-weight: bold;
text-decoration: none;
background-color: transparent;
}
header dd a:link {
color: rgb(255,255,255);
}
header dd a:visited {
color: rgb(255,255,255);
}
header dd a:active {
color: rgb(255,255,255);
outline: 0;
}
header dd a:hover {
color: rgb(255,255,255);
outline: 0;
}
/* @end */

#contents_box {
width: 100%;
min-width: 300px;
margin: 0 auto 4vh;
overflow: hidden;
position: relative;
}
.contents_block {padding: 4vh 0 !important;}

.text-box {
  width: 96%;
  max-width: 960px;
  padding: 0;
  margin: 0 auto;
}
.catch {
    width: 100%;
  max-width: 720px;
    margin: 10vh auto 4vh;
/*    border: 1px solid red;*/
}

.sub-catch {
color: rgb(7,12,71);
font-size: 3vh;
line-height: 1.8em;
font-weight: bold;
  
  max-width: 720px;
border-left: .2vw solid rgb(7,12,71);
padding: 2vh 1.8vw;
  margin: 16vh 0 2vh 0;
}
.lead {
color: rgb(255,255,255);
font-size: 2.4vh;
font-weight: bold;
line-height: 1.8em;
text-align: justify;
text-justify: inter-ideograph;

overflow: hidden;
position: relative;
display: block;
  max-width: 720px;
border-left: .2vw solid rgb(7,12,71);
padding: 2vh 1.8vw;
  margin: 0 0 4vh;
}
.bodytext {
font-size: 2.2vh;
font-weight: normal;
line-height: 2em;
text-align: justify;
text-justify: inter-ideograph;
  
  max-width: 720px;
    padding: 0 2vw;
margin: 2vh auto;
}
.bodytext-c {
font-size: 2.2vh;
font-weight: normal;
line-height: 2em;
text-align: center;
  
  max-width: 720px;
margin: 4vh auto 4vh;
}
.box-bodytext {
color: rgb(255,255,255);
font-size: 1.8vh;
font-weight: normal;
line-height: 1.8em;
text-align: justify;
text-justify: inter-ideograph;

  max-width: 720px;
margin: 2vh auto;
  padding: 2vh;
  border: 1px solid rgb(255,255,255);
}
.coverimg {
margin: 0 auto 0;
  width: 100%;
  text-align: center;
overflow: hidden;
display: block;
}
.coverimg source, .coverimg img {
  max-height: 640px;
  margin: 0 auto;
  padding: 0;
}
.sqimg {
margin: 0 auto 2vh;
width: 100%;
height: 0;
padding-bottom: 100%;
overflow: hidden;
display: block;
}
.catchimg {
width: 100%;
max-width: 1200px;
margin: 0 auto 2vh;
padding: 0%;
overflow: hidden;
position: relative;
display: block;
}
.boximg {
width: calc(100%/3);
max-width: 720px;
margin: 0 2vw 1em 0;
padding: 0;
display: inline;
  float: left;
}
.boximg-h {
width: calc(100%/2);
max-width: 720px;
margin: 0 0 1em 2vw;
padding: 0;
display: inline;
  float: right;
}

.inline-box {
position: relative;
width: 100%;
  margin: 0 auto 4vh;
}
.inline-box:before {
content: "";
display: block;
padding-top: 56.25%;
}
.inline-box iframe {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
.catchimg figcaption,.inline-box figcaption,.sqimg figcaption, .boximg figcaption, .boximg-h figcaption {
font-size: 1.8vh;
font-weight: normal;
line-height: 1.8em;
text-align: justify;
text-justify: inter-ideograph;
  padding: 2vh;
}
.catchimg img {
width: 100%;
}
.circleimg {
width: 80%;
height: auto;
  max-width: 300px;
  max-height: 300px;
  margin: 10% auto 0;
  background: rgba(120,120,120,.5);
border-radius: 50%;
  text-align: center;
}
.circleimg img {
/*    width: auto;*/
height: 100%;
}

.article_2box {
  width: 100%;
  margin: 0vh auto 4vh;
display: -ms-flexbox;
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-wrap: wrap;
  justify-content: space-between;
align-items: stretch;
  background-color: transparent;
}
.contents_2box {
  width: 48%;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
display: -webkit-flex;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  flex-direction: column;
}
.contents_3box {
  width: calc(98% / 3);
  margin: 0 1% 2vh 0;
  padding: 0 0 2vh;
}
.contents_3box:nth-child(3n) {
  margin: 0 0 2vh 0;
}

/* @group table */
table {
width: 90%;
margin: 0 auto 4vh;
overflow: hidden;
position: relative;
  background-color: rgb(103,65,64);
}
tr {
margin: 0;
overflow: hidden;
border-bottom: 1px solid rgb(250,250,250);
}
tr:nth-child(even){
background-image: radial-gradient(rgba(52,1,0,.8) 25%, transparent 0%),
  radial-gradient(rgba(52,1,0,.8) 25%, transparent 0%);
background-size: .5vh .5vh;
background-position: 0 0, .25vh .25vh;
}
th {
width: 36%;
color: #fff;
font-size: 2vh;
font-weight: bold;
line-height: 14px;
text-align: center;
vertical-align: middle;
overflow: hidden;
background-color: #f8b617;
border-bottom: 1px solid #fff;
}
td {
font-size: 2.2vh;
font-weight: normal;
line-height: 1.4em;
text-align: left;
vertical-align: middle;
overflow: hidden;
padding: 1vh 2vw;
}
tr:last-child {border-bottom: none;}
td:nth-child(odd) {
width: 72%;
}
td.w40 {width: 40%;}
td.w20 {width: 20%;}
/* @end */

.contents_2box ul{
font-size: 2.2vh;
font-weight: normal;
line-height: 2em;
text-align: justify;
text-justify: inter-ideograph;
  
margin: 0vh auto 4vh;
  overflow: hidden;
}
.contents_2box li{
  padding: 1vh 1.5vw;
  background-color: rgb(252,238,235);
  border-bottom: 1px dotted #aaa;
}
.contents_2box li:nth-child(1) {
font-size: 3vh;
font-weight: bold;
line-height: 1.5em;
  text-align: center;
  border-bottom: none;
}
.contents_2box li:nth-child(even){background-color: rgb(250,250,250);}

/*cover slider*/
.zoom {
      overflow: hidden;
    }
.zoom img {
width: 100%;
height: auto;
animation: animationZoom 10s ease-in-out infinite;
}
@keyframes animationZoom {
50% { transform: scale(1.1)}
}
.slider-txt {
color: rgb(255,255,255);
font-size: 6vh;
font-weight: bold;
line-height: 1.6em;
      text-shadow: rgb(7,12,71) 0 0 .5vh;
    
    width: 50%;

    position: absolute;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    top: 50%;
    left: 15%;

    z-index: 500;
}

#contentSL {
  position: relative;
  width: 100%;
}
#contentSL:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.slider {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

/* maps */
.gmaps {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}
.gmaps iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* forms */
.forms {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 720px;
    margin: 0;
    overflow: hidden;
}
.forms iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* init */
.background {
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  position: fixed;
  background-position: center center;
  opacity: 0;
-webkit-background-size: cover;
      background-size: cover;
-webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
      transition: all 0.5s ease 0s;
}
.show .background {
  opacity: 1;
}
.wrap {
  padding: 0 0;
  position: relative;
  overflow: hidden;
  z-index: 5;
}
/* design*/
#content01_bg {
  background-color: rgb(22,51,91);
/*    background-image: url(../images/oh_bg02.jpg);*/
}
#content02_bg {
  background-color: rgb(81,120,99);
}

#content01 .wrap {
  background-color: rgb(22,51,91);
    padding: 10vh 0;
}
#content02 .wrap {
background-image: radial-gradient(rgba(23,75,47,1) 25%, transparent 0%),
  radial-gradient(rgba(23,75,47,1) 25%, transparent 0%);
background-size: .5vh .5vh;
background-position: 0 0, .25vh .25vh;
    padding: 10vh 0;
}
#content03 .wrap {
  background-color: rgba(13,111,184,1);
    padding: 10vh 0;
}
#content04 .wrap {
    padding: 10vh 0;
}

/* text decorations */
.balloon{
  position: relative;
  padding: 20px;
  background-color: rgb(200,231,251);
  border-radius: 1vh;
    width: 96%;
    max-width: 720px;
    margin: 0 auto 4vh;
}
.balloon::before{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-radius: 50%;
  transform: rotate(45deg);
  left: 100px;
  top: -15px;
  border-left: 20px solid rgb(200,231,251);
  border-top: 20px solid rgb(200,231,251);
  border-right: 20px solid transparent;
  border-bottom: 20px solid transparent;
}
.balloon::after{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-radius: 50%;
  transform: rotate(45deg);
  left: 115px;
  top: -20px;
  border-left: 20px solid rgb(13,111,184);
  border-top: 20px solid rgb(13,111,184);
  border-right: 20px solid transparent;
  border-bottom: 20px solid transparent;
}

.headingA1 {
    width: 100%;
    color: rgb(255,255,255);
    font-size: 3.6vh;
    text-align: center;
  position: relative;
  display: inline-block;
  padding: 0 10vw;
}
.headingA1:before, .headingA1:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 5vw;
  height: 1px;
  background-color: rgb(255,255,255);
}
.headingA1:before {
  left: 0;
}
.headingA1:after {
  right: 0;
}

.headingA2 {
    width: 100%;
    font-size: 3vh;
    text-align: center;
  position: relative;
  line-height: 1.4em;
  padding: 0.25em 1em;
  display: inline-block;
  top:0;
}
.headingA2:before, .headingA2:after { 
  position: absolute;
  top: 0;
  content:'';
  width: 8px;
  height: 100%;
  display: inline-block;
}
.headingA2:before {
  border-left: solid 1px rgb(255,255,255);
  border-top: solid 1px rgb(255,255,255);
  border-bottom: solid 1px rgb(255,255,255);
  left: 10vw;
}
.headingA2:after {
  content: '';
  border-top: solid 1px rgb(255,255,255);
  border-right: solid 1px rgb(255,255,255);
  border-bottom: solid 1px rgb(255,255,255);
  right: 10vw;
}

.heading02 {
    width: 100%;
	position: relative;
	font-size: 5vh;
	text-align: center;
    padding: 0 0 2.5vh;
	border-bottom: .5vh solid rgb(81,120,99);
}
.heading02::after {
	content: '';
	position: absolute;
	bottom: -.5vh;
	left: 50%;
	transform: translateX(-50%);
	width: 10vw;
	height: .5vh;
	background-color: rgb(23,75,47);
}

.heading09 {
	font-size: 3vh;
    line-height: 2em;
    font-weight: bold;
    margin: 0 0 4vh;
    padding: 0 0 0 1.6vw;
}
.heading09::before {
	content: attr(data-en);
	display: block;
	color: rgba(13,111,184,1);
	font-size: 2vh;
}
.heading09::after {
	content: '';
	display: block;
	width: 5vw;
	height: 2px;
	height: 2px;
	background-color: rgba(13,111,184,1);
}

.heading09s {
	font-size: 2.6vh;
    line-height: 1.6em;
    font-weight: bold;
    margin: 0;
    padding: 0 1.6vw 0;
}
.heading09s::after {
	content: '';
	display: block;
	width: 5vw;
	height: 2px;
	background-color: rgb(200,231,251);
}

.heading15 {
	position: relative;
	padding-bottom: 4vh;
	font-size: 3vh;
    line-height: 1.2em;
	text-align: center;
}
.heading15::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 1vw;
	height: 1vw;
	background-color: #b99b00;
	border-radius: 1vw;
}

.fadein {
opacity: 0;
transition: all .2s;
}
.fadein.scrollin {
opacity: 1;
}

.btn_buy {
  max-width: 300px;
  margin: 0 auto 6vh;
}
a.btn_03 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  position: relative;
  background: rgb(13,111,184);
  border: 2px solid rgb(13,111,184);
  border-radius: 30px;
  box-sizing: border-box;
  padding: 0 45px 0 25px;
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
}
a.btn_03:before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: -6px;
}
a.btn_03:hover {
  background: #fff;
  color: rgb(13,111,184);
}
a.btn_03:hover:before {
  border-top: 2px solid rgb(13,111,184);
  border-right: 2px solid rgb(13,111,184);
}


.arc {
min-height: 50vh;
border-bottom-right-radius: 100% 50vh;
border-bottom-left-radius: 100% 30vh;
margin-left: -50%;
margin-right: -50%;
padding-left: 50%;
padding-right: 50%;
}

.hero {
position: relative;
}
/* video */
.video-box {
position: relative;
overflow: hidden;
width: 100%;
height: 100vh;
}
.video {
position: absolute;
top: 50%;
left: 50%;
min-width: 100%;
min-height: 100%;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
/* overlay */
.overlay::after {
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
height: 100%;
content: "";
/*  background: rgba(0,150,220, 0.4);*/
}
/* text */
.mvtext-box {
position: absolute;
top: 50%;
left: 50%;
width: 100%;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
background: rgba(0,150,220, 0.4);
}

/* @group footer */

footer {
width: 100%;
overflow: hidden;
}
.footer_contents {
width: 100%;
margin: 0 auto;
padding: 2vh 0 10vh;

display: flex;
flex-wrap: wrap;
justify-content: space-between;
overflow: hidden;
position: relative;
background-color: rgb(103,65,64);
}
#footer_left {
width: 65%;

display: flex;
justify-content: space-between;
align-items: center;
}
.footer_logo {
width: calc(100% /3);
text-align: center;
}
.footer_logo img {
height: 100%;
    max-height: 10vh;
}
#footer_right {
width: 30%;
padding: 1vh 0;
}
#footer_right dl {
width: 100%;
margin: 0 0 1.5vh;
}
#footer_right dd {
color: rgb(7,12,71);
font-size: 1.5vh;
line-height: 1.8em;
padding: 0;
}
#footer_right p {
color: rgb(250,250,250);
font-size: 1.5vh;
line-height: 1em;
}

/* @group footer_a */
#footer_right a {
text-decoration: none;
background-color: transparent;
}
#footer_right a:link {
color: rgb(7,12,71);
}
#footer_right a:visited {
color: rgb(7,12,71);
}
#footer_right a:active {
color: rgb(7,12,71);
outline: 0;
}
#footer_right a:hover {
color: rgb(7,12,71);
text-decoration: underline;
outline: 0;
}
/* @end */

/* @end */

/* @group Clearfix */
.clearfix:before, .clearfix:after {
content: "";
display: table;
}
.clearfix:after {
clear: both;
}
.clearfix {
zoom: 1;
}
/* @end */

@media screen and (max-width:767px) {
  .boximg,.boximg-h {width: 100%;}

#contentSL:before {
  padding-top: 100%;
}
#contents_box {
margin: 0 auto 4vh;
padding: 0 0 2vh;
-webkit-border-bottom-right-radius: 0;
-moz-border-bottom-right-radius: 0;
-ms-border-bottom-right-radius: 0;
-o-border-bottom-right-radius: 0;
border-bottom-right-radius: 0;
}
.slider-txt {
color: rgb(255,255,255);
font-size: 3vh;
font-weight: bold;
line-height: 1.6em;
    
    width: 70%;
    left: 15%;
}

.pc {
visibility: hidden;
display: none;
overflow: hidden;
}
.tb {
visibility: visible;
display: block;
}
.sp {
visibility: hidden;
display: none;
overflow: hidden;
}

}

@media screen and (max-width:479px) {
#page-top{
	min-height: 10vh;
	line-height: 10vh;
}
.large {font-size: 160% !important;}
    
#contentSL:before {
  padding-top: 56.25%;
}
.slick-prev:before, .slick-next:before {
    padding: 4vw !important;
}
.slick-next {
    right: 8vw;
}
.slider-txt {
color: rgb(255,255,255);
font-size: 3vh;
font-weight: bold;
line-height: 1.6em;
    
    width: 55vw;
    left: 10%;}

.contents_2box {
  width: 100%;
    margin: 0 auto 2vh;
}
.contents_3box {
  width: 96%;
  margin: 0 0 10vh;
  padding: 0;
}
.contents_3box:nth-child(3n) {
  margin: 0 0 10vh 0;
}

.heading15 {
	font-size: 24px;
    line-height: 1.4em;
}
.heading15::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 6px;
	height: 6px;
	background-color: #b99b00;
	border-radius: 6px;
}
.heading09, .heading09s {
    font-size: 20px !important;
}
.bodytext, .bodytext-c, td {
    font-size: 16px !important;
    line-height: 2em !important;
 }

.gmaps {
    width: 90%;
    margin: 0 auto;
  padding-top: 300px;
}
.forms {
  padding-top: 100vh;
}

.footer_contents {
flex-direction: column;
}
#footer_left {
width: 100%;
flex-direction: column;
justify-content: space-between;
align-items: center;
}
.footer_logo {
width: 100%;
margin: 2vh 0 2vh;
}
#footer_right {
width: 100%;
}
#footer_right dd {
font-size: 2.4vh;
line-height: 3em;
    text-align: center;
padding: 0 5% 0;
border-bottom: 1px dotted rgb(7,12,71);
}
#footer_right p {
font-size: 2vh;
line-height: 3em;
text-align: center;
}

.pc {
visibility: hidden;
display: none;
overflow: hidden;
}
.tb {
visibility: hidden;
display: none;
overflow: hidden;
}
.sp {
visibility: visible;
display: block;
}
}