﻿@charset "utf-8";

@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css);

/* Reset */

* {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	
}

.wrapper{
  overflow: hidden;
}

.f_bold{
  font-weight: bold;
}


/* PC */

#Navi{
 display:none;
}

body{
 margin:0;
 padding:0;
 
}

hr{
 display:block;
 unicode-bidi:isolate;
 margin-block-start:0.5em;
 margin-block-end:0.5em;
 margin-inline-start:auto;
 margin-inline-end:auto;
 overflow:hidden;
 border-style:inset;
 border-width:1px;
}

img {
 padding:0;
 font-size:0;
 line-height:0;
 max-width: 100%;
 vertical-align:bottom;
 backface-visibility: hidden;
 -webkit-backface-visibility: hidden;
}

h1,h2{
 font-size:28px;
 color:#221815;
 padding:20px 0;
 letter-spacing:2px;
 font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
h3{
 color:#221815;
 font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

p{
 font-size:16px;
 color:#221815;
 line-height:30px;
 letter-spacing:2px;
 font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

ul{
 color:#221815;
 list-style:none;
 font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

li{
  font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

a{
 text-decoration:none;
 color:#23b8c5;
}

table{
 color:#221815;
 border-collapse:collapse;
 font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.pc_none{
 display:none;
}

.pc_none2{
 display:none !important;
}

.sp_none{
 display:block;
}

.sp_none2{
 display:block !important;
}

.block_1000{
  display:none;
}

.tab_block{
  display:none;
}


/* header */

header{
 width:100%;
 position:fixed;
 top:0;
 z-index:200;
 background: #fff;
}

.head_r{
 width:100%;
 margin-left:auto;
}



.head_up{
  display: flex;
  position: relative;
  align-items: center;
  max-width: 1200px;
  height: 110px;
  margin: 0 auto;
  padding: 0 10px;
  box-sizing: border-box;
}

.h_logo{
  position: absolute;
  top: 0;
  left: 0;
}

.h_logo a{
	width: 154px;
	height:110px;
	background:#1e1000;
	display:flex;
	justify-content: center;
	align-items: center;
}

.h_logo p{
  font-size: 24px;
  font-weight: 600;
  vertical-align: middle;
}

.h_logo div:first-child p{
  font-size: 16px;
  line-height: 1em;
  margin-left: 3px;
}

.h_logo_txt{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  height: 0px;
  margin: 0 0 0 20px;
}

.h_logo_txt p{
  font-size: 11px;
  letter-spacing: 0;
  font-weight: 600;
}

.h_btn_l{
    display: flex;
    align-items: center;
    margin-left: auto;
    width: 85%;
}

.h_btn_l p{
  color:#fff;
}

.h_btn_l_btn_sub ul{
  display: flex;
  width: 280px;
  justify-content: space-between;
}

.h_btn_l_btn_sub ul li{
  background: #000;
  padding: 0 10px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 12px;
  letter-spacing: 2px;
}

.h_btn_l_btn_sub ul li:hover{
  background: #fff;
  color:#000;
  transition-duration: 0.6s;
}

.h_btn_l_btn{
  display: flex;
  width: 140px;
  margin: 0 0 0 30px;
}

.h_req a{
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  flex-direction: column;
  background: #f5c400;
  justify-content: center;
  align-items: center;
  width: 140px;
  height: 80px;
  margin: 0 0 0 30px;
  border-radius: 0 0 20px 20px;
}

.h_req a::after{
	content: "";
	position: absolute;
	width: 16px;
	height: 14px;
	background:url(../img/common/h_arrow.png) no-repeat;
	background-size: contain;
	bottom:0;
	left:auto;
	transform: translate(0,-50%);
}

.h_req:hover{
  background: #000;
  transition-duration: 0.6s;
}

.h_req p,.h_res p{
  padding: 0 0px;
  color: #000;
  font-size: 18px;
  font-weight: 400;
  line-height: 1em;
}

.h_req p {
  margin: 0px 0 10px;
  letter-spacing: 1px;
  text-align: center;
  font-weight: 600;
}

.h_req p span{
	font-size: 10px;
}

.h_res{
  display: flex;
  position: relative;
  flex-direction: column;
  background: url(../img/common/btn_reserve.png);
  justify-content: center;
  align-items: center;
  width: 140px;
  height: 40px;
  margin: 0 0 0 30px;
}

.h_res:hover{
  background: url(../img/common/btn_reserve_hover.png);
      transition-duration: 0.6s;
}

nav{
	width: 100%;
}

.menu{
	width: 100%;
	margin: 0 auto;
	padding: 0 10px;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

.head_r > nav{
  background: rgba(0,0,0,0.6);
}

nav ul{
  display: flex;
  flex-wrap: wrap;
  letter-spacing: 1.2px;
  width: 100%;
  margin-left: auto;
  max-width: 900px;
  font-size: 0.6em;
  table-layout: fixed;
  text-align: center;
}



nav ul li{
  	flex-grow: 1;
	width: 25%;
	position: relative;
	vertical-align: middle;
	height: 25px;
	font-size: 12px;
	font-weight: 100;
	letter-spacing: 0;
	border-left: 2px solid;
	margin: 0 0 10px;
	box-sizing: border-box;
}

nav ul li:nth-of-type(4){
	border-right: 2px solid;
}

nav ul li:nth-of-type(n + 5){
	margin:0;
}


nav ul li a{
  color: #000;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: inherit;
  width: 100%;
  vertical-align: middle;
  font-weight: 600;
}
/*
nav ul li a:hover{
  background: #00315b;
  transition-duration: 0.6s;
}
*/

.menu ul li a::after{
  position: absolute;
  left: 0;
  bottom: -5px;
  display: block;
  content: "";
  width: 0%;
  height: 1px;
  background: #000;
  transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.menu ul li a:hover::after{
  width: 80%;
  left:0;
  right:0;
  margin:auto;
}



section{
 box-sizing: border-box;
}

.content{
	max-width:1000px;
	margin:0 auto;
}


.info_text{
 margin:80px auto;
 margin-top:60px;
 max-width:900px;
}

.info_text img{
 max-width:100%;
 margin:0 auto;
}

.info{
 margin-bottom:40px;
}

.info_btn{
 max-width:600px;
 margin:0 auto;
 text-align: center;
}

/**/
.mv{
	margin:110px auto 0;
  position: relative;
}
.mv img{
		margin:0 auto;
		display: block;
    width:100%;
	}
.mv_mark{
  position: absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width: 27%;
  max-width: 465px;
}
.mv_mark div{
  position: absolute;
  z-index: 1;
}
.mv_mark div:nth-of-type(3){
  position: relative;
  z-index: 0;
}

.scroll{
  position: relative;
}
.scroll p{
  position: absolute;
  transform: rotate(90deg);
  top: 20px;
  left: calc((100vw - 1280px)/2);
  width: 100px;
  padding: 0 0 4px;
  animation: ani_scroll02 2.5s infinite;
}
.scroll p::before{
    content: "";
    background: #4a4a4a;
    width: 100px;
    height: 2px;
    bottom: -2px;
    position: absolute;
    /*animation: ani_scroll01 1.5s infinite;*/
}
.scroll p::after{
    content: "";
    position: absolute;
    animation: sdl 2.5s cubic-bezier(1, 0, 0, 1) infinite;
    height: 2px;
    width: 100px;
    left: 0;
    bottom: -2px;
    background: #eee;
}

@keyframes sdl {
  0% {
    transform: scale(0, 1);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 100% 0;
  }
  100% {
    transform: scale(0, 1);
    transform-origin: 100% 0;
  }
}

@keyframes ani_scroll01 {
	0% {
	  transform: translate(-5px, 0);
	  opacity: 0.5;
	}
	50% {
	  opacity: 1;
	}
	100% {
	  transform: translate(15px, 0);
	  opacity: 0.5;
	}
}

@keyframes ani_scroll02 {
	0% {
	  transform: translate(0, -5px) rotate(90deg);
	  opacity: 0.5;
	}
	50% {
	  opacity: 1;
	}
	100% {
	  transform: translate(0, 15px) rotate(90deg);
	  opacity: 0.5;
	}
}

/**/
.title01{
	position: relative;
  width: calc(1000px + ((100vw - 1000px)/2));
  margin-left: calc((100vw - 1020px)/2);
  margin-top: 180px;
  /*background: #23b8c5;*/
}
.title02{
	position: relative;
  width: calc(1000px + ((100vw - 1000px)/2));
  margin-right: calc((100vw - 1000px)/2);
  margin-top: 180px;	
  /*background: #23b8c5;*/
}

.h_question::before{
	content:"";
	position: absolute;
	background:url(../img/top/question.png) no-repeat;
	background-size: contain;
	width:492px;
	height:109px;
	left:0;
	bottom: 30px;
}

.h_partner::before{
	content:"";
	position: absolute;
	background:url(../img/top/partner.png) no-repeat;
	background-size: contain;
	width:492px;
	height:109px;
	right: 0;
	bottom: 30px;
}
.h_lineup::before{
	content:"";
	position: absolute;
	background:url(../img/top/lineup.png) no-repeat;
	background-size: contain;
	width:423px;
	height:134px;
	right: 0;
	bottom: 30px;
}
.h_merit::before{
	content:"";
	position: absolute;
	background:url(../img/top/merit.png) no-repeat;
	background-size: contain;
	width:330px;
	height:109px;
	left:0;
	bottom: 30px;
}
.h_voices::before{
	content:"";
	position: absolute;
	background:url(../img/top/voices.png) no-repeat;
	background-size: contain;
	width:410px;
	height:109px;
	right: 0;
	bottom: 30px;
}
.h_qa::before{
	content:"";
	position: absolute;
	background:url(../img/top/q&a.png) no-repeat;
	background-size: contain;
	width:278px;
	height:112px;
	left:0;
	bottom: 30px;
}
.h_contact::before{
	content:"";
	position: absolute;
	background:url(../img/top/contact_us.png) no-repeat;
	background-size: contain;
	width:672px;
	height:109px;
	right: 0;
	bottom: 30px;
}

/*
.palla_b{
	position: absolute;
	left:0;
	bottom: -30px;
}
.palla_b02{
	position: absolute;
  margin: 0 0 0 auto;
	right:0;
	bottom: -30px;
}
.partner_img{
  max-width:492px;
}
.lineup_img{
  max-width:423px;
}
.merit_img{
  max-width:330px;
}
.voice_img02{
  max-width:410px;
}
.qa_img{
  max-width:278px;
}
.contact_img{
  max-width:672px;
}
*/




.title01 h1,.title02 h1{
	position: relative;
    font-weight: 600;
    color: #ffff00;
	background: #23b8c5;
    padding: 10px 0;
}
.title01 h1 span:nth-of-type(1),.title02 h1 span:nth-of-type(1){
	display: inline-block;
    line-height: 1;
    margin: 0 20px 0 0;
}
.title01 h1{
	text-align: center;
    padding-right: calc((100vw - 1000px)/2);
    z-index: 2;
}
.title02 h1{
	text-align: center;
    padding-left: calc((100vw - 1000px)/2);
    z-index: 2;
}
/*
.title01 h1::before,.title02 h1::before{
	content: "";
    position: absolute;
    background: url(../img/top/title_mark.png) no-repeat;
    background-size: contain;
    width: 45px;
    height: 29px;
    left: 20px;
    top: 50%;
    transform: translate(0, -50%);
}
*/

/**/
.check_box{
	background:url(../img/top/check_bg.jpg) no-repeat;
	background-size: cover;
	background-position-y: center;
	padding: 70px 10px;
  background-size: 150%;
  background-position: center top;
}

.check_ul{
	position: relative;
  background: rgba(255,255,255,0.9);
  padding: 40px 20px;
  font-weight: 700;
  max-width: 855px;
  margin: 0px auto;
  text-align: center;
  display: block;
  box-sizing: border-box;
}

.check_ul::before{
	content: "";
    position: absolute;
    background: url(../img/top/check_bg_txt.png) no-repeat;
    background-size: contain;
    width: 15px;
    height: 84px;
    left: -13px;
    top: 0;
}

.check_ul::after{
	content: "";
    position: absolute;
    background: url(../img/top/check_bg_txt.png) no-repeat;
    background-size: contain;
    width: 15px;
    height: 84px;
    right: -13px;
    bottom: 0;
	transform: rotate(180deg);
}

.check_ul ul{ 
	position: relative;
	text-align: left;
    display: inline-block;
    line-height: 2.2em;
}


.check_ul ul li{ 
	position: relative;
	padding:0 0 0 30px;
  letter-spacing: 1px;
}
.check_ul ul li::before{
	content:"";
	position: absolute;
	background:url(../img/top/check_mark.png) no-repeat;
	background-size: contain;
	width:21px;
	height:21px;
	left:0;
	top:50%;
	transform: translate(0,-50%);
}

.check_ul ul li span{
	color:#cf1c3f;
}

.sec01_h2{
	background:url(../img/top/sec01_h_bg.png) no-repeat;
	background-size: contain;
	background-position: top;
	text-align: center;
  padding: 20px 10px;
  margin: 20px 0 0;
}

.sec01_h2 h2{
	display: inline-block;
    text-align: left;
    font-size: 22px;
    line-height: 1.8em;
    font-weight: 600;
    margin: 30px 0;
}

.sec01_txt{
	font-size: 15px;
    letter-spacing: 1px;
}
.sec01_txt span{
	font-size: 28px;
    font-weight: 600;
}
.sec01_answer{
  padding:0 10px;
}
.sec01_answer02{
	display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 40px 0 0;
}
.sec01_answer02 ul{
	margin: 10px 0 20px;
    font-size: 15px;
    font-weight: 600;
    line-height: 2em;
}
.sec01_answer02 ul li{
  background: linear-gradient(transparent 60%, #ffff00 60%);
  display: inline;
}
.sec01_answer02_txt{
	width:65%;
}
.ceo_img{
	width:30%;
}

.partner_map{
	padding:70px 10px 110px;
	text-align: center;
}

.sec_bg{
  background:#f8f8f6;
  padding: 60px 10px;
}


/**/
.pnm_box{
  position: relative;
  border: 5px solid #b9717f;
  border-radius: 20px;
  max-width: 1000px;
  margin: 0 auto;
  overflow: hidden;
}
.pnm_box div{
  position: absolute;
}
.pnm_box div:nth-of-type(3){

  animation-name: play04;
  animation-duration: 3s;
  animation-timing-function: cubic-bezier(0,0,.5,1);
  animation-iteration-count:infinite;
  z-index: 2;
  top: 26%;
  left: 45%;
}
.pnm_box div:nth-of-type(4){
  animation-name: play05;
  animation-duration: 3s;
  animation-timing-function: cubic-bezier(0,0,.5,1);
  animation-iteration-count:infinite;
  z-index: 2;
  top: 26%;
  left: 45%;
}
.pnm_box div:nth-of-type(5){
  animation-name: play06;
  animation-duration: 3s;
  animation-timing-function: cubic-bezier(0,0,.5,1);
  animation-iteration-count:infinite;
  z-index: 2;
  top: 26%;
  left: 45%;
}
.pnm_box div:nth-of-type(6){
  animation-name: play07;
  animation-duration: 3s;
  animation-timing-function: cubic-bezier(0,0,.5,1);
  animation-iteration-count:infinite;
  z-index: 2;
  top: 26%;
  left: 45%;
}

.pnm_box div:nth-of-type(7){
  position: relative;
  z-index: 0;
}

.movetext span{
  z-index: 2;
  top: 26%;
  left: 45%;
  overflow: hidden;
}


/**/
.sec_h3{
	position: relative;
  max-width: 1000px;
  margin: 60px auto;
  text-align: center;
  line-height: 2em;
  padding:0 10px;

}
.sec_h3::before{
	content:"";
	background:url(../img/top/title_mark02_l.png) no-repeat;
	background-size:contain;
	width:135px;
	height:120px;
	position: absolute;
	top: 0;
	left:0;
}
.sec_h3::after{
	content:"";
	background:url(../img/top/title_mark02_r.png) no-repeat;
	background-size:contain;
	width:135px;
	height:120px;
	position: absolute;
    top: 0;
	right:0;
}

.sec_h3 h3{
	font-size:18px;
	font-weight: 600;
  z-index: 10;
  position: relative;
  padding: 0 10px;
}

.house01_box{
	display:flex;
	align-items: flex-end;
  padding:0 10px;
}
.house01_txt{
	width:50%;
	background:#cbc5b7;
	padding:20px 15px;
}
.house01_txt p{
	font-size: 14px;
    letter-spacing: 1px;
    line-height: 1.5;
}
.house01_txt p span{
	font-size: 22px;
	font-weight: 700;
}
.house01_img{
	width:50%;
  position: relative;
  z-index: 10;
}

.point_box{
	margin: 60px auto;
  padding:0 10px;
}

.point_li{
	display:flex;
	max-width: 840px;
	width: 100%;
	border:2px solid #b9717f;
	margin: 0 auto 30px;
}
.point_num{
	display: flex;
    align-items: center;
    justify-content: center;
    width: 95px;
    background: #b9717f;
    padding: 5px 0;
}
.point_txt{
	width:100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.point_txt p{
	font-size: 18px;
	text-align: left;
	color: #b9717f;
}

.plus_box{
	display: flex;
  justify-content: space-between;
  max-width: 840px;
  margin: 20px auto 60px;
  padding:0 10px;
}
.plus_box > div{
	width:30%;
}
.stamp_box{
	max-width: 840px;
  margin: 40px auto 20px;
  padding:0 10px;
}
.stamp_box p{
	position: relative;
    text-align: center;
    font-size: 58px;
    color: #a5040e;
    line-height: 86px;
}
.stamp_box p::before{
	content:"";
	background:url(../img/top/border_point.png) no-repeat;
	background-size: contain;
	position: absolute;
	left:0;
	top:50%;
	transform:translate(0,-50%);
	width:48px;
	height:93px;
}
.stamp_box p::after{
	content:"";
	background:url(../img/top/border_point.png) no-repeat;
	background-size: contain;
	position: absolute;
	right:0;
	top:50%;
	transform: translate(0,-50%) scale(1,-1);
	width:48px;
	height:93px;
}

.stamp_box p span{
	display: inline-block;
    line-height: 1;
    margin: 0 20px 0 0;
    vertical-align: sub;
}


/**/

.sec_h3_02{
	position: relative;
    max-width: 1000px;
    margin: 0 auto 40px;
    text-align: center;
    line-height: 2em;

}
.sec_h3_02::before{
	content:"";
	background:url(../img/top/title_mark03_l.png) no-repeat;
	background-size:contain;
	width:135px;
	height:120px;
	position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0;
}
.sec_h3_02::after{
	content:"";
	background:url(../img/top/title_mark03_r.png) no-repeat;
	background-size:contain;
	width:135px;
	height:120px;
	position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: -20px;
}

.sec_h3_02 h3{
	font-size:18px;
	font-weight: 600;
  z-index: 10;
  position: relative;
}

.lineup_box{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: 100px auto 0;
  padding: 0 20px;
}
.lineup_img{
  position: relative;
  z-index: 5;
}
.lineup_img{
  position: relative;
  z-index: 5;
  min-height: 0%;
}
.lineup_img::before{
  z-index: 10;
}
.lineup_list{
  display: flex;
  flex-direction: column;
  position: relative;
  width:48%;
  margin: 0 0 60px;
}
.lineup_txt{
  padding: 15px;
  margin: 10px 0 0;
  min-height: 0%;
}
.lineup_txt p{
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0px;
  color:#fff;
}
.lineup_txt p:nth-of-type(1){
  font-size: 20px;
  font-weight: 600;
}
.lineup_txt p:nth-of-type(1) span{
  font-weight: 300;
}

.pure_h::before{
  content:"";
  position: absolute;
  background:url(../img/top/lineup01_h.png) no-repeat;
  background-size: contain;
  width:96px;
  height:68px;
  top: -15px;
  left: -15px;
}

.girly_h::before{
  content:"";
  position: absolute;
  background:url(../img/top/lineup02_h.png) no-repeat;
  background-size: contain;
  width:112px;
  height:62px;
  top: -15px;
  left: -15px;
}

.rock_h::before{
  content:"";
  position: absolute;
  background:url(../img/top/lineup03_h.png) no-repeat;
  background-size: contain;
  width:125px;
  height:46px;
  top: -15px;
  left: -15px;
}

.vintage_h::before{
  content:"";
  position: absolute;
  background:url(../img/top/lineup04_h.png) no-repeat;
  background-size: contain;
  width:165px;
  height:52px;
  top: -15px;
  left: -15px;
  
}

.bg_pure{
  background: #8b9d66 url(../img/top/lineup01_bg.png) no-repeat;
  background-size: 70%;
  background-position: top -10px left -20px;
}

.bg_girly{
  background: #b9717f url(../img/top/lineup02_bg.png) no-repeat;
  background-size: 70%;
  background-position: top -10px left -20px;
}

.bg_rock{
  background: #8995a5 url(../img/top/lineup03_bg.png) no-repeat;
  background-size: 70%;
  background-position: top -10px left 40px;
}

.bg_vintage{
  background: #9e8a64 url(../img/top/lineup04_bg.png) no-repeat;
  background-size: 70%;
  background-position: top -30px left -20px;
}


/**/
.merit_box{
  text-align: center;
  padding: 0 10px;
}
.merit_num{
  border-bottom: 1px solid;
  width: 105px;
  margin: 0 auto 20px;
  padding: 0 0 5px;
}
.merit_txt p:nth-of-type(1){
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 1px;
}
.merit_txt p:nth-of-type(2){
  font-size: 16px;
  line-height: 2em;
  margin: 20px 0 0;
  letter-spacing: 1px;
}
.merit_img01{
  display: flex;
  justify-content: space-between;
  margin: 40px auto 60px;
}
.merit_img01 li{
  width:32%;
}
.merit_img02{
  margin: 40px auto 60px;
}
.merit_img03{
  display: flex;
  justify-content: space-between;
  margin: 40px auto 60px;
}
.merit_img03 li{
  width:48%;
}

/**/
.voice_list{
  display:flex;
  justify-content: space-between;
  margin: 40px auto;
}
.voice_img{
  width:39%;
}
.voice_img img {
    position: relative;
    display: block;
    z-index: 10;
}
.voice_img > div{
  position: relative;
}
.voice_img > div::after{
  content: "";
  position: absolute;
  background: #23b8c5;
  right: -10px;
  bottom: -10px;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.voice_img > .voice02_img::after{
  content: "";
  position: absolute;
  background: #23b8c5;
  left: -10px;
  bottom: -10px;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.voice_img p{
  font-size: 12px;
  letter-spacing: 0;
  margin: 10px 0 0 10px;
}

.voice_txt{
  width:61%;
  box-sizing: border-box;
}
.voice_txt p:nth-of-type(1){
  font-size: 26px;
  letter-spacing: 1px;
  font-weight: 600;
  padding: 0 0 0px 40px;
  /* border-bottom: 1px solid; */
  margin: 0 0 10px;
}
.voice_txt p:nth-of-type(2){
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0px;
  padding: 10px 0px 0 40px;
  border-top: 1px solid;
}

.voice_txt02{
  width:61%;
  box-sizing: border-box;
}
.voice_txt02 p:nth-of-type(1){
  font-size: 26px;
  letter-spacing: 1px;
  font-weight: 600;
  padding: 0 0 0px 40px;
  /* border-bottom: 1px solid; */
  margin: 0 0 10px;
}
.voice_txt02 p:nth-of-type(2){
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0px;
  padding: 10px 40px 0 0;
  border-top: 1px solid;
}

/**/
.qa_box{
  margin: 60px auto;
  padding: 0 10px;
}
.qa_box li{
  display: flex;
  flex-direction: column;
  border: 1px solid #cbc5b7;
  margin: 0 0 40px;
}
.qa_list_q{
  width: 100%;
  position: relative;
  background: #cbc5b7;
  display: flex;
  height: 65px;
  justify-content: flex-start;
  align-items: center;
}
.qa_list_q::before{
  content: "";
  background: url(../img/top/q_mark.png) no-repeat;
  background-size: contain;
  position: absolute;
  width: 34px;
  height: 39px;
  left: 30px;
}

.qa_list_q p{
  padding: 20px 0 20px 100px;
  font-size: 18px;
  font-weight: 600;
}
.qa_list_a{
  width:100%;
  position: relative;
}
.qa_list_a::before{
  content: "";
  background: url(../img/top/a_mark.png) no-repeat;
  background-size: contain;
  position: absolute;
  width: 45px;
  height: 45px;
  top:20px;
  left: 25px;
}
.qa_list_a p{
  padding: 20px 40px 20px 100px;
  font-size: 14px;
  line-height: 1.8;
}

/**/
.mailform{
  padding:0 10px;
}
/*
.form_p01 p label{
  padding: 0 0 0 60px;
}
*/
.form_p02 p{
  font-size: 14px;
  letter-spacing: 1px;
  line-height: 1.5;
  text-align: left;
  padding: 0 10px;
}


/* Newマーク*/

/*
nav ul li:nth-child(1),nav ul li:nth-child(8){
    position: relative;
}

nav ul li:nth-child(1)::before,nav ul li:nth-child(8)::before{
    position: absolute;
    top: -10px;
    right: 0;
    left: 0;
    margin: 0 auto;
    content: "NEW";
    color: #fff;
    text-align: center;
    font-size: 10px;
    width: 45px;
    padding: 4px 0 0 0;
    height: 14px;
    line-height: 1;
    font-weight: 700;
    transform: scale(0.8);
    background: #00695f;
    letter-spacing: 2px;
}
*/


/* subhead */
.sub_head{
	position: relative;
}
.sub_head img{
	object-fit: cover;
    height: 400px;
    width: 100%;
}
.sub_head > div{
	position: absolute;
    width: 100%;
    font-size: 24px;
    letter-spacing: 4px;
    top: calc(50% + 60px);
    left: 50%;
    text-align: center;
    transform: translate(-50%,-50%);
}
.sub_head h1{
	color: #fff;
    /*font-family: "Cinzel";*/
    font-family: "Cormorant Garamond", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HiraMinProN-W3", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-weight: 100;
    font-size: 32px;
    letter-spacing: 3px;
    padding: 0 0 10px;
}

.sub_head p{
	color:#fff;
  line-height: 1.5em;
}


.sub_footer{
  max-width: 1200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 90px auto;
  padding: 0 20px;
}

.sub_footer img{
 max-width:100%;
}

.sub_f_l{
}

.sub_f_r{
 margin: 40px 0 0;
}

.cap{
 max-width:1240px;
 margin:0 auto;
 margin-bottom:50px;
 padding:0 20px;
}

.cap01{
	font-size: 12px;
    letter-spacing: 1px;
    line-height: 1.3;
    margin: 5px 0 0;
}

.cap p{
 font-size:10px;
 line-height:18px;
 color:#a3a3a3;
 text-align:left;
}


/* Footer */

footer{
  max-width: 100%;
  background: #23b8c5;
  padding: 40px 0;
  margin: 120px 0 0;

}

.footer_box{
  max-width: 1200px;
  margin: 0px auto;
  padding: 60px 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.f_req_res_box{
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 600px;
  margin: 0px auto;
  padding: 100px 0 0;
}

.f_req{
    display: flex;
    position: relative;
    flex-direction: column;
    background: url(../img/common/footer_btn_request.png);
    justify-content: center;
    align-items: center;
    width: 280px;
    height: 70px;
    margin: 0;
}

.f_res{
  display: flex;
  position: relative;
  flex-direction: column;
  background: url(../img/common/footer_btn_reserve.png);
  justify-content: center;
  align-items: center;
  width: 280px;
    height: 70px;
  margin: 0 0 0 30px;
}

.f_req:hover{
  background: url(../img/common/footer_btn_request_hover.png);
  transition-duration: 0.6s;
}

.f_res:hover{
  background: url(../img/common/footer_btn_reserve_hover.png);
  transition-duration: 0.6s;
}

.f_req p, .f_res p {
    padding: 0 0px;
    color: #fff;
    font-size: 18px;
    letter-spacing: 6px;
    font-weight: 400;
    line-height: 1em;
}

.link_box{
  width: 40%;
  padding-right: 60px;
}

.bnr_area{
  margin: 80px auto 40px;
  text-align: center;
  width: 100%;
  padding: 40px 0;
}

.bnr_area ul{
  padding:0 10px;
}

.bnr_area ul a:hover{
  opacity: 0.6;
  transition-duration: 0.6s;
}

.bnr_area ul li{
  margin:0 0 30px;
}

.bnr_area ul li:last-of-type{
  margin:0;
}

.link_box ul{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 14px;
  font-weight: bold;
}

.link_box ul li{
  margin: 0 10px 5px 0;
  padding: 0 10px 0 0;
}

#common_footer,#top_footer{
  background-position: center;
}

.footer_logo{
  margin: 0 0 5px 0.6em;
}

.footer_logo p{
  font-size: 24px;
  font-weight: 600;
  vertical-align: middle;
}

.footer_logo div:first-child p{
  font-size: 16px;
  font-weight: 600;
  line-height: 1em;
  margin-left: 2px;
}

.footer_company_info p{
  text-align: right;
  line-height: 20px;
  letter-spacing: 0;
  font-weight: bold;
  display: inline-block;
}

.footer_copy{
 max-width:1240px;
 padding:0 20px;
 margin:0 auto;
}

footer p{
  font-size: 12px;
  font-weight: 300;
  line-height: 26px;
  text-align: center;
  color: #fff;
}

footer img{
 margin:20px 0;
}

.footer_cap ul{
  max-width: 1200px;
  margin: 0 auto;
  color: #c6c6c6;
  font-size: 10px;
  padding: 0 10px 50px;
}

.cap_box{
  margin:50px auto !important;
  padding:0 10px;
}

.cap_box p{
  font-size: 10px;
  line-height: 18px;
  color: #a3a3a3;
  text-align: left;
}
.cap_form01{
  font-size: 10px;
  letter-spacing: 1px;
  line-height: 1.5;
  padding: 0 10px;
  text-align: left;
}

/* common */

.w49{
 width:49%;
}

.txt_l{
 text-align:left;
}

.bor_b{
 border-bottom:dashed 1px;
}

.w100{
 width:100%;
}

.m_b50{
 margin-bottom:50px;
}

.m_b40{
 margin-bottom:40px;
}

.m_t20{
 margin-top:20px;
}

.btn_form{
    position: fixed;
    top:0;
    visibility: hidden;
    pointer-events: none;
}

.fadeIn {
  opacity: 0.5;
  /*transform: scale(0.9);*/
  transition-duration: 1s;
}
.fadeIn.is-show {
  opacity: 1;
  /*transform: scale(1.0);*/
  transition-duration: 1s;
}

.fadeIn_t {
  opacity: 0.5;
  /*transform: scale(0.9);*/
  transform: translateY(10px);
  transition-duration: 1s;
}
.fadeIn_t.is-show {
  opacity: 1;
  /*transform: scale(1.0);*/
  transform: translateY(0);
  transition-duration: 1s;
}

.fadeIn_t02 {
  opacity: 0.5;
  /*transform: scale(0.9);*/
  transform: translateY(10px);
  transition-duration: 1s;
  transition-delay:0.2s;
}
.fadeIn_t02.is-show {
  opacity: 1;
  /*transform: scale(1.0);*/
  transform: translateY(0);
  transition-duration: 1s;
  transition-delay:0.2s;
}

.fadeIn_t03 {
  opacity: 0.5;
  /*transform: scale(0.9);*/
  transform: translateY(10px);
  transition-duration: 1s;
  transition-delay:0.4s;
}
.fadeIn_t03.is-show {
  opacity: 1;
  /*transform: scale(1.0);*/
  transform: translateY(0);
  transition-duration: 1s;
  transition-delay:0.4s;
}

.fadeIn_t04 {
  opacity: 0.5;
  /*transform: scale(0.9);*/
  transform: translateY(10px);
  transition-duration: 1s;
  transition-delay:0.6s;
}
.fadeIn_t04.is-show {
  opacity: 1;
  /*transform: scale(1.0);*/
  transform: translateY(0);
  transition-duration: 1s;
  transition-delay:0.6s;
}

.fadeIn_t05 {
  opacity: 0.5;
  /*transform: scale(0.9);*/
  transform: translateY(10px);
  transition-duration: 1s;
  transition-delay:0.8s;
}
.fadeIn_t05.is-show {
  opacity: 1;
  /*transform: scale(1.0);*/
  transform: translateY(0);
  transition-duration: 1s;
  transition-delay:0.8s;
}

.fadeIn_t06 {
  opacity: 0.5;
  /*transform: scale(0.9);*/
  transform: translateY(10px);
  transition-duration: 1s;
  transition-delay:1s;
}
.fadeIn_t06.is-show {
  opacity: 1;
  /*transform: scale(1.0);*/
  transform: translateY(0);
  transition-duration: 1s;
  transition-delay:1s;
}


.fadeIn_01 {
  opacity: 0;
  /*transform: scale(0.9);*/
  transition-duration: 0.5s;
  transition-delay:1.2s;
}
.fadeIn_01.is-show {
  opacity: 1;
  /*transform: scale(1.0);*/
  transition-duration: 0.5s;
  transition-delay:1.2s;
}

.fadeIn_02 {
  opacity: 0;
  transform: scale(0.9);
  transition-duration: 0.5s;
  transition-delay:1.9s;
}
.fadeIn_02.is-show {
  opacity: 1;
  transform: scale(1.0);
  transition-duration: 1s;
  transition-delay:1.9s;
}

.fadeIn_03 {
  opacity: 0;
  transform: translateY(10px);
  transition-duration: 0.5s;
  transition-delay:2.1s;
}
.fadeIn_03.is-show {
  opacity: 1;
  transform: translateY(0px);
  transition-duration: 1.5s;
  transition-delay:2.1s;
}

.fadeIn_s {
  opacity: 0;
  transform: scale(0.9);
  transition-duration: 1.5s;
}
.fadeIn_s.is-show {
  opacity: 1;
  transform: scale(1.0);
  transition-duration: 1.5s;
}

.fadeIn_s02 {
  opacity: 0;
  transform: scale(0.95);
  transition-duration: 1.5s;
}
.fadeIn_s02.is-show {
  opacity: 1;
  transform: scale(1.0);
  transition-duration: 1.5s;
}

.fadeIn_l {
  opacity: 0;
  transform: translateX(-20px);
  transition-duration: 1.5s;
}
.fadeIn_l.is-show {
  opacity: 1;
  transform: translateX(0px);
  transition-duration: 1.5s;
}
.fadeIn_r {
  opacity: 0;
  transform: translateX(20px);
  transition-duration: 1.5s;
}
.fadeIn_r.is-show {
  opacity: 1;
  transform: translateX(0px);
  transition-duration: 1.5s;
}
.fadeIn_r02 {
  opacity: 0;
  transform: translateX(20px);
  transition-duration: 1.5s;
  transition-delay:0.3s;
}
.fadeIn_r02.is-show {
  opacity: 1;
  transform: translateX(0px);
  transition-duration: 1.5s;
  transition-delay:0.3s;
}
.fadeIn_b {
  opacity: 0;
  transform: translateY(20px);
  transition-duration: 1.5s;
}
.fadeIn_b.is-show {
  opacity: 1;
  transform: translateY(0px);
  transition-duration: 1.5s;
}
.fadeIn_b02 {
  opacity: 0;
  transform: translateY(5px);
  transition-duration: 1s;
}
.fadeIn_b02.is-show {
  opacity: 1;
  transform: translateY(0px);
  transition-duration: 1s;
}


#link_question01,#link_partner,#link_question02,#link_lineup,#link_merit,#link_voices,#link_qa,#link_contact{
  display:block;
  margin-top: -40px;
  padding-top: 40px;
}



@keyframes play {
  from {
    transform: translate(-100%, -47%);
    
  }
  
  to {
    transform: translate(0, -47%);
  }
}

@keyframes play02 {
  from {
    transform: translate(100%, -47%);
    
  }
  
  to {
    transform: translate(0, -47%);
  }
}

@keyframes play03 {
  from {
    transform: translate(0, 50%);
    
  }
  
  to {
    transform: translate(0, 0);
  }
}

@keyframes play04 {
  0% {
    opacity:0.1;
    transform:scale(0.9);
    
  }
  
  50% {
    opacity:1;
    transform:scale(1);
  }

  100% {
    opacity:1;
    transform:scale(1);
    
  }
}

@keyframes play05 {
  0% {
    opacity:0.1;
    transform:scale(0.8);
    
  }
  
  50% {
    opacity:1;
    transform:scale(1);
  }

  100% {
    opacity:1;
    transform:scale(1);
    
  }
}

@keyframes play06 {
  0% {
    opacity:0.1;
    transform:scale(0.7);
    
  }
  
  50% {
    opacity:1;
    transform:scale(1);
  }

  100% {
    opacity:1;
    transform:scale(1);
    
  }
}

@keyframes play07 {
  0% {
    opacity:0.1;
    transform:scale(0.6);
    
  }
  
  50% {
    opacity:1;
    transform:scale(1);
  }

  100% {
    opacity:1;
    transform:scale(1);
    
  }
}

@keyframes play08 {
  from {
    transform: translate(0, 50%);
    
  }
  
  to {
    transform: translate(0, 0);
  }
}


@keyframes maskOut {
  from {
    transform: translateX(0);
  }
  
  to {
    transform: translateX(100%);
  }
}

/*
.h_box {
  width: 100%;
  height: auto;
  margin: 0 0 2% 0;
  overflow: hidden;
}

.h_box02 {
  width: 100%;
  height: auto;
  margin: 0 0 2% 0;
  overflow: hidden;
}

*/
.h_box_bg::before{
  opacity: 0;
}
.h_box .h_box_bg {
  /*width: inherit;
  height: inherit;
  line-height: 200px;
  font-size: 1.5em;
  text-align: center;
  color: #555;
  background-color: #fff;
  padding: 10px 0;
  opacity: 0;*/
  
}
.h_box02 .h_box_bg02 {
  /*width: inherit;
  height: inherit;
  line-height: 200px;
  font-size: 1.5em;
  text-align: center;
  color: #555;
  
  opacity: 0;
  */
}

/*
.isPlay {
  animation-name: play;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0,0,.5,1);
  position: relative;
  opacity: 1 !important;
}
.isPlay02 {
  animation-name: play02;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0,0,.5,1);
  position: relative;
  opacity: 1 !important;
}
*/


.isPlay::before{
  animation-name: play03;
  animation-duration: 1.5s;
  animation-timing-function: cubic-bezier(0,0,.5,1);
  animation-fill-mode: forwards;
  opacity: 1;
}

.isPlay02::before{
  animation-name: play03;
  animation-duration: 1.5s;
  animation-timing-function: cubic-bezier(0,0,.5,1);
  animation-fill-mode: forwards;
  opacity: 1;
      margin: 0 0 0 10px;
}

/*
.isPlay {
  animation-name: play;
  animation-duration: .5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0,0,.5,1);
  position: relative;
  opacity: 1 !important;
}
*/

@media (max-width: 1220px){
.scroll p {
  left: -10px;
}
}

@media (max-width: 1200px){

.menu{
  padding:0;
}


}

@media (max-width: 1100px){
.menu ul{
  max-width: 840px;
}

}

@media (max-width: 1000px){

.menu{
  padding:0;
}

.menu ul{
  max-width: 810px;
}

.menu ul li{
  font-size: 11px;
}


.h_question::before {
    width: 360px;
    height: 73px;
    bottom: 45px;
}
.h_partner::before {
    width: 330px;
    height: 73px;
    bottom: 45px;
}
.h_lineup::before {
    width: 230px;
    height: 73px;
    bottom: 40px;
}
.h_merit::before {
    width: 221px;
    height: 73px;
    bottom: 45px;
}
.h_voices::before {
    width: 275px;
    height: 73px;
    bottom: 45px;
}
.h_qa::before {
    width: 181px;
    height: 73px;
    bottom: 45px;
}
.h_contact::before {
    width: 450px;
    height: 73px;
    bottom: 45px;
}

.title01{
  width:100%;
  margin-left:auto;
}
.title02{
  width:100%;
  margin-right:auto;
}

.title01 h1{
  padding-right: 0;
  font-size: 20px;
}

.title02 h1{
  padding-left: 0;
  font-size: 20px;
}

.check_ul ul{
  font-size: 15px;
}
.question01_sp{
  margin-top: 110px !important;
}

.sec01_h2 h2{
  font-size: 18px;
  margin: 20px 0;
}

.sec01_txt {
    font-size: 14px;
    letter-spacing: 0;
}
.sec01_txt span {
    font-size: 22px;
    font-weight: 600;
}

.sec_h3 h3 {
    font-size: 16px;
}

.house01_txt p span {
    font-size: 18px;
}

.house01_txt p {
    font-size: 13px;
}

.point_txt p {
    font-size: 15px;
}
.stamp_box p {
    font-size: 40px;
}
.stamp_box p span {
    max-width: 90px;
}
.sec_h3_02 h3 {
    font-size: 16px;
}
.lineup_txt p:nth-of-type(1) {
    font-size: 16px;
}
.lineup_txt p {
    font-size: 13px;
    line-height: 1.6;
}

.merit_txt p:nth-of-type(1) {
    font-size: 22px;
}
.merit_txt p:nth-of-type(2) {
    font-size: 14px;
}

.voice_txt p:nth-of-type(1) {
    font-size: 20px;
    padding: 0 0 10px 30px;
    margin: 0 0 15px;
}

.voice_txt p:nth-of-type(2) {
    font-size: 13px;
    padding: 0 0 0 30px;
}
.voice_img p {
    font-size: 11px;
    line-height: 1.5;
    margin: 15px 0px 0 10px;
}
.voice_txt02 p:nth-of-type(1) {
    font-size: 20px;
    padding: 0 30px 10px 0;
    margin: 0 0 15px;
}
.voice_txt02 p:nth-of-type(2) {
    font-size: 13px;
}

.qa_list_q p {
    font-size: 15px;
    letter-spacing: 1px;
}
.qa_list_a p {
    font-size: 13px;
}

.block_1000{
    display:block;
}

.cap01 {
    font-size: 11px;
}

}


/* スマホ */

@media (max-width: 960px){
 .sp_none{
  display:none;
 }
 
 .pc_none{
  display:block;
 }
 
header{
 height:60px;
}

.h_logo{
  position: relative;
  top: auto;
  left: auto;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: #1e1000;
  height: 80px;
  width: 100px;
}

.h_logo img {
    height: auto;
}

.h_logo > div{
    max-width: 70px;
    margin: 0 auto;
}

.h_logo > div:nth-child(2){
  margin:2px 0 0;
}

.h_logo div:first-child p {
    font-size: 12px;
    line-height: 1em;
    margin-left: 3px;
}

.h_logo p {
    font-size: 19px;
    font-weight: 600;
    vertical-align: middle;
}

.mobile_nav{
 display: flex;
 justify-content: flex-start;
 align-items: center;
 background:#fff;
 height:80px;
 border-bottom: 1px solid #00315b;
}

#gloval-nav ul li:nth-child(1) a{
	border-top:none;
}

.gnav ul{
 width:100%;
 display: flex;
 flex-wrap: wrap;
 letter-spacing: 3px;
 text-indent: 3px;
}

.gnav ul li{
 width: 50%;
  border-right: 1px solid #b7b7b7;
  box-sizing: border-box;
  letter-spacing: 1px;
}

	
#global-nav ul {
	list-style: none;
	position: absolute;
	right: 0;
	bottom: 0;
	font-size: 14px;
}
#global-nav ul li {
  float: left;
}
#global-nav ul li a {
  padding: 0 30px;
}
/* Toggle Button */
#nav-toggle {
  display: none;
  position: absolute;
  right: 20px;
  top: 27px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 101;
}
#nav-toggle div {
  position: relative;
}
#nav-toggle span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #000;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
  top: 0;
}
#nav-toggle span:nth-child(2) {
  top: 11px;
}
#nav-toggle span:nth-child(3) {
  top: 22px;
}
	
#global-nav {
    position: absolute;
    /* 開いてないときは画面外に配置 */
    top: -500px;
    background: #00243d;
    width: 100%;
    text-align: center;
    padding: 10px 0;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
  }
#global-nav ul {
    list-style: none;
    position: static;
    right: 0;
    bottom: 0;
    font-size: 14px;
    width:100%;
    padding:2px 0;
  }
#global-nav ul li {
    float: none;
    position: static;
  }
#top-head #global-nav ul li a, #top-head.fixed #global-nav ul li a {
    width: 100%;
    display: block;
    color: #fff;
    padding: 18px 0;
  }
#nav-toggle {
    display: block;
  }
  /* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }
.open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
.open #nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }
  /* #global-nav スライドアニメーション */
.open #global-nav {
    -moz-transform: translateY(589px);
    -webkit-transform: translateY(589px);
    transform: translateY(589px);
  }
.open #global-nav ul li {
    margin: 10px;
  }
.logo01 {
    display: flex;
    max-width: 320px;
    justify-content: center;
    align-items: center;
    width: 79%;
    /* margin-left: 28px; */
    height: 85px;
    z-index: 500;
    background: #fff;
    padding: 3px 0 1px 8px;
  }


#gloval-nav {
  background-color: rgba(111,111,111,0.9);
  color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  display: flex;
  visibility: hidden;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 29px;
  opacity: 0;
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  margin-top: -419px;
  width: 100%;
}
.open #gloval-nav {
  visibility: visible;
  opacity: 1;
  -moz-transform: translateY(500px);
  -webkit-transform: translateY(500px);
  transform: translateY(500px);
}
#top-head .inner {
  position: relative;
}
/* Fixed */
#top-head.fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
  height: 80px;
  background: #fff;
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
}
#top-head.fixed .logo {
  font-size: 24px;
  color: #333;
}
#top-head.fixed #global-nav ul li a {
  color: #333;
  padding: 0 20px;
}
#gloval-nav ul a {
  color: #fff;
  font-size: 12px;
  padding: 20px 0;
  display: block;
  border-bottom:1px solid #b7b7b7;
}
#gloval-nav ul a:nth-child(8){
		border-bottom:1px solid;
	}


/*

#gloval-nav ul li:nth-child(1) a,#gloval-nav ul li:nth-child(8) a{
  position: relative;
}

#gloval-nav ul li:nth-child(1) a::before,#gloval-nav ul li:nth-child(8) a::before{
  position: absolute;
  top: 5px;
  left: 50%;
  margin: 0 auto;
  content: "NEW";
  color: #fff;
  text-align: center;
  font-size: 10px;
  width: 45px;
  padding: 2px 0 0 0;
  height: 1.2em;
  line-height: 1em;
  font-weight: 700;
  transform: scale(0.8) translate(-50%,0);
  background: #00695f;
  letter-spacing: 2px;
  text-indent: 2px;
}
*/

.mv {
    margin: 80px auto 0;
}



.sub_head > div {
    font-size: 24px;
    letter-spacing: 4px;
    top: calc(50%);
}
.sub_head {
    margin: 80px auto 0;
}
.sub_head p {
    font-size: 14px;
}

.sub_head img {
    height: 320px;
}




/**/

.sub_mv{
 display:none;
}

.sub_mv img{
 display:none;
}


.sub_mv_sp{
 background:#4c4c4c;
 padding:40px 20px;
 max-width:100%;
}

.sub_mv_sp img{
 display:block;
 margin:0 auto;
 max-width:100%;
}

/*


.sub_head {
    margin: 80px auto 0;
}

.sub_head img {
    width: 100%;    
    height: 200px;
}

*/

.btn_form{
    position: fixed;
    top:auto;
    bottom: 0;
    width: 100%;
    visibility: visible;
    pointer-events: all;
}

.btn_form a{
    flex-direction: column;
    background: #f5c400;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 60px;
    display: flex;
    position: relative;
}
.btn_form a::after{
  content: "";
  position: absolute;
  width: 16px;
  height: 14px;
  background: url(../img/common/h_arrow.png) no-repeat;
  background-size: contain;
  top: 50%;
  right: 10px;
  transform: translate(0,-50%);
}
.btn_form a p{
  line-height: 1;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 4px;
}
.btn_form a p span{
  font-size: 12px;
  margin: 0 0 5px;
  display: inline-block;
  letter-spacing: 1px;
}


.sec_h3::before,.sec_h3::after,.sec_h3_02::before,.sec_h3_02::after{
  opacity:0.3;
  transition-duration: 0.6s;
}



footer{
	padding: 15px 10px;
}


}


@media (max-width: 768px){
  /*
 h1,h2{
  font-size:23px;
 }
 */
 .tab_block{
  display:block;
 }
 
 .tab_none{
  display:none;
 }
 
 .sp_none{
  display:none;
 }

 .scroll p {
    left: 0px;
    top: -10px;
    width: 50px;
    padding: 0 0 4px;
}

.scroll p::before {
    width: 50px;
}
.scroll p::after {
    width: 50px;
}
 .scroll p img{
    width: 35px;
 }

 .check_box{
  padding: 70px 20px;
 }


 

}

@media (max-width: 650px){

.info_btn img{
 max-width: 200px;
}

.pc_none2{
 display:block !important;
}

.sp_none2{
  display: none !important;
}

.block_1000{
  display:none;
}

.tab_block{
  display:none;
}

header{
 height:60px;
}

.mv_mark {
  width: 55%;
}

#gloval-nav ul a {
  font-size: 11px;
}


.head_background{
 height:60px;
}

.h_partner::before {
    width: 221px;
    height: 49px;
    bottom: 45px;
}
.h_question::before {
    width: 241px;
    height: 49px;
    bottom: 45px;
}
.h_lineup::before {
    width: 155px;
    height: 49px;
    bottom: 40px;
}
.h_merit::before {
    width: 148px;
    height: 49px;
    bottom: 45px;
}
.h_voices::before {
    width: 184px;
    height: 49px;
    bottom: 45px;
}
.h_qa::before {
    width: 122px;
    height: 49px;
    bottom: 45px;
}
.h_contact::before {
    width: 300px;
    height: 49px;
    bottom: 45px;
}

.title01,.title02{
  margin-top:90px;
}

.sec_bg {
    padding: 30px 10px;
}

.sec01_h2 {
    background: url(../img/top/sec01_h_bg_sp.png) no-repeat;
    background-size: contain;
    background-position: top;
    text-align: center;
    padding: 20px 10px;
    margin: 20px 0 0;
}
.question01_sp::before{
  bottom: 70px !important;
}

.title01 h1 span:nth-of-type(1), .title02 h1 span:nth-of-type(1) {
    display: inline-block;
    line-height: 1;
    margin: 0 10px 0 0;
    width: 34px;
}

.check_box {
    padding: 70px 20px;
    background-size: 500%;
}

.check_ul ul {
    font-size: 14px;
}

.check_ul ul li {
    padding: 0 0 0 30px;
    line-height: 1.5;
    margin: 0 0 10px;
}
.sec01_h2 h2 {
    font-size: 16px !important;
    padding: 5px 0;
}
.sec01_h2 h2 span{
  font-size:16px !important;
}
.sec01_txt {
    font-size: 13px;
    letter-spacing: 0;
    line-height: 1.9;
}
.sec01_answer02 {
    flex-direction: column;
    align-items: flex-end;
    margin: 20px 0 0;
}
.sec01_answer02 ul {
    margin: 10px 0 20px;
    font-size: 14px;
    line-height: 1.5;
}
.sec01_answer02 ul li{
  margin: 0 0 10px;
}
.sec01_answer02_txt {
    width: 100%;
}
.ceo_img {
    width: 50%;
    margin: 20px 0;
}
.sec_h3 {
    margin: 30px auto 40px;
}
.sec_h3 h3 {
    font-size: 15px;
    line-height: 1.8;
    padding: 0;
}
.sec_h3_02 h3 {
    font-size: 15px;
    line-height: 1.8;
}
.sec_h3::before {
    left: -40px;
}
.sec_h3::after {
    right: -40px;
}
.house01_box {
    flex-direction: column;
}
.house01_txt {
    width: 100%;
    order: 2;
    padding: 20px 15px;
    box-sizing: border-box;
}
.house01_img {
    width: 100%;
}

.point_txt {
    padding: 20px 10px;
}
.point_num {
    width: 75px;
}
.point_num img{
  width: 30px;
}
.point_txt p {
    font-size: 14px;
    line-height: 1.4;
}
.plus_box {
    flex-wrap: wrap;
    justify-content: center;
}
.plus_box > div {
    width: 43%;
    margin: 0px 10px;
}
.stamp_box p {
    font-size: 30px;
    line-height: 41px;
}
.lineup_box {
    margin: 50px auto 0;
}
.lineup_list {
    width: 100%;
    margin: 0 auto 60px;
}
.lineup_list_last{
  margin: 0 auto 30px;
}
.lineup_txt p:nth-of-type(1) {
    font-size: 15px;
}
.sec_h3_02::before{
  left:-20px;
}
.sec_h3_02::after{
  right: -50px;
}

.merit_img01 {
    flex-wrap: wrap;
    justify-content: center;
    margin: 20px auto 40px;
}
.merit_img02 {
    margin: 20px auto 40px;
}
.merit_img01 li {
    width: 43%;
    margin: 10px;
}
.merit_img03 {
    flex-direction: column;
    margin: 20px auto 40px;
}
.merit_img03 li {
    width: 80%;
    margin: 0 auto 20px;
}
.merit_txt p:nth-of-type(1) {
    font-size: 18px;
    line-height: 1.6;
}
.merit_txt p:nth-of-type(2) {
    font-size: 13px;
    text-align: left;
    line-height: 1.8;
    margin: 10px 0 0;
}

.voice_list {
    flex-direction: column;
    margin: 0px auto 40px;
}
.voice_img {
    width: 90%;
    margin: 0 auto;
}
.voice_txt {
    width: 90%;
    margin: 20px auto 0;
    box-sizing: border-box;
}
.voice_txt p:nth-of-type(1) {
    font-size: 18px;
    line-height: 1.5;
    padding: 0 0 5px;
    margin: 0;
}
.voice_txt p:nth-of-type(2) {
    font-size: 13px;
    padding: 5px 0 0;
}
.voice_txt02 {
    width: 90%;
    margin: 20px auto 0;
    order: 2;
}
.voice_txt02 p:nth-of-type(1) {
    font-size: 18px;
    line-height: 1.5;
    padding: 0 0 5px;
    margin: 0 0 5px;
}
.voice_txt02 p:nth-of-type(2) {
    font-size: 13px;
    padding: 5px 0 0;
}
.voice_img > .voice02_img::after {
    left: auto;
}

.qa_box {
    margin: 30px auto;
}
.qa_box li {
    margin: 0 0 20px;
}
.qa_list_q p {
    padding: 20px 0 20px 70px;
    line-height: 1.5;
    font-size: 14px;
}
.qa_list_q::before {
    left: 20px;
}
.qa_list_a::before {
    left: 12px;
}
.qa_list_a p {
    padding: 20px 20px 20px 70px;
    line-height: 1.7;
}
/*

.sub_head img {
    width: 100%;    
    height: 120px;
}

.sub_head_txt h1 {
    font-size: 20px;
}

.sub_head_txt p {
    font-size: 10px;
    letter-spacing: 1px;
    margin: 5px 0 0;
}

*/

.footer_box{
	flex-direction: column;
    justify-content: center;
}
.bnr_area {
  margin: 60px auto 20px;
  padding: 20px 0;
}
.bnr_area ul li {
  margin: 0 0 20px;
}
.link_box {
    width: 100%;
	padding:0;
}
.link_box ul {
    font-size: 13px;
    font-weight: bold;
    justify-content: center;
}
.link_box ul li{
	margin: 0 auto !important;
    border-right: none;
    padding: 0 10px;
}
.footer_company{
	margin:20px 0 0;
}



.mv{
 margin-top: 80px;
}

/*
h1,h2{
 font-size:22px;
}
*/
a{
 color:#000;
 
}

section{
 margin-bottom:50px;
}

.sp_none{
 display:none;
}

.title01 h1 {
    font-size: 18px;
    padding: 10px;
    letter-spacing: 1px;
}



#Sp_btn{
 position:absolute;
 left:23px;
 top:23px;
 width:30px;
 height:20px;
 background:url(../img/sp_menu.png) no-repeat left top;
 background-size:30px;
 z-index:100;
 cursor:pointer;
}

#Sp_Close{
 font-size:32px;
 color:#000;
 width:30px;
 height:30px;
 text-align:center;
 line-height:30px;
 cursor:pointer;
 position:fixed;
 right:5px;
 top:65px;
 z-index:120;
 display:block;
}

#Navi{
 width:100%;
 position:fixed;
 top:0;
 left:0;
 margin:0;
 margin-top:65px;
 background:rgba(255,255,255,0.9);
 z-index:110;
}


.w49{
 width:100%;
}

.m_b40{
 margin-bottom:30px;
}


.pagetop{
  background: url(../img/page_top.png) no-repeat;
  background-color: rgba(35,184,197,0.8);
  background-size: 40px !important;
  position: fixed;
  bottom: 75px;
  right: 10px;
  width: 40px;
  height: 40px;
  color: #000;
  border: 1px solid #1d929c;
  border-radius: 50%;
  cursor: pointer;
  z-index: 120;

}

.pagetop a{
 padding:10px;
}


.f_req_res_box{
  flex-direction: column;
  padding: 60px 0 0;
}
.f_req{
  margin: 0;
}
.f_res{
  margin: 20px 0px 0 0px;
}

.btn_menu{
 flex-direction:column;
 margin-bottom:20px;
}

.btn_menu li:nth-child(1){
 margin-right:auto;
 margin-bottom:20px;
 
}


.sub_footer{
 align-items:center;
 flex-direction:column;
 margin:50px auto;
}

.sub_f_l{
 margin-right:0;
}

.sub_f_r{
 margin-left:0;
 margin-top:20px;
}

.footer_box{
  padding: 50px 10px 30px;
	flex-direction: column;
    justify-content: center;
}
.link_box {
    width: 100%;
	padding:0;
}
.link_box ul {
    font-size: 13px;
    font-weight: bold;
    justify-content: center;
}
.link_box ul li{
	margin: 0 10px 10px 0;
}
.footer_company{
	margin:50px 0 0;
}

.footer_logo{
  margin: 0;
}

.footer_logo div:first-child p {
  font-size: 14px;
}

.footer_logo img{
  display: block;
  margin: 0 auto 5px;
  max-width: 270px;
}

.footer_logo p {
  font-size: 22px;
}

.footer_company_info p {
  font-size: 12px;
}

footer p {
  font-size: 10px;
  line-height: 16px;
  padding: 10px 0;
}

#link_question01,#link_partner,#link_question02,#link_lineup,#link_merit,#link_voices,#link_qa,#link_contact{
  display:block;
  margin-top: -35px;
  padding-top: 35px;
}

.isPlay::before{
  margin: 0 10px 0 0;
}

.isPlay02::before{
  margin: 0 0 0 10px;
}


}

@media all and (-ms-high-contrast:none){

body{
 font-family:"Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
}

h1,h2,h3,p,ul,li,a,table{
 font-family:"Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
}


.pnm_box div:nth-of-type(3){
  top: 17%;
  left: 40%;
}
.pnm_box div:nth-of-type(4){
  top: 17%;
  left: 40%;
}
.pnm_box div:nth-of-type(5){
  top: 17%;
  left: 40%;
}
.pnm_box div:nth-of-type(6){
  top: 17%;
  left: 40%;
}

}



