@charset "utf-8";
/* ------------------------------------------------------------------------------
	Template Name: Minifolio
	Author: Designstub
	Author URI: http://www.designstub.com
	License: GNU General Public License version 3.0
	License URI: http://www.gnu.org/licenses/gpl-3.0.html
	Version: 1.0

/* ------------------------------------------------------------------------------
	Typography
-------------------------------------------------------------------------------*/

@import url(http://fonts.googleapis.com/css?family=Open%20Sans:300,400,500,600,700);
@import url(http://fonts.googleapis.com/css?family=Merriweather:300,400,500,600,700);
@font-face {
  font-family: 'shingo-db';
  src: url('../fonts/a-otf-shingopro-debold-webfont.eot');
  src: url('../fonts/A-OTF-ShinGoPro-DeBold.otf') format('opentype'),
  		url('../fonts/a-otf-shingopro-debold-webfont.woff') format('woff');
}
@font-face {
  font-family: 'shingo-m';
  src: url('../fonts/a-otf-shingopro-medium-webfont.eot');
  src: url('../fonts/A-OTF-ShinGoPro-Medium.otf') format('opentype'),
  		url('../fonts/a-otf-shingopro-medium-webfont.woff') format('woff');
}
@font-face {
  font-family: 'shingo-r';
  src: url('../fonts/a-otf-shingopro-regular-webfont.eot');
  src: url('../fonts/a-otf-shingopro-regular-webfont.woff') format('woff'),
  		url('../fonts/a-otf-shingopro-regular-webfont.eot?#iefix') format('embedded-opentype'),
  		url('../fonts/A-OTF-ShinGoPro-Regular.otf') format('opentype');
}
@font-face {
  font-family: 'shingo-l';
  src: url('../fonts/a-otf-shingopro-light-webfont.eot');
  src: url('../fonts/a-otf-shingopro-light-webfont.woff') format('woff'),
  		url('../fonts/a-otf-shingopro-light-webfont.eot?#iefix') format('embedded-opentype'),
  		url('../fonts/A-OTF-ShinGoPro-Light.otf') format('opentype');
}
@font-face {
  font-family: 'shingo-el';
  src: url('../fonts/a-otf-shingopro-exlight-webfont.eot');
  src: url('../fonts/a-otf-shingopro-exlight-webfont.woff') format('woff'),
  		url('../fonts/a-otf-shingopro-exlight-webfont.eot?#iefix') format('embedded-opentype'),
  		url('../fonts/A-OTF-ShinGoPro-ExLight.otf') format('opentype');
}
p {
	//font-size: 13px;
	//line-height: 22.4px;
	//color: #6c7279;
}
h1 {
	font-size: 14.5px;
	color: #000000;
	margin: 10px 0 0;
}
h2 {
	//font-size: 40px;
	font-family: shingo-db, "Open Sans", Arial, sans-serif;
	font-size: 50px;
	//font-weight: bold;
	//color: #2d3033;
	color: #000;
	text-align: center;
}
h3 {
	font-family: shingo-el, "Open Sans", Arial, sans-serif;
	font-size: 28px;
	color: #2d3033;
	font-weight: 300;
}
h4 {
	font-size: 22px;
	color: #2d3033;
	font-weight: 400;
}
h5 {
	font-size: 14px;
	color: #2d3033;
	text-transform: uppercase;
	font-weight: 700;
}
.btn {
	background-color: #3bc492;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	border: 0;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;
	display: inline-block;
	text-transform: uppercase;
}
.btn:hover, .btn:focus {
	background-color: #3d3d3d;
	color: #fff;
}
.btn-large {
	padding: 15px 40px;
}
/* ------------------------------------------------------------------------------
	Global Styles
-------------------------------------------------------------------------------*/
a {
	color: #e84545;
}
a:hover, a:focus {
	text-decoration: none;
	-moz-transition: background-color, color, 0.3s;
	-o-transition: background-color, color, 0.3s;
	-webkit-transition: background-color, color, 0.3s;
	transition: background-color, color, 0.3s;
}
body {
	position: relative;
	//font-family: "Open Sans", Arial, sans-serif;
	font-family: shingo-l, "Open Sans", Arial, sans-serif;
	font-weight: 400;
	//color: #6c7279;
}
ul, ol {
	margin: 0;
	padding: 0;
}
ul li {
	list-style: none;
}
.section {
	//padding: 100px 0;
	padding: 80px 0;
}
.no-padding {
	padding: 0;
}
.no-gutter [class*=col-] {
	padding-right: 0;
	padding-left: 0;
}
.space {
	margin-top: 60px;
}

p.cp {
	text-align: center;
	font-size: 25px !important;
	margin-bottom: 60px;
}

.f-21 {
	display: block;
	font-size: 21px;
	line-height: 1.4;
}

.pc {
	display: block;
}
.sp {
	display: none;
}


/* ------------------------------------------------------------------------------
	Header
-------------------------------------------------------------------------------*/
#header {
	position: fixed;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	z-index: 9999;
	background-color: #fff;
	border-top: 5px solid #ffcb38;
}
#header .header-content {
	margin: 0 auto;
	max-width: 1170px;
	//padding: 30px 0;
	padding: 0 0 20px;
	width: 100%;
	-moz-transition: padding 0.3s;
	-o-transition: padding 0.3s;
	-webkit-transition: padding 0.3s;
	transition: padding 0.3s;
	width: 1000px;
	margin: 0 auto;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
#header .logo {
	float: left;
	font-size:24px;
	font-weight:700;
	color:#fff;
	text-decoration:none;
	text-transform:uppercase;
	letter-spacing:7px;
	margin-top: 10px;
}
#header .logo img {
	max-width: 100%;
}
/*
#header.fixed {
	background-color: #fff;
}
#header.fixed a {
	color: #000;
}
#header.fixed .header-content {
	border-bottom: 0;
	padding: 25px 0;
}
#header.fixed .nav-toggle {
	top: 18px;
	color: #000;
}
*/
li.nav_contact {
	position: relative;
	margin-right: 40px;
}
.navi {
	float: right;
	position: relative;
	margin-right: 10px;
}
.navi a {
	font-size: 16.5px;
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
	padding: 10px 38px 5px 35px;
	background: url("../images/contact_icon.png") no-repeat 10px center;
	background-color: #32b16c;
	border-radius: 5px;
}
.navi a:hover {
	opacity: 0.7;
}
.navi .free {
	position: relative;
	display: block;
	margin-top: 5px;
	padding-top: 5px;
	text-align: right;
	font-size: 0.85em;
}
.navi .free:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	display: block;
	margin: 0 auto;;
	border-top: 1px solid #fff;
}
.navi .free i {
	display: inline-block;
	margin: 0 2px;
	font-size: 1.8em;
	font-style: normal;
	font-family: "Open Sans", Arial, sans-serif;
}
li.nav_contact a img {
	padding-right: 15px;
}
.navi .fukidashi {
	position: absolute;
	top: -10px;
	//right: -55px;
	right: -20px;
}
li.nav_contact a:hover {
	opacity: 0.7;
}
.navigation.open {
	opacity: 0.9;
	visibility: visible;
	-moz-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
}
.navigation {
	float: right;
}
.navigation li {
	display: inline-block;
}
.navigation a {
	//color: rgba(255, 255, 255, 0.75);
	font-size: 13px;
	//font-weight: 700;
	margin-left: 40px;
	text-transform: uppercase;
}
.navigation a:hover, .navigation a.active {
	color: #fff;
}
.nav-toggle {
	display: none;
	height: 44px;
	overflow: hidden;
	position: fixed;
	right: 5%;
	text-indent: 100%;
	top: 32px;
	white-space: nowrap;
	width: 44px;
	z-index: 99999;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
.nav-toggle:before, .nav-toggle:after {
	border-radius: 50%;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	-moz-transform: translateZ(0);
	-ms-transform: translateZ(0);
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-moz-backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-moz-transition-property: -moz-transform;
	-o-transition-property: -o-transform;
	-webkit-transition-property: -webkit-transform;
	transition-property: transform;
}
.nav-toggle:before {
	background-color: #e84545;
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
	-moz-transition-duration: 0.3s;
	-o-transition-duration: 0.3s;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
}
.nav-toggle:after {
	background-color: #e84545;
	-moz-transform: scale(0);
	-ms-transform: scale(0);
	-webkit-transform: scale(0);
	transform: scale(0);
	-moz-transition-duration: 0s;
	-o-transition-duration: 0s;
	-webkit-transition-duration: 0s;
	transition-duration: 0s;
}
.nav-toggle span {
	background-color: #fff;
	bottom: auto;
	display: inline-block;
	height: 3px;
	left: 50%;
	position: absolute;
	right: auto;
	top: 50%;
	width: 18px;
	z-index: 10;
	-moz-transform: translateX(-50%) translateY(-50%);
	-ms-transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}
.nav-toggle span:before, .nav-toggle span:after {
	background-color: #fff;
	content: "";
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	-moz-transform: translateZ(0);
	-ms-transform: translateZ(0);
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-moz-backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-moz-transition: -moz-transform 0.3s;
	-o-transition: -o-transform 0.3s;
	-webkit-transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
}
.nav-toggle span:before {
	-moz-transform: translateY(-6px) rotate(0deg);
	-ms-transform: translateY(-6px) rotate(0deg);
	-webkit-transform: translateY(-6px) rotate(0deg);
	transform: translateY(-6px) rotate(0deg);
}
.nav-toggle span:after {
	-moz-transform: translateY(6px) rotate(0deg);
	-ms-transform: translateY(6px) rotate(0deg);
	-webkit-transform: translateY(6px) rotate(0deg);
	transform: translateY(6px) rotate(0deg);
}
.nav-toggle.close-nav:before {
	-moz-transform: scale(0);
	-ms-transform: scale(0);
	-webkit-transform: scale(0);
	transform: scale(0);
}
.nav-toggle.close-nav:after {
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
}
.nav-toggle.close-nav span {
	background-color: rgba(255, 255, 255, 0);
}
.nav-toggle.close-nav span:before, .nav-toggle.close-nav span:after {
	background-color: #fff;
}
.nav-toggle.close-nav span:before {
	-moz-transform: translateY(0) rotate(45deg);
	-ms-transform: translateY(0) rotate(45deg);
	-webkit-transform: translateY(0) rotate(45deg);
	transform: translateY(0) rotate(45deg);
}
.nav-toggle.close-nav span:after {
	-moz-transform: translateY(0) rotate(-45deg);
	-ms-transform: translateY(0) rotate(-45deg);
	-webkit-transform: translateY(0) rotate(-45deg);
	transform: translateY(0) rotate(-45deg);
}
#header nav {
	background-color: #fff;
	border-top: 1px solid #dcdcdc;
	border-bottom: 1px solid #dcdcdc;
}
#header nav ul {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	margin: 0 auto;
	width: 1100px;
	height: 70px;
}
#header nav ul li {
	border-right: 1px solid #dcdcdc;
}
#header nav ul li:first-child {
	border-left: 1px solid #dcdcdc;
}
#header nav ul li a {
	display: block;
	padding: 25px 20px;
	height: 100%;
	text-align: center;
	color: #000;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
#header nav ul li:first-child a {
	padding: 40px 20px 0;
	font-size: 0.8em;
	background: url("../images/icon_home.png") no-repeat center 15px;
}
#header nav ul li a:hover {
	color: #fff;
	background-color: #32b16c;
}
#header.fixed {
	height: 56px;
}
#header.fixed .header-content {
	margin-top: -135px;
}
#header.fixed nav ul {
	height: 50px;
}
#header.fixed nav ul li a {
	padding: 15px 20px;
}
#header.fixed nav ul li:first-child a {
	padding: 32px 20px 0;
	background: url("../images/icon_home.png") no-repeat center 8px;
}
#container {
	padding-top: 192px;
}

/* ------------------------------------------------------------------------------
	Banner
-------------------------------------------------------------------------------*/

.banner {
	/*background-image: url(../images/main.png);
	background-position: center top;
	background-repeat: no-repeat;
	-moz-background-size: cover;
	-o-background-size: cover;
	-webkit-background-size: cover;
	background-size: cover;*/
	//background-size: contain;
	//min-height: 750px;
	//min-height: 620px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	padding: 40px 0;
	text-align: center;
	background: url("../images/bg_main.jpg") no-repeat center top;
	background-size: 100% auto;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
.banner a:hover {
	filter: alpha(opacity=80);
	-moz-opacity:0.8;
	opacity:0.8;
}
.banner img {
	max-width: 100%;
}

.banner-text {
	padding: 5% 0;
	vertical-align: middle;
}
.banner-text img {
	max-width: 100%;
}
.banner-text h1 {
	color: #fff;
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 65px;
	font-weight: 700;
	text-transform: uppercase;
}
.banner-text p {
	color: rgba(255, 255, 255, 0.60);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	margin-top: 30px;
	margin-bottom: 80px;
}
.banner .catchcopy {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	width: 1100px;
}
.banner .catchcopy .list:nth-child(1) {
	order: 2;
}
.banner .catchcopy .list:nth-child(2) {
	order: 1;
}
.banner .catchcopy .list .formList {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	margin: 20px 0;
}
.banner .catchcopy .list .formList li {
	width: 32%;
}
.banner .catchcopy .list .formList li .inner {
	padding: 10px;
	background-color: rgba(0,0,0,0.05);
	border-radius: 3px;
}
.banner .catchcopy .list .formList li input {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block;
	margin: 0;
	padding: 15px 10px;
	width: 100%;
	max-width: 100%;
	box-shadow: none;
}
.banner .catchcopy .list .mfp_buttons {
	display: block;
	padding: 10px;
	text-align: center;
	text-decoration: none;
	text-shadow: none;
	background-color: rgba(0,0,0,0.05);
	border: none;
	border-radius: 3px;
	cursor: pointer;
}
.banner .catchcopy .list .mfp_buttons button {
	position: relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 20px;
	text-align: center;
	text-decoration: none;
	text-shadow: none;
	color: #fff;
	background: transparent;
	background-color: #f39800;
	border: none;
	border-radius: 3px;
	cursor: pointer;
}
.banner .catchcopy .list .balloon {
	position: absolute;
	top: -15px;
	margin-left: 10px;
}
.banner .catchcopy .list .mfp_buttons button:hover {
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

/* ==========================================================================
	$intro
========================================================================== */
.intro {
	position: relative;
	margin: 0 auto;
	text-align: center;
	padding-bottom: 0;
}
.intro img {
	max-width: 100%;
}
.intro h2 {
	//color: #fff;
	color: #ffd200;
	margin-top: 0;
	margin-bottom: 20px;
}
.intro p {
	font-size: 25px;
	line-height: 1.5;
}
.intro:after {
	position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
    border-top: 45px solid #fff;
    bottom: -44px;
    left: calc(50% - 60px);
    z-index: 999;
}


/* ------------------------------------------------------------------------------
	 Serives
-------------------------------------------------------------------------------*/
.service-section {
	padding-top: 80px;
	display: block;
	position: relative;
}
.services {
	margin-bottom: 50px;
	background: #ffd200;
}
.service-section:after {
	position: absolute;
	content: "";
	width: 0;
  	height: 0;
  	border-left: 60px solid transparent;
  	border-right: 60px solid transparent;
 	border-top: 45px solid #ffd200;
 	bottom: -44px;
 	left: calc(50% - 60px);
}
.services .row {
	width: 950px;
	margin: 0 auto;
}
.services h2 {
	font-family: shingo-m;
	font-weight: normal;
	font-size: 37.5px;
	//margin-bottom: 25px;
	margin: 0 0 15px;
}
.services p {
	font-size: 14px;
}
.services h3 {
	font-family: shingo-m;
	color: #0068b7;
	font-size: 18px;
	//font-weight: bold;
}
.services-content {
	padding: 0 15px;
	//margin-top: 30px;
}
.services .icon {
	color: #00aeda;
	font-size: 50px;
	padding-left: 15px;
}
/* ------------------------------------------------------------------------------
	 Contact_btn
-------------------------------------------------------------------------------*/
.contact_btn_sp {
	display: none;
}
.contact_btn_pc {
	display: block;
}
.contact_btn_pc .wrap{
	max-width: 705px;
	position: relative;
	margin: 0 auto;
}
.contact_btn_pc .wrap .link {
	position: absolute;
	top: 30px;
	//left: 395px;
	left: 210px;
	width: 470px;
	height: 110px;
}
.contact_btn_pc .wrap .link a {
	display: block;
	width: 100%;
	height: 100%;
}
.contact_btn_pc .wrap .link a:hover {
	background: #fff;
	opacity: 0.2;
}

.qa {
	position: relative;
}
.qa p {
	font-family: shingo-el;
}
.qa .wrap img {
	display: block;
	margin: 100px auto 20px;
}
.qa .wrap {
	margin-bottom: 80px;
}
.qa:after {
	position: absolute;
	content: "";
	width: 0;
  	height: 0;
  	border-left: 60px solid transparent;
  	border-right: 60px solid transparent;
 	border-top: 45px solid #fff;
 	left: calc(50% - 60px);
 	z-index: 999;
}
.qa .wrap .arrow {
	width: 0;
  	height: 0;
  	border-left: 75px solid transparent;
  	border-right: 75px solid transparent;
  	border-top: 50px solid #a40000;
  	margin: 0 auto;
}
.qa .wrap .answer {
	width: 850px;
	display: block;
	margin: 0 auto;
}
.qa .wrap .answer h3 {
	font-size: 45px;
	margin: 70px 0 0;
}
.qa .wrap .answer h3 .red {
	color: #ff0000;
}
.qa .wrap .answer h3 .red .zero {
	font-family: 'Old Standard TT', serif;
	font-size: 75px;
	letter-spacing: 10px;
}
.qa .wrap .answer h3 .ls {
	letter-spacing: -20px;
}
.qa .wrap .answer .fbox {
	display: flex;
}
.qa .wrap .answer .fbox .left {
	margin-right: 5%;
	width: 80%;
}
.qa .wrap .answer .fbox p {
	font-size: 22px;
	line-height: 2;
}
.qa .wrap .answer .fbox .ul {
	background: linear-gradient(transparent 70%, #ffff00 70%);
}
.qa .wrap .answer .fbox .right {
	font-family: shingo-m;
	font-size: 33px;
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    //font-weight: bold;
    line-height: 2;
    //letter-spacing: -13px;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
    margin-top: 20px;
}
.qa .wrap .answer .fbox .right .bg-y {
	background: #ffff00;
	padding: 0 5px 30px;
}
.qa .wrap .answer .fbox .caution {
	font-size: 16px;
}
.plan .wrap {
	display: block;
	margin: 0 auto;
	padding: 0 60px;
	width: 1100px;
}
.plan .plan-ttl {
	margin-top: 120px;
	text-align: center;
}
.plan .plan-ttl img {
	margin: auto;
}
.plan-sub-ttl {
	margin: 30px 0 0;
	text-align: center;
	font-size: 1.6em;
	color: #e84545;
}
.plan .plan-list-box {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: 80px;
}
.plan .plan-list-box li {
	margin-bottom: 20px;
	text-align: center;
}
.plan .plan-list-box li img {
	margin: auto;
}
.plan .caution {
	display: block;
	margin-top: 20px;
	color: #e84545;
}

/* ------------------------------------------------------------------------------
	 Step
-------------------------------------------------------------------------------*/

.step {
	background: #ffd200;
	padding: 45px 0 60px;
	position: relative;
}
.step:after {
	position: absolute;
	content: "";
	width: 0;
  	height: 0;
  	border-left: 60px solid transparent;
  	border-right: 60px solid transparent;
 	border-top: 45px solid #ffd200;
 	left: calc(50% - 60px);
 	bottom: -44px;
}
.step h2 {
	font-family: shingo-m;
	font-size: 37.5px;
	margin-bottom: 20px;
}
.step .cp {
	font-size: 33.33px !important;
	margin-bottom: 40px;
}
.step .wrap {
	width: 870px;
	padding: 0 60px;
	display: block;
	margin: 0 auto;
}
.step .wrap .big {
	font-size: 50px;
}
.step .fbox2 {
	display: flex;
	margin-bottom: 30px;
}
.step .fbox2 .ttl {
	font-family: shingo-l;
	position: relative;
	font-size: 29px;
	width: 23%;
	padding: 24px 0 24px 20px;
	background: #0068b7;
	color: #fff;
	border-radius: 10px 0 0 10px;
}
.step .fbox2 .ttl .eng {
	font-size: 25px;
}
.step .fbox2 .ttl:after {
	position: absolute;
	content: "";
	width: 0;
  	height: 0;
  	border-left: 15px solid transparent;
  	border-right: 15px solid transparent;
 	border-top: 15px solid #0068b7;
 	bottom: -15px;
 	left: calc(50% - 15px);
}
.step .fbox2:last-child .ttl:after {
	display: none;
}
.step .fbox2 .dsc {
	font-size: 20px;
	line-height: 1.8;
	border-radius: 0 10px 10px 0;
	padding: 30px;
	background: #fff;
	width: 77%;
}
.step .trial {
	margin-bottom: 100px;
}
.step .trial .fbox2 .ttl {
	background: #28aac3;
}
.step .trial .fbox2 .ttl:after {
 	border-top: 15px solid #28aac3;
}

/* ------------------------------------------------------------------------------
	 Question
-------------------------------------------------------------------------------*/

.question {
  //min-width: 300px;
  width: 870px;
  margin: 0 auto;
  padding: 75px 0;
}
.question h2 {
	font-family: shingo-m;
	font-size: 37.5px;
	color: #ffd200;
	margin-bottom: 25px;
}
.question .cp {
	margin-bottom: 85px;
	line-height: 1.6;
}
.question label p,
.question .ac-cont p {
	font-family: "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
}
.question .ac-content {
  min-width: 300px;
  margin: 0 auto;
  padding: 0;
}
.question input {
  display: none;
}
.question label {
  font-size: 16px;
  font-weight: normal;
  //display: block;
  display: flex;
  justify-content: space-between;
  align-items: center;
  //background: #9fb7d4;
  cursor: pointer;
  padding: 30px 0 30px 30px;
  color: #000;
  border-top: 1px solid #ccc;
  //border-bottom: 1px solid #ccc;
  box-sizing: border-box;
  margin-bottom: 0;
  //border-bottom: 1px solid #ccc;
}
.question label p {
	margin-bottom: 0;
}
.question label p.txt {
	//width: 85%;
	flex: 1;
	padding-right: 20px;
	text-align: left;
}
.question label img {
	margin-right: 20px;
}
.question .ac-content {
	border-bottom: 1px solid #ccc;
}
.question .ac-content p.txt {
	flex: 1;
	text-align: left;
}
.question .ac-cont {
  font-size: 16px;
  //transition: 0.2s;
  transition: width 0.2s;
  height: 0;
  overflow: hidden;
  background: #e9f3d3;
  padding: 0 10px;
  box-sizing: border-box;
   display: flex;
  justify-content: space-between;
  align-items: center;
}
.question input:checked + .ac-cont {
  height: auto;
  padding: 10px;
  box-sizing: border-box;
  padding: 30px;
}
.question input:checked + .ac-cont img {
  margin-right: 20px;
}

.accordion_icon,
.accordion_icon span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.accordion_icon {
	position: relative;
	width: 30px;
	height: 30px;
	//float: right;
	//margin-right: 5px;
	margin-bottom: 0;
	background: #ffd200;
	padding: 5px;
	border-radius: 5px;
}
.accordion_icon.active {
	background: #f39800;
}
.accordion_icon span {
	position: absolute;
    left: 8px;
    width: 50%;
	height: 3px;
    background-color: #fff;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-ms-border-radius: 4px;
	-moz-border-radius: 4px;
	-o-border-radius: 4px;
}
.accordion_icon span:nth-of-type(1) {
    top: 14px;
	transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
}
.accordion_icon span:nth-of-type(2) {
    top: 14px;
	transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
}
/*＋、－切り替え*/
.accordion_icon.active span:nth-of-type(1) {
	display:none;
}
.accordion_icon.active span:nth-of-type(2) {
	top: 14px;
	transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
}

/* ------------------------------------------------------------------------------
	Contact
-------------------------------------------------------------------------------*/

.contact.section {
	padding-top: 20px;
}
.contact.section.thanks {
	padding-top: 130px;
}
.contact .title {
	background: #ffd200;
	padding: 40px 0 35px;
}
.contact.section.thanks .title img {
	display: none;
}
.contact h2 {
	position: relative;
	font-family: shingo-m;
	font-size: 37.5px;
	margin-top: 0;
}
.contact .title h2 img {
	position: absolute;
	top: -75px;
}
.contact .cp {
	margin-bottom: 0;
}
.contact .conForm {
	position: relative;
	margin-top: 80px;
}
.contact .conForm .control-label {
	line-height: 3.5;
}
.contact .conForm .required,
.contact .conForm .nini {
	background-color: #e61f22;
	color: #fff;
	padding: 2px 8px 3px;
	line-height: 3.5;
	vertical-align: middle;
}
.contact .conForm .nini {
	background-color: #ccc;
}
.contact .conForm label.control-label {
	font-family: shingo-m;
	font-weight: normal;
}
.contact .conForm .radio {
	width: 60%;
}
.contact .conForm .radio div {
	padding-bottom: 15px;
	width: 100px;
	//float: left;
}

.contact .conForm #show {
	//display: none;
}
.contact .agreeBox h2 {
	font-family: shingo-l;
}
.contact .agreeBox h2.b {
	font-weight: bold;
}



/* ------------------------------------------------------------------------------
	Contact form
-------------------------------------------------------------------------------*/
.conForm {
	//text-align: center;
}
.conForm h5 {
	font-size: 30px;
}
.conForm p {
	text-align: center;
	margin: 7%;
}
.conForm .item {
	clear: both;
	padding: 30px 0;
	border-bottom: 1px solid #eee;
}
.conForm input,
.conForm select {
	color: #797979;
	padding: 15px 30px;
	border: none;
	margin-right: 3%;
	//margin-bottom: 30px;
	outline: none;
	font-style: normal;
	border: #e0e0e0 1px solid;
	font-size: 15px;
}
.conForm input.noMarr {
	margin-right: 0px;
}
.conForm textarea {
	color: #797979;
	padding: 15px 30px;
	margin-bottom: 18px;
	outline: none;
	height: 150px;
	font-style: normal;
	resize: none;
	font-size: 15px;
	border: none;
	border: #e0e0e0 1px solid;
	margin: 10px 0;
}
.conForm .checkbox {
	margin-bottom: 20px;
}
.conForm .submitBnt {
	font-family: shingo-r;
	background: #22ac38;
	color: #fff;
	margin-top: 30px;
	padding: 25px 50px;
	font-size: 25px;
	letter-spacing: 5px;
	border: 0;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 45px;
	//display: inline-block;
	display: block;
	margin: 30px auto 0;
	text-transform: uppercase;
	text-align: center;
}
.conForm .submitBnt:hover {
	background: #3d3d3d;
	color: #fff;
}
#success_page{
	//color: #00bdbd;
	font-weight: 500;
}
.error_message{
	color: #ff675f;
	padding-bottom: 15px;
	font-weight: 500;
}
#success_page h3{
	//font-size:17px;
	font-size: 24px;
	color: #0068b7;
	font-weight: 700;
	text-align: center;
	margin: 60px 0 40px;
}
#success_page p {
	text-align: center;
}

#mailformpro textarea,
#mailformpro2 textarea {
	width: 100% !important;
	height: 200px !important;
}

#mailformpro div.mfp_ok,
#mailformpro2 div.mfp_ok {
	display: none !important;
}


/* ------------------------------------------------------------------------------
	 Footer
-------------------------------------------------------------------------------*/
.footer {
	text-align: left;
	color: #000;
}
.footer-top {
	background-color: #ffd305;
	padding: 20px 0 15px;
}
.footer-top i {
	margin-right: 5px;
}
.footer h5 {
	color: #fff;
}
.footer h5 {
	margin-bottom: 20px;
}
.footer a {
	color: inherit;
}
.footer a:hover {
	color: #e84545;
}
.footer p.ul {
	text-decoration: underline;
}

@media screen and (max-width: 1052px) {
	#header .header-content {
		width: 95%;
	}
	#header.fixed .header-content {
		margin-top: -145px;
	}
	#header .logo {
		margin-top: 15px;
	}
	.navi {
		margin-top: 10px;
	}
	.qa img {
		max-width: 100%;
	}
	.services .row {
		width: 100%;
	}
}
@media screen and (max-width: 980px) {
	#header nav {
		width: 100%;
	}
	#header nav ul {
		width: 100%;
	}
	#header nav ul li a {
		padding: 10px 5px;
	}
	#header.fixed nav ul li a {
		padding: 10px 5px;
	}
	.banner .catchcopy {
		width: 100%;
	}
	.banner {
		padding: 40px 0;
		background-size: cover;
	}
	.contact .conForm .radio {
		width: 100%;
	}
}
@media screen and (max-width: 870px) {
	.question {
		width: 100%;
	}
	.step .wrap {
		width: 100%;
	}
	.qa .wrap .answer {
		margin: 0 2%;
		width: 96%;
	}
	.qa .wrap .answer h3 {
		font-size: 36px;
	}
	.step .wrap {
		padding: 0 30px;
	}
	.plan .wrap {
		width: 100%;
		padding: 0 30px;
	}
	.plan .plan-list-box li {
		margin-bottom: 40px;
		width: 100%;
		text-align: center;
	}
	.plan .plan-list-box li:last-child {
		margin-bottom: 40px;
	}
	.contact h2 {
		font-size: 32px;
	}
}
@media screen and (max-width: 705px) {
	.intro p {
		font-size: 18px;
	}
	.services {
		margin-bottom: 70px;
	}
	.services p.cp {
		font-size: 18px !important;
	}

	.qa .wrap .answer h3 {
		font-size: 25px;
		text-align: center;
	}
	.qa .wrap .answer .fbox p {
		font-size: 24px;
	}
	.step h2 {
		font-size: 28px;
	}
	.step .cp {
		font-size: 24px !important;
	}
	.step .fbox2 .ttl {
		padding: 12px;
		font-size: 22px;
	}
	.step .fbox2 .ttl .f-21 {
		font-size: 16px;
	}
	.step .fbox2 .ttl .eng {
		font-size: 20px;
	}
	.step .fbox2 .dsc {
		padding: 12px 15px;
		font-size: 18px;
	}
	.question .cp {
		font-size: 18px !important;
		margin-bottom: 60px;
	}
	.question label,
	.question input:checked + .ac-cont {
		padding: 20px;
	}
	.question label p {
		padding-right: 20px;
		width: 30px;
	}

	.contact .conForm {
		margin-top: 20px;
	}
	.contact .conForm textarea {
		margin: 10px 0 60px;
	}
	.contact .conForm label.control-label {
		line-height: 1;
	}
	.contact_btn_pc {
		display: none;
	}
	.contact_btn_sp {
		display: block;
	}
	.contact_btn_sp div a {
		display: block;
		background: #32b16c;
		color: #fff;
		font-size: 24px;
		padding: 20px 3%;
		text-align: center;
		width: 90%;
		margin: 0 auto;
		border-radius: 5px;
	}
	.contact_btn_sp div a .free {
		position: relative;
		display: block;
		margin-top: 5px;
		padding-top: 5px;
		text-align: center;
		font-size: 0.85em;
	}
	.contact_btn_sp div a .free:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		display: block;
		margin: 0 auto;;
		border-top: 1px solid #fff;
	}
	.contact_btn_sp div a .free i {
		display: inline-block;
		margin: 0 2px;
		font-size: 1.8em;
		font-style: normal;
		font-family: "Open Sans", Arial, sans-serif;
	}
	.contact_btn_sp p {
		font-family: shingo-l;
		text-align: center;
		color: #32b16c;
		font-size: 19px;
		margin-top: 5px;
	}
	.contact .title h2 img {
		display: none;
	}
}
@media screen and (max-width: 590px) {
	h1 {
		font-size: 12px;
	}
	#header .header-content {
		width: 96%;
	}
	#header .logo {
		width: 50%;
		margin-top: 5px;
	}
	.navi {
		width: 45%;
		margin-right: 0;
		margin-top: 15px;
	}
	.navi a {
		padding: 10px;
		font-size: 16px;
		text-align: center;
		background-image: none;
	}
	.navi img {
		display: none;
	}
.navi .free {
	padding-top: 0;
	text-align: inherit;
}
.navi .free:before {
	top: 0;
	left: 10px;
	right: 10px;
}
.navi .free i {
}
	#header.fixed {
		height: 46px;
	}
	#container {
		padding-top: 180px;
	}
	.banner .catchcopy {
		-webkit-box-lines: multiple;
		-moz-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.banner .catchcopy .list:nth-child(1) {
		order: 1;
		width: 100%
	}
	.banner .catchcopy .list:nth-child(2) {
		order: 2;
		width: 100%
	}
	.banner .catchcopy .list .formList {
		-webkit-box-lines: multiple;
		-moz-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		padding: 0 10px;
	}
	.banner .catchcopy .list .formList li {
		width: 100%;
	}
	.banner .catchcopy .list .mfp_buttons {
		margin: 0 10px;
	}
	.qa .wrap {
		margin-bottom: 40px;
	}
	.qa .wrap .answer h3 {
		margin: 10px 0 0;
	}
	.qa .wrap .answer .fbox p {
		font-size: 20px;
	}
	.qa .wrap .answer .fbox .right {
		margin-top: 0;
	}
	.step .fbox2 .dsc {
		width: 100%;
	}
}

@media screen and (max-width: 560px) {
	#header.fixed .header-content {
		margin-top: 0;
	}
	#header.fixed {
		height: auto;
	}
	#header.fixed a {
		color: #fff;
	}
	#header nav,
	#header.fixed nav {
		display: none;
	}
	#container {
		padding-top: 115px;
	}
	.contact.section {
		margin-top: -60px;
		padding-top: 80px;
	}
	.contact.section.thanks {
		margin-top: 0;
	}
}

@media screen and (max-width: 480px) {

	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	h1 {
		font-size: 10px;
	}
	h2 {
		font-size: 24px !important;
	}
	p.cp {
		font-size: 16px !important;
		margin-bottom: 20px;
	}
	#header .header-content {
		padding: 0 0 10px;
	}
	.navi {
		margin-top: 10px;
	}
	.navi a {
		padding: 5px 0;
		font-size: 12px;
	}
	.intro p {
		font-size: 14px;
	}
	.service-section {
		padding-top: 60px;
	}
	.services {
		margin-bottom: 0;
		padding-bottom: 20px;
	}

	.contact_btn_pc img {
		width: 95% !important;
		display: block;
		margin: 0 auto;
	}
	.contact_btn_sp {
		padding-top: 60px !important;
	}
	.qa .wrap {
		margin-bottom: 10px;
	}
	.qa .wrap img {
		margin-top: 30px;
	}
	.qa .wrap .arrow {
		border-left: 50px solid transparent;
    	border-right: 50px solid transparent;
    	border-top: 35px solid #a40000;
	}
	.qa .wrap .answer {
		width: 100%;
		padding: 0 2%;
		margin: 0;
	}
	.qa .wrap .answer h3 {
		font-size: 19px;
	}
	.qa .wrap .answer h3 .ls {
		letter-spacing: -10px;
	}
	.qa .wrap .answer h3 .red .zero {
		font-size: 60px;
		letter-spacing: 0;
	}
	.qa .wrap .answer .fbox {
		flex-direction: column;
	}
	.qa .wrap .answer .fbox p {
		font-size: 16px;
		text-align: left;
	}
	.qa .wrap .answer .fbox .caution {
		font-size: 12px;
		display: inline-block;
		width: 100%;
		text-align: center;
	}
	.qa .wrap .answer .fbox .left {
		width: 100%;
	}
	.qa .wrap .answer .fbox .right {
		-webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: horizontal-tb;
    	writing-mode: horizontal-tb;
    	font-size: 16px;
    	line-height: 3.5;
    	margin-bottom: 30px;
    	letter-spacing: 0;
    	text-align: center;
	}
	.qa .wrap .answer .fbox .right .bg-y {
		padding-bottom: 10px;
	}
	.qa .wrap .answer .fbox .right .bg-w {
		margin-right: 5px;
	}
	.step {
		padding: 40px 0 20px !important;
	}
	.step .wrap {
		padding: 0 5%;
	}
	.step .wrap .big {
		font-size: 32px;
	}
	.step .cp {
		font-size: 16px !important;
		margin-bottom: 30px;
	}
	.step .fbox2 {
		flex-direction: column;
	}
	.step .fbox2 .ttl {
		width: 100%;
		border-radius: 10px 10px 0 0;
		font-size: 24px;
	}
	.step .fbox2 .ttl:after {
		display: none;
	}
	.step .fbox2 .ttl .eng {
		margin-right: 15px;
	}
	.step .fbox2 .ttl .f-21 {
		display: inline-block;
	}
	.step .fbox2 .dsc {
		position: relative;
		border-radius: 0 0 10px 10px;
		padding: 5%;
		font-size: 14px;
	}
	.step .fbox2 .dsc:after {
		position: absolute;
	    content: "";
	    width: 0;
	    height: 0;
	    border-left: 15px solid transparent;
	    border-right: 15px solid transparent;
	    border-top: 15px solid #fff;
	    bottom: -15px;
	    left: calc(50% - 15px);
	}
	.step .fbox2:last-child .dsc:after {
		display: none;
	}
	.question {
		padding: 20px 0;
	}
	.question .cp {
		margin-bottom: 30px;
		padding: 0 3%;
		font-size: 16px !important;
	}
	.question label {
		padding: 7% 3%;
	}
	.question label p {
		font-size: 14px;
	}
	.question label img,
	.question .ac-cont img {
		margin-right: 15px;
	}
	.question .ac-cont {
		font-size: 14px;
	}
	.question .ac-cont img {
		float: left;
	}
	.question input:checked + .ac-cont {
		padding: 7% 3%;
	}
	.accordion_icon {
		width: 60px;
	}
	.contact .conForm .radio {
		width: 90%;
		margin-left: 20px;
	}
	.contact .conForm .submitBnt {
		font-size: 20px;
		padding: 20px;
	}
	.contact .conForm {
		margin-top: 20px;
		padding: 0;
	}
	.contact .conForm textarea {
		margin-bottom: 60px;
	}
	.contact .conForm label.control-label {
		line-height: 1.5;
	}
	.contact .conForm .required,
	.contact .conForm .nini {
		line-height: 3;
	}
	.section {
		padding-top: 40px;
	}
	input[type="radio"] {
		-webkit-transform: scale(0.5);
   		transform: scale(0.5);
    	margin-left: -35px !important;
    	font-size: 10px;
    	margin-top: -5px;
	}
	.mfp_element_all {
		max-width: 98%;
	}
}

/* Form追加 */
.agreeBox {
	margin: 0 auto;
	width: 820px;
	color: #4b4b4b;
}
.agreeBox .textBox {
	overflow-y: scroll;
	margin: 40px auto 0;
	padding: 10px;
	height: 190px;
	border: 1px solid #ccc;
}
.agreeBox .textBox .formTit {
	margin-bottom: 10px;
	font-weight: bold;
}
.agreeBox .textBox .termBox h2 {
	margin-bottom: 20px;
	text-align: center;
}
.agreeBox .textBox #terms00 {
	margin: 40px auto 50px;
}
.agreeBox .textBox #terms01 {
	margin: 0 auto 50px;
}
.agreeBox .textBox #terms01 h2 {
	margin-bottom: 10px;
	padding: 0 0 10px 5px;
	text-align: left;
	font-size: 1.2em;
}
.agreeBox .textBox #terms01 .list {
	margin: 0 20px;
}
.agreeBox .textBox #terms01 .list li {
	list-style-type: none;
}
.agreeBox .textBox #terms01 .list ol {
	margin: 0 0 50px 30px;
}
.agreeBox .textBox #terms01 .list ol li {
	margin-bottom: 50px;
	text-align: left;
}
.agreeBox .textBox #terms01 .list li ol li,
.agreeBox .textBox #terms01 .list li ol li ol li {
	list-style-type: decimal;
	margin-bottom: 20px;
}
.agreeBox .textBox #terms01 .list li ol li ol {
	margin-top: 10px;
}
.agreeBox .textBox #terms01 .list li ol li ol li {
	list-style-type: decimal-leading-zero;
	margin-bottom: 5px;
}
.agreeBox .textBox #terms02 {
	margin: 0 auto 50px;
}
.agreeBox .textBox #terms02 h3 {
	margin-bottom: 10px;
	font-size: 1.2em;
}
.agreeBox .btnBox {
	margin-top: 0;
	text-align: center;
}
.agreeBox .btnBox dl {
	display: inline-block;
	margin: 10px 0;
}
.agreeBox .btnBox dl dt {
	float: none !important;
	display: inline-block;
	width: auto !important;
	font-weight: bold;
	border-top: none !important;
}
.agreeBox .btnBox dl dd {
	display: inline-block;
	padding: 10px !important;
	border-top: none !important;
}
.agreeBox .btnBox .agreeBbtn {
	margin-bottom: 25px;
	text-align: center;
}
.agreeBox .btnBox .agreeBbtn label {
	display: inline-block;
	margin: 0 auto;
	padding: 20px !important;
	border: 1px solid #ccc !important;
}
.agreeBox .btnBox .agreeBbtn input {
	width: auto !important;
}
.agreeBox .btnBox .comment {
	text-align: center;
}
.contact .conForm .radio {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.contact .conForm .radio .list {
	margin-right: 20px;
	padding-bottom: 15px;
}
::-webkit-input-placeholder{
    color: #ccc;
}
::-moz-placeholder{
    color: #ccc;
}
:-moz-placeholder{
    color: #ccc;
}
:-ms-input-placeholder{
    color: #ccc;
}
form#mailformpro label.mfp_not_checked,
form#mailformpro2 label.mfp_not_checked {
	border: none;
}
form#mailformpro label.mfp_checked,
form#mailformpro2 label.mfp_checked {
	background-color: transparent;
	border: none;
	box-shadow: none;
}
.mfp_element_submit {
	text-shadow: none;
}
.mfp_element_submit:hover {
	box-shadow: none;
}
@media screen and (max-width: 480px) {
	.conForm .item {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		clear: both;
		padding: 30px 0;
		border-bottom: 1px solid #eee;
	}
	.contact .conForm .control-label {
		order: 2;
		line-height: 3;
	}
	.contact .conForm .col-md-1 {
		order: 1;
	}
	.contact .conForm .col-md-7 {
		order: 3;
		width: 100%;
	}
	.contact .conForm .radio .list {
		margin-right: 40px;
		padding-bottom: 15px;
	}
	.contact .conForm .radio .list input[type="radio"] {
	}
	.agreeBox {
		margin: 0 auto;
		width: 100%;
		color: #4b4b4b;
	}
	.agreeBox .textBox {
		overflow-y: scroll;
		margin: 20px 10px 0;
		padding: 10px;
		height: 190px;
		border: 1px solid #ccc;
	}
	.agreeBox .textBox .formTit {
		margin-bottom: 10px;
		font-weight: bold;
	}
	.agreeBox .textBox .termBox h2 {
		margin-bottom: 20px;
		text-align: center;
	}
	.agreeBox .textBox #terms00 {
		margin: 40px auto 50px;
	}
	.agreeBox .textBox #terms01 {
		margin: 0 auto 50px;
	}
	.agreeBox .textBox #terms01 h2 {
		margin-bottom: 10px;
		padding: 0 0 10px 5px;
		text-align: left;
		font-size: 1em !important;
	}
	.agreeBox .textBox #terms01 .list {
		margin: 0;
	}
	.agreeBox .textBox #terms01 .list ol {
		margin: 0 0 50px 30px;
	}
	.agreeBox .textBox #terms01 .list ol li {
		margin-bottom: 50px;
		text-align: left;
	}
	.agreeBox .textBox #terms01 .list li ol li,
	.contactStyle .contactTable .agreeBox .textBox #terms01 .list li ol li ol li {
		list-style-type: decimal;
		margin-bottom: 20px;
	}
	.agreeBox .textBox #terms01 .list li ol li ol {
		margin-top: 10px;
	}
	.agreeBox .textBox #terms01 .list li ol li ol li {
		list-style-type: decimal-leading-zero;
		margin-bottom: 5px;
	}
	.agreeBox .textBox #terms02 {
		margin: 0 auto 50px;
	}
	.agreeBox .textBox #terms02 h3 {
		margin-bottom: 10px;
		font-size: 1.2em;
	}
	.agreeBox .btnBox {
		margin-top: 0;
		padding: 0 10px;
	}
	.agreeBox .btnBox dl {
		display: inline-block;
		margin: 10px 0 40px;
	}
	.agreeBox .btnBox dl dt {
		float: none !important;
		display: block;
		width: auto !important;
		text-align: left;
		font-size: inherit !important;
		font-weight: bold;
		border-top: none !important;
		border-bottom: 1px solid #eee;
	}
	.agreeBox .btnBox dl dd {
		display: block;
		padding: 10px !important;
		font-size: inherit !important;
	}
	.agreeBox .btnBox .btn {
		margin-bottom: 25px;
		text-align: center;
	}
	.agreeBox .btnBox .btn label {
		display: inline-block;
		margin: 0 auto;
		padding: 10px !important;
		border: 1px solid #ccc !important;
	}
	.agreeBox .btnBox .btn input {
		width: auto !important;
		vertical-align: middle;
	}
	.agreeBox .btnBox .comment {
		text-align: center;
	}
	form#mailformpro dl dd,
	form#mailformpro2 dl dd {
		padding: 10px 0 0 !important;
	}
}

#samplesite-variation {
	margin-top: -55px;
	padding-top: 55px;
}
#samplesite-variation .wrap {
	margin: 70px auto;
	max-width: 1200px;
	text-align: center;
}
#samplesite-variation .sv-ttl {
	display: inline-block;
	margin-bottom: 70px;
	padding: 10px 100px;
	text-align: center;
	color: #fff;
	background-color: #f39800;
	border-radius: 50px;
}
#samplesite-variation .sv-list-box {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}
#samplesite-variation .sv-list-box .sv-list {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0 40px;
	width: 50%;
	text-align: center;
}
#samplesite-variation .sv-list-box .sv-list dl {
	margin: 0 auto;
}
#samplesite-variation .sv-list-box .sv-list dl dt {
	margin-bottom: 35px;
	padding: 10px;
	text-align: center;
	color: #fff;
	background-color: #2badc5;
	border-radius: 50px;
}
#samplesite-variation .sv-list-box .sv-list dl dd img {
	display: inline-block;
	margin: 0;
	max-width: 100%;
	height: auto;
}
@media screen and (max-width: 600px) {
	#samplesite-variation .wrap {
		margin: 60px auto;
		width: 100%;
		text-align: center;
	}
	#samplesite-variation .sv-ttl {
		width: 90%;
		padding: 20px 3%;
		font-size: 20px;
	}
	#samplesite-variation span {
		display: block;
	}
	#samplesite-variation .sv-list-box {
		display: block;
		margin: 0 auto 40px;
		width: 90%;
	}
	#samplesite-variation .sv-list-box .sv-list {
		margin-bottom: 60px;
		padding: 0 10px;
		width: 100%;
		text-align: center;
	}
	#samplesite-variation .sv-list-box .sv-list dl {
		margin: 0 auto;
		width: 100%;
	}
}

.color-variation .wrap {
	margin: 70px auto;
	max-width: 1200px;
	text-align: center;
}
.color-variation .cv-ttl {
	display: inline-block;
	margin-bottom: 70px;
	padding: 10px 100px;
	text-align: center;
	color: #fff;
	background-color: #f39800;
	border-radius: 50px;
}
.color-variation .cv-list-box {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-around;
	align-items: center;
}
.color-variation .cv-list-box .list dl {
	margin: 0 auto;
	width: 240px;
}
.color-variation .cv-list-box .list dl dt {
	margin-bottom: 35px;
	padding: 10px;
	text-align: center;
	color: #fff;
	background-color: #2badc5;
	border-radius: 50px;
}
.color-variation .cv-list-box .color-py dl dt {
	color: #000;
	background-color: #ffd200;
}
.color-variation .cv-list-box .color-pp dl dt {
	background-color: #e3007c;
}
.color-variation .cv-list-box .list dl dd img {
	display: inline-block;
	margin: 0;
	max-width: 100%;
	height: auto;
}
.color-variation .cv-btn {
	margin-top: 70px;
}
.color-variation .cv-btn a {
	display: inline-block;
	margin-bottom: 70px;
	padding: 20px 70px;
	text-align: center;
	font-size: 1.6em;
	color: #fff;
	background-color: #094;
	border-radius: 6px;
}
.color-variation .cv-btn a:hover {
	opacity: 0.7;
}
.color-variation .caution {
	display: block;
	margin: 20px auto 0;
	width: 1040px;
	color: #e84545;
	text-align: left;
}

@media screen and (max-width: 600px) {
	.color-variation .wrap {
		margin: 60px auto;
		width: 100%;
		text-align: center;
	}
	.color-variation .cv-ttl {
		width: 90%;
		padding: 20px 3%;
		font-size: 20px;
	}
	.color-variation span {
		display: block;
	}
	.color-variation .cv-list-box {
		display: block;
		margin: 0 auto 40px;
		width: 90%;
	}
	.color-variation .cv-list-box .list {
		margin-bottom: 60px;
		width: 100%;
		text-align: center;
	}
	.color-variation .cv-list-box .list dl {
		margin: 0 auto;
		width: 100%;
	}
	.color-variation .cv-btn a {
		width: 90%;
		padding: 20px 3%;
		font-size: 20px;
	}
	.color-variation .caution {
		padding: 0 10px;
		width: auto;
	}
}

.iconBox {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	margin: auto;
	width: 50px;
	height: 250px;
	line-height: 50px;
}
.iconBox .iconBoxInner ul li {
	margin-bottom: 20px;
}
.iconBox .iconBoxInner ul li a {
	position: relative;
	display: block; padding: 20px 0;
	width: 100%;
	min-height: 150px;
	text-align: center;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	color: #fff;
	background-color: #32b16c;
	border-radius: 3px 0 0 3px;
}
.iconBox .iconBoxInner ul li a img {
	display: inline-block;
	margin-bottom: 10px;
	vertical-align: inherit;
}
.iconBox .iconBoxInner ul li a:hover {
	text-decoration: none;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8; opacity: 0.8
}
.iconBox .iconBoxInner ul li:last-child {
	 margin-bottom: 0;
}
.iconBox .iconBoxInner ul li a .balloon {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	position: absolute;
	top: -30px;
	left: -30px;
	display: inline-block;
	width: 50px;
}
.iconBox .iconBoxInner ul li a .balloon img {
	max-width: 100%;
	height: auto;
}
@media screen and (max-width: 480px) {
	.iconBox {
		display: none;
	}
}

/*  CAEgݒ  */
.flexNW {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
}
.flexW {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
.ttlStyle01 {
	position: relative;
	margin-bottom: 20px;
	text-align: left;
	font-size: 2.4em;
	font-weight: normal;
	color: #29abc4;
}
.ttlStyle01:first-letter {
	border-top: 2px solid #eee;
}
.ttlStyle01 span {
	display: inline-block;
	margin-left: 20px;
	font-family: 'Century Gothic';
	font-size: 0.5em;
	color: #d1c0a5;
}
.ttlStyle01 a {
	position: absolute;
	right: 40px;
	bottom: 10px;
	display: inline-block;
	padding-left: 15px;
	font-size: 0.5em;
	color: #29abc4;
}
.ttlStyle01 a:before, .ttlStyle01 a:after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.ttlStyle01 a:before {
	box-sizing: border-box;
	width: 12px;
	height: 12px;
	border: 1px solid #535353;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.ttlStyle01 a:after {
	left: 3px;
	width: 3px;
	height: 3px;
	border-top: 1px solid #535353;
	border-right: 1px solid #535353;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.catIcon {
	display: inline-block;
	margin-right: 20px;
	padding: 1px 2px;
	min-width: 60px;
	text-align: center;
	color: #fff;
	font-weight: normal;
	font-size: 0.8em;
	vertical-align: middle;
	background-color: #29abc4;
	border-radius: 3px;
}
.catIcon.new { margin-left: 20px; min-width: 40px; font-family: 'Century Gothic'; background-color: #a40000 !important; }
.catIcon.news { background-color: #121212 !important; }
.catIcon.notice { background-color: #0068b7 !important; }
.ttlES { position: relative; margin: 15px 0; padding-bottom: 10px !important; text-align: left; font-size: 1.2em; font-weight: normal; line-height: initial; color: #29abc4; border-bottom: 1px solid #eee; }

#newsBox .inner { margin: 0 auto; padding: 60px 0 0; width: 1200px; }
#newsBox .inner .flexNW { justify-content: flex-start; }
#newsBox .inner .flexNW li { overflow: hidden; position: relative; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; width: 25%; padding: 10px; }
#newsBox .inner .flexNW li a { text-decoration: none; color: #23527c; }
#newsBox .inner .flexNW li a:hover { color: #e84545; }
#newsBox .inner .flexNW li a:hover img { filter: alpha(opacity=80); -moz-opacity: 0.8; opacity: 0.8; }
#newsBox .inner .flexNW li a dl dt { margin-bottom: 20px; }
#newsBox .inner .flexNW li a dl dt img { max-width: 100%; height: auto; }
#newsBox .inner .flexNW li a dl dd { padding: 0 5px; }
@media screen and (max-width: 1200px) {
	#newsBox .inner {
		padding: 60px 10px 0;
		width: 100%;
		text-align: left;
	}
	#newsBox .inner .flexNW {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#newsBox .inner .flexNW li {
		padding: 10px;
		width: 25%;
	}
}
@media screen and (max-width: 660px) {
	.ttlStyle01 {
		font-size: 2em;
	}
	.ttlStyle01:first-letter {
		border-top: 2px solid #eee;
	}
	.ttlStyle01 span {
		display: inline-block;
		margin-left: 20px;
		font-family: 'Century Gothic';
		font-size: 0.5em;
		color: #d1c0a5;
	}
	.ttlStyle01 a {
		position: relative;
		right: inherit;
		bottom: inherit;
		display: block;
		margin-top: 10px;
		padding-left: 15px;
		font-size: 0.5em;
	}
	#newsBox .inner {
		padding: 60px 10px 0;
	}
	#newsBox .inner .flexNW {
		justify-content: flex-start;
	}
	#newsBox .inner .flexNW li {
		padding: 10px;
		width: 50%;
	}
}


.clear:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
html .clear { /* IE6 */ zoom: 1; }
*:first-child + html .clear { /* IE7 */ zoom: 1; }
