@charset "UTF-8";
/************************
common
************************/
*, *::before, *::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
}
body {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
	font-size: 1.6rem;
	font-weight: 400;
	background-color: #f5f5f5;
}
img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	margin: auto;
}
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
ul {
	list-style: none;
}
a {
	color: #fff;
	text-decoration:none;
	transition: all 0.3s ease-in-out 0s;
}
a:hover {
	opacity: 0.5;
	text-decoration:none;
}
button:hover {
	opacity: 0.5;
}
.scrollin {
    opacity: 0;
    transform: translateY(60px);
    -webkit-transition: 0.6s cubic-bezier(0, 0.29, 0.79, 0.99) all;
    transition: 0.6s cubic-bezier(0, 0.29, 0.79, 0.99) all;
}
.scrollin_02 {
    opacity: 0;
    transform: translateY(90px);
    -webkit-transition: 0.6s cubic-bezier(0, 0.29, 0.79, 0.99) all;
    transition: 0.6s cubic-bezier(0, 0.29, 0.79, 0.99) all;
}
.scrollin_03 {
    opacity: 0;
    transform: translateY(120px);
    -webkit-transition: 0.6s cubic-bezier(0, 0.29, 0.79, 0.99) all;
    transition: 0.6s cubic-bezier(0, 0.29, 0.79, 0.99) all;
}
.scrollin.down {
	transform: translateY(-20px);
	-webkit-transition: 0.3s cubic-bezier(0, 0.29, 0.79, 0.99) 0.3s all;
	transition: 0.3s cubic-bezier(0, 0.29, 0.79, 0.99) 0.3s all;
}
.fadein {
    opacity: 1;
    transform: translateY(0);
}
.center {
	text-align: center;
}
.left {
	float: left;
}
.right {
	float: right;
}
.pc {
	display: inherit;
}
.sp {
	display: none;
}
.inner {
	width: 1000px;
	margin: auto;
}
.en {
	font-family: 'Oswald', sans-serif;
}
h2 {
	text-align: center;
	font-size: 3.6rem;
	font-weight: 500;
	margin-bottom: 40px;
}
h2 span {
	display: block;
	font-family: 'Oswald', sans-serif;
	font-size: 1.8rem;
}
/************************
loading
************************/
#loading {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background: #000;
	pointer-events: none;
    z-index: 9999;
    opacity: 1;
	transition: 1.2s ease-in-out;
	/*transition: 1.2s cubic-bezier(0.19, 1, 0.22, 1);*/
}
.loading_logo {
    position: absolute;
    width: 56px;
    height: 44px;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    transform: translateY(-50%);
}

/************************
youtube背景動画
************************/
#header {
	position: relative;/*ローディング画像などを表示す際の基点とするため指定*/
    height: 100vh;/*高さを全画面にあわせる*/
    text-align: center;
    color: #fff;
    /*ローディング画面時＆動画が表示されないときに表示する背景画像のレスポンシブ化*/
    background: url("../img/header_logo.png") no-repeat;
    background-size: cover;
}
/*ローディングアイコン設定
#loading {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
    font-weight: bold;
}*/

/*jQueryで付与されたdisappearクラスがついたらロゴエリアを非表示*/
#loading.disappear{
     /*display: none;*/
	 opacity: 0;   
}

/* youtube設定 */
#youtube-area{
    position: fixed;
    z-index: -10;/*最背面に設定*/
    top: 0;
    right:0;
    left:0;
    bottom:0;
    overflow: hidden;
 	opacity: 0;    
}
/*jQueryで付与されたappearクラスがついたらYoutubeエリアをふわっと表示*/
#youtube-area.appear {
	animation-name:PageAnimeAppear;
	animation-duration:.5s;
	animation-fill-mode:forwards;
}

@keyframes PageAnimeAppear{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}

#youtube {
/*天地中央配置*/
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
/*縦横幅指定*/
  width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
  height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
  min-height: 100%;
  min-width: 100%;
}

/*youtubeがクリックされないためのマスク*/
#youtube-mask{
    position: absolute;
    z-index: 2;/*下から2番目に表示*/
    top:0;
    width:100%;
    height: 100%;
}

/*youtube 上のロゴ 
h1{
  position:absolute;
  z-index: 2;/*下から2番目に表示*/
/*天地中央配置
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
/*色指定
  color:#fff;
  text-shadow: 0 0 15px #666;
}*/

/*下のコンテンツ*/
/*#container{
	/*relativeを指定してfixed指定をした#youtube-areaの上に表示*/
    /*position: relative;*/
    /*z-index: 3;/*一番上に表示*/
    /*見た目の調整*/
	/*background:#333;
	color: #fff;
	padding:300px 0;
	text-align: center;
}*/

/************************
cta
************************/
#cta {
	color: #fff;
	background-color: #000;
	padding: 60px 0;
}
#cta h3 {
	font-size: 3.0rem;
	margin-bottom: 20px;
}
#cta h4 {
	font-size: 1.8rem;
}
.cta_list {
	display: flex;
}
.cta_item {
	width: 48%;
	border: solid 1px #fff;
	padding: 30px;
	margin: 10px 20px;
}
.tel {
	display: inline-block;
	font-family: 'Oswald', sans-serif;
	font-size: 4.8rem;
	font-weight: 500;
	position: relative;
	padding-left: 42px;
    background: url(../img/cta_tel_icon.png) no-repeat center left / 32px;
}

/*.tel::before {
	content: url(../img/cta_tel_icon.png);
	display: inline-block;
    vertical-align: middle;
	position: absolute;
	width: 32px;
	height: 40px;
	top: 0;
	left: 24px;
	bottom: 28px;
	margin: auto;
}*/
.tel_box {
	text-align: center;
}
.tel_box p {
	font-size: 1.4rem;
}
.cta_btn {
	position: relative;
}
.cta_btn a {
	position: relative;
	width: 400px;
	height: 80px;
    text-align: center;
    background: #ccff00;
	box-shadow: 0px 4px 0px 0px #5d7400;
	font-size: 2.3rem;
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
    color: #000;
	padding: 20px 0px;
	border-radius: 100vh;
	margin-top: 15px;
	display: inline-block;
	transition: all 0s ease-in-out 0s;
}
.cta_btn a:hover {
	top: 4px;
	box-shadow: 0px 0px 0px 0px #5d7400;
	opacity: 1;
}
.cta_btn a::before {
	content: url(../img/cta_mail_icon.png);
	display: inline-block;
    vertical-align: middle;
	position: absolute;
	width: 26px;
	height: 20px;
	top: 0;
	left: 30px;
	bottom: 18px;
	margin: auto;
}
.cta_btn a::after {
	content: url(../img/cta_arrow.png);
	display: inline-block;
    vertical-align: middle;
	position: absolute;
	width: 10px;
	height: 14px;
	top: 0;
	right: 30px;
	bottom: 32px;
	margin: auto;
}

/************************
header
************************/
header {
	background-color: #000;
	color: #fff;
	height: 80px;
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 100;
}
.header_list {
	display: flex;
	position: relative;
}
.header_logo {
	margin-right: 20px;
	margin-left: 30px;
	padding: 18px 0;
}
.header_menu {
	display: flex;
    align-items: center;
	font-size: 1.3rem;
	margin-left: 25px;
	padding: 30px 0;
}
.header_cta {
	display: inline-block;
	text-align: center;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
}
.header_cta a {
	height: 80px;
    text-align: center;
    background: #ccff00;
	font-size: 2.8rem;
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	line-height: 2.8rem;
    position: relative;
    color: #000;
    display: block;
	padding: 8px 50px 8px 40px;
	display: table-cell;
    vertical-align: middle;
}
.header_cta a span {
    display: block;
	font-size: 1.9rem;
}
.header_cta a::before {
	content: url(../img/header_arrow.png);
	display: inline-block;
    vertical-align: middle;
	position: absolute;
	width: 14px;
	height: 20px;
	top: 0;
	right: 20px;
	bottom: 12px;
	margin: auto;
}
/************************
mv
************************/
#mv {
	position: relative;
	padding: 100px 0 140px;
}
h1 {
	font-size: 7.0rem;
	color: #fff;
}
h1 span {
	font-size: 3.6rem;
	color: #ccff00;
	background-color: #000;
	padding: 10px 60px;
}
.mv_subcopy {
	color: #fff;
	font-size: 2.4rem;
	font-weight: 700;
	margin-top: 40px;
}
.mv_cta {
	display: inline-block;
	margin: 60px auto 0;
	text-align: center;
}
.mv_cta a {
	width: 450px;
	height: 100px;
    text-align: center;
    background: #ccff00;
	font-size: 2.8rem;
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	line-height: 2.8rem;
    position: relative;
    color: #000;
	padding: 18px 0px;
	display: table-cell;
    vertical-align: middle;
}
.mv_cta a span {
    display: block;
	font-size: 1.9rem;
}
.mv_cta a::before {
	content: url(../img/mv_arrow.png);
	display: inline-block;
    vertical-align: middle;
	position: absolute;
	width: 14px;
	height: 20px;
	top: 0;
	right: 20px;
	bottom: 12px;
	margin: auto;
}
.movie_cover {
	position: absolute;
    left: 0;
    bottom: -2px;
    top: auto;
    z-index: 2;
    background-position: center bottom;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    content: "";
    padding-top: 10%;
    background-image: url(../img/movie_cover.png);
}
/************************
works
************************/
#works {
	background-color: #f5f5f5;
	padding: 80px 0 100px;
}
.works_list {
	display: flex;
	flex-wrap: wrap;
	margin: 70px 40px 0;
}
.works_item {
	width: 400px;
	margin-bottom: 100px;
}
.works_item:nth-child(2n) {
	margin-left: 120px;
}
.works_item:last-child {
	margin-bottom: 0;
}
.works_txt h3 {
	text-align: center;
	margin: 20px 0 15px;
}
.works_txt p {
	font-size: 1.4rem;
	text-align: justify;
}
.works_tag_basic, .works_tag_standard, .works_tag_premium {
	display: inline-block;
	font-family: 'Oswald', sans-serif;
	color: #000;
	font-size: 1.6rem;
	padding: 2px 24px;
    margin-bottom: 5px;
}
.works_tag_basic {
	background-color: #ccff00;
}
.works_tag_standard {
	background-color: #00f0ff;
}
.works_tag_premium {
	background-color: #fcff00;
}
.movie {
	position: relative;
	width: 100%;
}
.movie:before {
	content:"";
	display: block;
	padding-top: 56.25%;
}
.movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/************************
user
************************/
#user {
	background-color: #f5f5f5;
	padding: 80px 0;
}
.user_item {
	display: flex;
	margin-bottom: 30px;
}
.user_item:nth-child(2) figure, .user_item:nth-child(4) figure, .user_item:nth-child(6) figure {
	order: 2;
}
.user_txt {
	background-color: #fff;
	width: 700px;
	height: 240px;
	padding: 20px 40px;
	display: flex;
	flex-direction: column;
    justify-content: center;
}
.user_txt:nth-child(2), .user_txt:nth-child(4), .user_txt:nth-child(6) {
	order: 1;
}
.user_txt h3 {
	font-size: 1.6rem;
	margin-bottom: 15px;
}
.user_txt p {
	font-size: 1.4rem;
	display: inline-block;
	vertical-align: middle;
}
/************************
features
************************/
#features {
	color: #fff;
	padding: 80px 0;
	background: url(../img/features_bg.jpg) center top;
    background-size: cover;
}
.features_list {
	width: 84%;
	margin: 0 auto;
}
.features_item {
	display: flex;
	margin-bottom: 70px;
}
.features_item:last-child {
	margin-bottom: 0;
}
.features_item figure {
	margin-right: 40px;
}
.features_item:nth-child(2n) figure {
	order: 2;
	margin-left: 40px;
}
.features_txt {
	width: 600px;
}
.features_txt:nth-child(2n) {
    order: 1;
}
.features_txt h3 {
	color: #ccff00;
	font-size: 2.4rem;
	line-height: 4.4rem;
	margin-bottom: 20px;
	padding: 2px 13px;
    background-color: #000;
    display: inline;
}
.features_txt p {
	font-size: 1.4rem;
	margin-top: 20px;
}
/************************
flow
************************/

#flow {
	background-color: #f5f5f5;
	padding: 80px 0;
}
.flow_list {
	 display: flex;
	 flex-wrap: wrap;
}
.flow_item {
	width: 300px;
	margin-right: 50px;
}
.flow_item:nth-child(2),.flow_item:nth-child(5) {
	margin-top: 70px;
}
.flow_item:nth-child(3n) {
	margin-top: 140px;
	margin-right: 0;
}
.flow_img {
	position: relative;
}
.flow_number {
	font-family: 'Oswald', sans-serif;
	color: #ccff00;
	font-size: 2.4rem;
	background-color: #000;
    padding: 6px 0;
    width: 50px;
    height: 50px;
    text-align: center;
	display: block;
    position: absolute;
    top: 0;
	right: 0;
    bottom: 200px;
	left: 0;
    margin: auto;
}
.flow_txt h3{
	text-align: center;
	font-size: 2.4rem;
	margin: 20px 0;
}
.flow_txt p {
	text-align: justify;
	font-size: 1.4rem;
	font-weight: 400;
	padding: 0 22px;
}
/************************
price
************************/
#price {
	color: #fff;
	padding: 80px 0;
	background: url(../img/price_bg.jpg) center top;
    background-size: cover;
}
.price_list {
	display: flex;
	flex-wrap: wrap;
	margin-top: 100px;
}
.price_item {
	width: 300px;
	padding: 25px;
	margin-right: 50px;
	border: solid 1px #eee;
}
.price_item:nth-child(2) {
	position: relative;
	border: solid 4px #eee;
}
.price_item:last-child {
	margin-right: 0;
}
.price_item h3, .price_options h3 {
	font-family: 'Oswald', sans-serif;
	text-align: center;
	font-size: 3.6rem;
	font-weight: 500;
}
.price_item h3 span, .price_options h3 span {
	display: block;
	font-size: 1.6rem;
	font-weight: 700;
}
.recommend {
	text-align: center;
	font-size: 2.0rem;
	color: #3a3c2b;
	background-color: #eee;
	font-weight: 700;
	display: block;
    position: absolute;
    left: -4px;
    top: -40px;
    width: 300px;
    padding: 2% 0;
}
.price_basic {
	color: #ccff00;
}
.price_standard {
	color: #00f0ff;
}
.price_premium {
	color: #fcff00;
}
.price_name {
	font-family: 'Oswald', sans-serif;
    text-align: center;
    font-size: 4.0rem;
    font-weight: 500;
}
.price_name span {
    font-size: 1.4rem;
}
.price_btn {
	margin: 20px 0;
}
.price_btn:hover {
	opacity: 0.5;
}
.price_options {
	border: solid 1px #eee;
	padding: 40px 120px;
	margin-top: 50px;
}
.price_txt {
	font-size: 1.4rem;
	line-height: 2.4rem;
}
.price_txt_basic, .price_txt_standard, .price_txt_premium {
	position: relative;
	margin-left: 30px;
}
.price_txt_basic::before, .price_txt_standard::before, .price_txt_premium::before {
	display: inline-block;
    vertical-align: middle;
	position: absolute;
	width: 21px;
	height: 17px;
	left: -30px;
	top: 0;
	margin: auto;
}
.price_txt_basic::before {
	content: url(../img/price_basic_check.png);
}
.price_txt_standard::before {
	content: url(../img/price_standard_check.png);
}
.price_txt_premium::before {
	content: url(../img/price_premium_check.png);
}
.option_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
.option_item {
	margin-right: 120px;
	margin-bottom: 20px;
}
.option_item figure {
	display: flex;
	align-items: center;
}
.option_item:nth-child(4), .option_item:nth-child(7){
	margin-right: 0;
}
.option_item p {
	font-size: 1.4rem;
}
/************************
messeage
************************/
#messeage {
	background-color: #fff;
	padding: 80px 0;
}
.ceo_img {
	margin-right: 40px;
}
.messeage_wrap {
	display: flex;
	align-items: center;
	width: 84%;
	margin: 0 auto;
}
.messeage_txt {
	width: 50%;
}
.company_name {
	font-size: 1.2rem;
}
.ceo_name {
	font-size: 1.8rem;
	margin-bottom: 20px;
}
.ceo_name span {
	font-size: 1.2rem;
}
.ceo_messeage {
	text-align: justify;
	font-size: 1.4rem;
	margin-bottom: 40px;
}
.ceo_works {
	font-size: 1.2rem;
}
/************************
faq
************************/

#faq {
	background-color: #f5f5f5;
	padding: 80px 0;
}
.accordion_header {
	position: relative;
	text-align: left;
	color: #000;
	font-size: 1.6rem;
	font-weight: bold;
	padding: 20px 70px 20px 0;
	z-index: +1;
	cursor: pointer;
	transition-duration: 0.2s;
	border-bottom: solid 1px #030000;
}
.accordion_inner {
	position: relative;
	display: none;
	font-size: 1.4rem;
	padding: 20px 70px 40px 0;
}
.accordion_header p,.accordion_inner p {
	display: flex;
	align-items: center;
}
.accordion_header span, .accordion_inner span {
	flex-shrink: 0;
	display: inline-block;
	width: 50px;
	height: 50px;
	text-align: center;
	border-radius: 50%;
	background: #000;
	color: #fff;
	font-size: 2.4rem;
	line-height: 5rem;
	font-family: 'Oswald', sans-serif;
	margin-right: 20px;
}
.accordion_inner span {
	color: #ccff00;
}
  /* 開閉状態を示すアイコン+の作成 */
  .accordion_header::before, .accordion_header::after {
	content: '';
	width: 20px;
	height: 2px;
	background: #000;
	position: absolute;
	top: 50%;
	right: 1%;
	transform: translateY(-50%);
}
  /* 一本は縦にして+を作る */
.accordion_header::after {
	transform: translateY(-50%) rotate(90deg);
	transition: .5s;
}
  /* アコーディオンが開いたら縦棒を横棒にして-にする */
  .accordion_header.open::after {
	transform: translateY(-50%) rotate(0);
}

/************************
contact
************************/
#contact {
	background-color: #c6c6c6;
	padding: 80px 0;
}
.contact_box{
	position: relative;
	padding: 50px 80px;
	background: #fff;
}
.contact_note p {
	position: relative;
	display: inline-block;
	margin-bottom: 6px;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	color: #fff;
	font-size: 16px;
	background: #000;
}
.contact_note p:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -6px;
	border: 6px solid transparent;
	border-top: 8px solid #000;
}
.contact_item {
	width: 600px;
	margin: 0 auto;
	margin-bottom: 30px;
}
.contact_item p {
	font-size: 1.6rem;
	font-weight: 700;
	margin-bottom: 10px;
}
.contact_ex {
	font-size: 1.4rem;
	font-weight: 400;
	margin-left: 20px;
}
.contact_req {
	padding: 2px 10px;
	background-color:#000;
	color: #ccff00;
	font-size: 1.0rem;
	margin-right: 10px;
}
.contact_input {
	width: 100%;
	height: 50px;
	padding: 10px 20px 10px;
	border: 1px solid #cfd0cc;
	border-radius: 5px;
}
.contact_btn {
	position: relative;
	display: block;
	padding: 20px 40px;
	margin: 0 auto;
	width: 300px;
	color: #000;
	background-color: #ccff00;
	font-size: 1.8rem;
	text-align: center;
	cursor: pointer;
	font-weight: bold;
}
.contact_btn::after {
	content: url(../img/contact_arrow.png);
	display: inline-block;
    vertical-align: middle;
	position: absolute;
	width: 8px;
	height: 12px;
	top: 0;
	right: 30px;
	bottom: 10px;
	margin: auto;
}
.height150 {
	height: 150px;
}
.radio_area {
	display: flex;
}
.radio_area p {
	margin-right: 30px;
}
.radio_text {
	font-size: 1.4rem;
}
.radio-input + label, .radio-input + .mfp_element_hidden + label {
    padding-left: 30px;
    position: relative;
    margin-right: 20px;
	margin-bottom: 10px;
}
.radio-input + label::before, .radio-input + .mfp_element_hidden + label::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #999;
    border-radius: 50%;
}
.radio-input:checked + .mfp_element_hidden + .radio_text::after, .radio-input:checked + .radio_text::after {
    content: "";
    display: block;
    position: absolute;
    top: 6px;
    left: 6px;
    width: 8px;
    height: 8px;
    background: #000;
    border-radius: 50%;
}
#thanks {
	background-color: #f5f5f5;
	padding: 80px 0;
	margin-top: 80px;
	line-height: 3rem;
}
#thanks h2 span {
	margin-top: 8px;
}
.thanks_btn {
	display: inline-block;
	margin: 60px auto 0;
	text-align: center;
}
.thanks_btn a {
	position: relative;
	display: block;
	padding: 15px;
	margin: 0 auto;
	width: 240px;
	color: #000;
	background-color: #ccff00;
	font-size: 1.8rem;
	text-align: center;
	cursor: pointer;
	font-weight: bold;
}
.thanks_btn a::before {
	content: url(../img/contact_arrow.png);
	display: inline-block;
    vertical-align: middle;
	position: absolute;
	width: 8px;
	height: 12px;
	top: 0;
	right: 30px;
	bottom: 22px;
	margin: auto;
}
/************************
about
************************/
#about {
	background-color: #f5f5f5;
	font-size: 1.2rem;
	padding: 60px 0;
}
.about_wrap {
	display: flex;
	align-items: center;
}
.about_txt {
	margin-right: 60px;
	margin-left: 80px;
}
.about_txt dl {
	display: flex;
	margin-bottom: 5px;
}
.about_txt dt {
	margin-right: 15px;
}
.gmap {
	width: 400px;
	height: 200px;
}
/*.gmap {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}
.gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}*/

/************************
footer
************************/
footer {
	background-color: #000;
	padding: 30px 0;
}
.copy {
	color: #fff;
	font-family: 'Oswald', sans-serif;
	font-size: 1.0rem;
}

/************************
breakpoint 768px
************************/
@media screen and (max-width: 768px) {
	.pc {
		display: none;
	}
	.sp {
		display: inherit;
	}
	.left, .right {
		float: none;
	}
	.inner {
		width: 94%;
		margin: auto;
		padding: 0;
	}
	.br {
		display: inline-block;
	}
	header {
		height: 60px;
	}
	.header_logo {
		margin-left: 20px;
	}
	.header_menu {
		display: block;
		padding: 10px 0;
		margin-left: 0;
		font-size: 1.8rem;
		text-align: center;
	}
	.header_cta {
		position: static;
	}
	.header_cta a {
		width: 280px;
		height: auto;
		text-align: center;
		font-size: 2.0rem;
		line-height: 2.2rem;
		padding: 8px 40px 12px 40px;
		margin: 0 auto;
		display: block;
	}
	.header_cta a span {
		font-size: 1.6rem;
	}
	.nav_flex.trigger {
		height: 60px;
		background: #000;
	}
	.nav_flex {
		display: flex;
		align-items: center;
		padding: 0;
		height: 60px;
		justify-content: space-between;
		transition: 0.3s cubic-bezier(0.6, -0.28, 0.735, 0.045);
	}
	.nav_btn_wrap {
		display: flex;
		align-items: center;
	}

	.btn-trigger {
		position: relative;
		width: 35px;
		height: 28px;
		cursor: pointer;
		z-index: 100;
	}
	.btn-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 4px;
		background-color: #fff;
	}
	.btn-trigger, .btn-trigger span {
		display: inline-block;
		margin-right: 20px;
		transition: .5s ease-out all;
		box-sizing: border-box;
	}
	.btn-trigger span:nth-of-type(1) {
		top: 0;
	}
	.btn-trigger span:nth-of-type(2) {
		top: 12px;
	}
	.btn-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	#btn06.active span:nth-of-type(1) {
		-webkit-transform: translateY(11px) rotate(-45deg);
		transform: translateY(11px) rotate(-45deg);
	}
	#btn06.active span:nth-of-type(2) {
		left: 200%;
		opacity: 0;
		-webkit-transform: translateY(7px);
		transform: translateY(7px);
		-webkit-animation: active-btn06-bar02 .8s forwards;
		animation: active-btn06-bar02 .8s forwards;
	}
	@-webkit-keyframes active-btn06-bar02 {
	100% {
		height: 0;
	}
	}
	@keyframes active-btn06-bar02 {
	100% {
		height: 0;
	}
	}
	#btn06.active span:nth-of-type(3) {
		-webkit-transform: translateY(-13px) rotate(45deg);
		transform: translateY(-13px) rotate(45deg);
	}
	.menu {
		position: absolute;
		z-index: 50;
		top: 0;
		right: -100%;
		background: #000;
		width: 100%;
		height: 100vh;
		padding: 20% 20px;
		transition: 0.3s ease-in-out all;
	}
	.open {
		right: 0;
	}
	h1 {
		font-size: 4.0rem;
		line-height: 6rem;
	}
	h1 span {
		font-size: 1.8rem;
		padding: 10px 20px;
	}
	h2 {
		font-size: 3.0rem;
	}
	#mv {
		padding: 140px 0;
	} 
	.mv_subcopy {
		font-size: 1.6rem;
		margin-top: 20px;
	}
	.mv_cta {
		display: inline-block;
		margin: 60px auto 0;
		text-align: center;
	}
	.mv_cta a {
		width: 300px;
		height: auto;
		font-size: 2.4rem;
		line-height: 2.4rem;
		padding: 10px 0px 15px;
	}
	.mv_cta a span {
		display: block;
		font-size: 1.6rem;
	}
	.mv_cta a::before {
		bottom: 8px;
	}
	.works_list {
		margin: 40px 20px 0;
	}
	.works_item:nth-child(2n) {
		margin-left: 0;
	}
	.works_item {
		width: 100%;
		margin-bottom: 50px;
	}
	.movie iframe {
		width: 100%;
		height: 100%;
	}
	#cta h3 {
		font-size: 1.8rem;
	}
	.cta_list {
		display: block;
	}
	.cta_item {
		width: 100%;
		padding: 15px;
		margin: 10px 0;
	}
	.tel {
		font-size: 3.6rem;
		padding-left: 32px;
		background: url(../img/cta_tel_icon.png) no-repeat center left / 26px;
	}
	.cta_btn a {
		width: 100%;
		height: auto;
		font-size: 1.6rem;
		padding: 25px 60px;
	}
	.cta_btn a::before {
		top: 0;
		left: 30px;
		bottom: 0;
	}
	.cta_btn a::after {
		bottom: 10px;
	}
	.user_item {
		display: block;
	}
	.user_txt {
		width: 300px;
		height: auto;
		margin: 0 auto;
		padding: 20px 30px;
	}
	.features_list {
		width: 100%;
	}
	.features_item {
		display: block;
		margin-top: 40px;
		margin-bottom: 0;
	}
	.features_txt {
		width: 100%;
	}
	.features_item figure,.features_item:nth-child(2n) figure {
		margin-right: 0;
		margin-bottom: 20px;
		margin-left: 0;	
	}
	.flow_item {
		width: 100%;
		margin-right: 0;
		margin-top: 50px;
	}
	.flow_item:nth-child(2),.flow_item:nth-child(5),.flow_item:nth-child(3n) {
		margin-top: 50px;
	}
	.flow_txt {
		margin: 0 30px;
	}
	.price_list {
		margin-top: 0;
	}
	.price_item {
		width: 100%;
		padding: 20px;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.price_item:nth-child(2) {
		margin-top: 20px;
	}
	.price_options {
		margin-top: 20px;
		padding: 20px;
	}
	.option_item {
		margin: 20px;
	}
	.option_item:nth-child(4), .option_item:nth-child(7){
		margin-right: 20px;
	}
	.recommend {
		left: 30%;
		top: -25px;
		width: 40%;
		padding: 2% 0;
	}
	.messeage_wrap {
		display: block;
	}
	.ceo_img {
		margin-right: 0;
		margin-bottom: 20px;
	}
	.messeage_txt {
		width: 100%;
	}
	.accordion-open {
		padding: 0 40px 30px 60px;
	}
	.contact_box {
		padding: 30px;
	}
	.contact_item {
		width: 100%;
	}
	.contact_ex {
		font-size: 1.1rem;
		margin-left: 10px;
	}
	.contact_btn {
		width: 100%;
	}
	.about_wrap {
		display: block;
	}
	.about_txt {
		margin: 0 0 30px 0;
	}
	.gmap {
		width: 100%;
		height: auto;
	}
}