@import url('https://fonts.googleapis.com/css2?family=BenchNine:wght@300;700&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(255,255,255);
	font-size: 2.2vh;
	color: rgb(46,41,48);
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    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-add {font-family: 'BenchNine', sans-serif;}
.tx_ud {
    text-decoration: underline;
    font-weight: bold;
}
.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(13,0,21) !important;
}
.tx_f-db {    -webkit-text-stroke: .2vw rgb(7,12,71);
    text-stroke: .2vw rgb(7,12,71);}
.tx_f-wt {    -webkit-text-stroke: 1px rgb(255,255,255);
    text-stroke: 1px rgb(255,255,255);}
.bg_pk {
	background-color: rgb(253,228,237) !important;
}
.bg_bg {
	background-color: #fdf3f0 !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(233,197,146,.8) !important;
}
.bg_eg {
	background-color: rgba(126,208,196,0.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%);
}
.bg_bl h1, .bg_bl p, .bg_gr h1, .bg_gr p {
	color: #333 !important;
}
.bg_box01 {
    background-color: rgb(7,12,71) !important;
    color: rgb(255,255,255);
    padding: .5vh;
    position: relative;
}
.bg_box01::after {
    content: "";
    border-color: rgb(7,12,71) rgba(255,255,255,1) rgba(255,255,255,1) rgb(220,5,12);
    border-style: solid;
    border-width: 0 0 24px 24px;
    bottom: 0;
    position: absolute;
    right: 0;
}
.bg_box02 {
    position: relative;
    padding: 1vh 2vw;
    margin: 0 0;
    background: rgb(252,238,235);
}
.bg_box02:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 4vw;
    border: 15px solid transparent;
    border-top: 20px solid rgb(252,238,235);
    width: 0;
    height: 0;
}
.bg_box03{
  background: rgba(7,12,71, 0.61);
  margin: 2em auto;
  padding: 25px;
  border-radius: 10px;
    max-width: 720px;

	color: rgb(255,255,255);
	font-size: 1.8vh;
	font-weight: normal;
	line-height: 1.8em;
	text-align: justify;
	text-justify: inter-ideograph;
}
.bg_box03-c1{
  font-size: 16px;
  line-height: 1.5;
  position: absolute;
  margin-top: -37px;
  font-weight: bold;
  color: rgb(7,12,71);
  background-color: rgb(252,238,235);
  border-radius: 50%;
  text-align: center;
  width: 24px;
  height: 24px;
}
.bg_box03-c1:after{
  content: "所";
  position: absolute;
  margin-top: .2em;
  font-weight: bold;
  color: rgb(7,12,71);
  background-color: rgb(252,238,235);
  border-radius: 50%;
  text-align: center;
  width: 24px;
  height: 24px;
}
.bg_box03-c2:before{
  content: "";
  position: absolute;
  top: 100%;
  margin-left: -12px;
  border: 5px solid transparent;
  border-top: 10px solid rgb(252,238,235);
  -ms-transform: rotate(-20deg);
  -webkit-transform: rotate(-20deg);
  transform: rotate(-20deg);
}
.bg_box03-c2{
  position: absolute;
  font-size: 16px;
  line-height: 1.5;
  margin-top: -37px;
  margin-left: 40px;
  font-weight: bold;
  color: rgb(7,12,71);
  background-color: rgb(252,238,235);
  border-radius: 50%;
  text-align: center;
  width: 24px;
  height: 24px;
}
.bg_box03-c2:after{
  content: "？";
  position: absolute;
  margin-top: .2em;
  font-weight: bold;
  color: rgb(7,12,71);
  background-color: rgb(252,238,235);
  border-radius: 50%;
  text-align: center;
  width: 24px;
  height: 24px;
}
/* @end */

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

/* @group page_top */
#page-top {
	width: 100%;
	height: 8vh;
	display: none;
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 900;
}
#page-top p {
	text-align: center;
	background: rgba(7,12,71,.5);
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}
#page-top p:hover {
	background: rgba(7,12,71,1);
}
#move-page-top {
	color: #fff;
	line-height: 8vh;
	text-decoration: none;
	display: block;
	cursor: pointer;
}
/* @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: 1vh;
    left: 1.8vh;
    z-index: 9000;
    padding: .5vw;

    border: 1px solid rgba(7,12,71,1);
    border-radius: .5vw .5vw;
  }
  #gnav-input:checked ~ #gnav-content {
    top: 0;
  }
  #gnav-content {
    position: fixed;
    top: -100%;
    left: 0;
    z-index: 900;
    transition: 0.3s;
    width: 100%;
  }
  .humb-menu__title {
      padding: 1.5rem;
      overflow: hidden
  }
  .humb-menu label {
    display: flex;
    justify-content: space-between;
    padding: 1.5rem;
    cursor: pointer;
    border-top: 0.5px solid rgba(200,200,200,1);
  }
  .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;
    display: block;
	overflow: hidden;
	z-index: 900;
}
#linkout dd {
	width: calc(60% / 3);
    max-width: 80px;
	padding: 1vw;
	display: inline;
	overflow: hidden;
	float: right;
}
#linkout dd figure {
	width: 100%;
    overflow: hidden;
	-webkit-border-radius: .5vw;
	-moz-border-radius: .5vw;
	-ms-border-radius: .5vw;
	-o-border-radius: .5vw;
	border-radius: .5vw;
}
#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;
    text-align: center;
	position: fixed;
	overflow: hidden;
	z-index: 6;
    border-bottom: .2vh solid rgba(255,255,255,.3);
    background-color: rgba(255,255,255,.3);
}
header h1 {
	visibility: hidden;
	display: none;
	overflow: hidden;
}
header figure {
	width: 100%;
	height: 100%;
}
#header_logo {
	position: relative;
	height: 90%;
    margin: .4vh auto 0;
	overflow: hidden;
}
#header_logo img {
	height: 100%;
}

header nav {
    position: absolute;
    top: 2vh;
    right: 1.8vh;
    z-index: 900;
}
header nav a {
    color: rgb(255,255,255);
	font-size: 5vh;
	line-height: 1em;

	margin: 0vh .25vw 0;
    padding: .5vw;

    border: 1px solid rgba(200,200,200,1);
    border-radius: .5vw .5vw;
  background-image: linear-gradient(to left, rgba(200,200,200,.2) 0%, rgba(255,255,255,.5) 100%);
}
/* @end */

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

.text-box {
    width: 96%;
    max-width: 960px;
    padding: 0;
    margin: 0 auto;
}
.catch {
	font-size: 4.6vh;
	line-height: 1.8em;
	font-weight: 900;
    
    max-width: 720px;
	padding: 2vh 0;
}
.catch-c {
	color: rgb(255,255,255);
	font-size: 4.2vh;
	line-height: 1.4em;
	font-weight: 900;
    text-align: center;
    
	padding: 2vh 1.8vw;
    text-shadow: 1px 1px rgb(0,0,0);
}
.catch-s {
	color: rgb(226,177,60);
	font-size: 3vh;
	line-height: 1.4em;
	font-weight: 900;
	text-align: justify;
	text-justify: inter-ideograph;
    
    max-width: 720px;
	padding: 2vh 0;
}
.sub-catch {
	font-size: 4vh;
	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 12vh;
}
.bodytext {
	font-size: 2.2vh;
	font-weight: normal;
	line-height: 2em;
	text-align: justify;
	text-justify: inter-ideograph;
    
    max-width: 720px;
	margin: 0 auto 2vh;
}
.bodytext-c {
	font-size: 2.2vh;
	font-weight: normal;
	line-height: 2em;
	text-align: center;
    
    max-width: 720px;
	margin: 0 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: 12vh auto 12vh;
    width: 100%;
    text-align: center;
	overflow: hidden;
	display: block;
}
.coverimg source, .coverimg img {
    max-height: 640px;
    margin: 0 auto;
    padding: 0;

border: 1vw solid rgb(255,255,255);
box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px;
}
.sqimg {
	margin: 0 auto 2vh;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
	overflow: hidden;
	display: block;
    border-radius: 1vh;
box-shadow: rgba(0, 0, 0, 0.18) 0px 2px 4px;
}
.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: 80%;
    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 0vh;
	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 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: 100%;
	margin: 0 auto 0;
	overflow: hidden;
	position: relative;
	border: 2px solid #f8b617;
    background-color: rgb(255,255,255);
}
tr {
	margin: 0;
	overflow: hidden;
}
tr:nth-child(even){background-color: rgb(250,250,250);}
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 {
	color: #333;
	font-size: 16px;
	font-weight: normal;
	line-height: 24px;
	text-align: left;
	vertical-align: middle;
	overflow: hidden;
	padding: 10px;
	border-bottom: 1px dotted #f8b61c;
}
td:nth-child(odd) {
	width: 72%;
}
/* @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);}

/*左右の矢印の色を変える*/
.slick-prev:before,
.slick-next:before {
    color: rgb(255,255,255);
    background: rgba(120,120,120,.8);
}
/*左右の矢印の位置を変える*/
.slick-next {
    right: 20px;
    z-index: 99;
}
.slick-prev {
     left: 15px;
    z-index: 100;
}
/*スライド数のドットの色を変える*/
.slick-dots li.slick-active button:before,
.slick-dots li button:before {
    color: #fff;
}
/*スライド画像の横幅可変*/
img {
    max-width: 100%;
    height: auto;
}

/* 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: 10vh 0;
    position: relative;
    overflow: hidden;
    z-index: 5;
}
/* design*/
#content02_bg {background-image: url(../images/bg-pc01.jpg); background-attachment: fixed; background-position: bottom center;
}
#content02_bg {background-image: url(../images/bg-pc01.jpg); background-attachment: fixed; background-position: bottom center;
}
#content03_bg {background-image: url(../images/bg-pc02.jpg); background-position: bottom center;}
#content04_bg {background-image: url(../images/bg-pc03.jpg); background-position: bottom center;}

#content01 .wrap { background-color: rgba(255,255,255,1);}
#content02 .wrap { background-color: rgba(197,208,214,.2);}
#content03 .wrap { background-color: rgba(126,208,196,0.2);}
#content04 .wrap { background-color: rgba(233,193,157,0.5);}

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

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

.btn_d01 {
    text-align: center;
    line-height: 1.4em;

    width: 100%;
    max-width: 300px;
    margin: 0 auto 8vh;
    padding: 2vh 1vw;
    color: #fff;
  border-radius: 102vh;
  background-image: -webkit-gradient(linear, right top, left top, from(rgb(126,208,196)), to(rgba(197,208,214,0.8)));
  background-image: -webkit-linear-gradient(right, 135,0,165) 0%, rgba(197,208,214,0.8) 100%);
  background-image: linear-gradient(to left, rgb(126,208,196) 0%, rgba(197,208,214,0.8) 100%);
}
.btn_d02 {
    font-size: 2.4vh;
    text-align: center;
    line-height: 1em;
    
    width: 80%;
    max-width: 540px;
    position: relative;
  overflow: hidden;
    padding: 2vh 1vw;
    margin: 2vh auto 4vh;
  border: 1vh solid rgb(233,197,146);
  border-radius: 100vh;

      background-image: -webkit-gradient(linear, right top, left top, from(rgb(233,193,157)), to(rgba(233,197,146,0.8)));
  background-image: -webkit-linear-gradient(right, 233,193,157) 0%, rgba(233,197,146,0.8) 100%);
  background-image: linear-gradient(to left, rgb(233,193,157) 0%, rgba(233,197,146,0.8) 100%);
}

/* @group footer */

footer {
	width: 100%;
	padding: 10vh 0 10vh;
	overflow: hidden;
}
.footer_contents {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;

	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	overflow: hidden;
	position: relative;
}

.footer_contents p {
	color: rgb(255,255,255);
	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(255,255,255);
}
#footer_right a:visited {
	color: rgb(255,255,255);
}
#footer_right a:active {
	color: rgb(255,255,255);
	outline: 0;
}
#footer_right a:hover {
	color: rgb(255,255,255);
	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%;}

.mv_wraps {
	width: 92%;
	padding: 0;
	margin: 2% 0 2% 4%;
	

/*padding-bottom: 56.25%;*/

	border: 1vw solid rgb(0,0,0);
	background-color: rgb(0,0,0);
}

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

.col_cont {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column-reverse;
	align-items: stretch;
}

.col_cont .col2_cont {
	width: 100%;
	padding: 0;
}

.bnr_a {
	width: 100%;
	max-width: 468px;
	margin: 0 auto;
	border: 1px solid rgb(220,220,220);
}

.bnr_b {
	width: 100%;
	max-width: 336px;
	margin: 0 auto;
	border: 1px solid rgb(220,220,220);
}

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

.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 {
	color: #333;
	font-size: 2vh;
	line-height: 3em;
	padding: 0 5% 0;
	border-bottom: 1px solid #eee;
}

#footer_right p {
	color: #333;
	font-size: 2vh;
	line-height: 3em;
	text-align: center;
}

.bnr_a {
	width: 100%;
	max-width: 336px;
	margin: 0 auto;
	border: 1px solid rgb(220,220,220);
}

.pc {
	visibility: hidden;
	display: none;
	overflow: hidden;
}

.tb {
	visibility: hidden;
	display: none;
	overflow: hidden;
}

.sp {
	visibility: visible;
	display: block;
}

}