@charset "UTF-8";
/* ****************************************************************** 

	--style.css--

	1. Style setting
		1-1. FontColor styles
		1-2. Headline styles

	2. Layout setting
		2-1. Base styles
		2-2. Header styles
		2-3. Navi styles
		2-4. Main styles
		2-5. Side styles
		2-6. Footer styles

****************************************************************** */

/*==================================================================
	1. Style setting
===================================================================*/

/* ------------------------------------------------------------------
	1-1. FontColor styles
-------------------------------------------------------------------*/
html { color:#333; height:100vh; overflow-y: scroll;}
html.active body {
	overflow: hidden;
	position:fixed;
	height: 100%;
}
a:link, a:visited { color:#06C; }
.pcStyle a:hover {
	color:#06C;
	text-decoration:none;
}
.touchHover,
.noTapColor,
button { -webkit-tap-highlight-color:rgba(0,0,0,0); }

.pcDisplay {
	display:block;
}
.spDisplay {
	display:none;
}
.inlineBlock {
	display: inline-block;
}
@media screen and (max-width:736px) {
.pcDisplay {
	display:none;
}
.spDisplay {
	display:block;
}
}
img {
	vertical-align:middle;
}
body {
	overflow-y:hidden;
	overflow-x:hidden;
	position:relative;
	z-index:9999;
}


/* ------------------------------------------------------------------
	1-2. Headline styles
-------------------------------------------------------------------*/
.sectionContact .headline1 {
	background-color:#000;
}
.sectionContact .headline1.noBg {
	background-color:transparent;
}
.sectionContact .headline1 .innerHeadline1 {
	display:block;
	padding:40px 10px;
	text-align:center;
	font-size:30px;
	font-weight:bold;
	color:#000;
	line-height:1.33;
}
.sectionContact .headline1:first-child {
	margin-top:70px;
	margin-bottom:-15px;
}
.sectionContact .headline1:first-child:before {
	height:120%;
}
.sectionContact .headline1:first-child .innerHeadline1 {
	padding:0 10px 23px;
}


.headline1 {
	color:#000;
	background-color:#000;
	font-size:30px;
	font-weight:bold;
	line-height:1.5;
	/*margin:106px;*/
	margin-bottom:40px;
	position:relative;
	letter-spacing:2px;
	padding:24px 20px 26px;
}
.headline1 span {
	position:relative;
	display:block;
	max-width:1240px;
	margin:0 auto;
	padding:0 20px;
	text-align:center;
	z-index: 100;
}
.headline1 .sub {
	font-size:16px;
	font-weight:normal;
}
.blockTitle .sub {
	font-size:16px;
	font-weight:normal;
}
.headline1 em {
	font-style:normal;
	font-weight:bold;
}
.headline1.bigFont {
	font-size:40px;
}
.headline1.bigFont em {
	font-size:50px;
}
.headline1::before {
	background-color:#fdb428;
	content:"";
	height:130%;
	left:-5%;
	position:absolute;
	transform:rotate(-5.45deg);
	top:-15%;
	width:110%;
}
.headline1.bgWhite::before {
	display:none;
}
.headline1.bgWhite {
	background-color:#FFF;
}
.headline2 {
	margin-bottom: 30px;
	padding: 14px 16px 14px 40px;
	border-bottom: 4px solid #000;
	background-color: #FDB428;
	color:#000;
	font-size: 26px;
	font-weight: bold;
	text-align: left;
}
.headline2 span {
	position: relative;
}
.headline2 span::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -20px;
	width: 6px;
	height: 90%;
	background-color: #000;
	transform: translateY(-50%);
}
.headline3 {
	font-size:30px;
	font-weight:bold;
	letter-spacing:3px;
	margin:0 auto 31px;
	max-width:630px;
	padding:51px 0 27px;
	position:relative;
	text-align:center;
}
.headline3::before {
	background:url(/img/common/bg_headline_01_01.png) 50% no-repeat;
	content:"";
	height:31px;
	left:0;
	position:absolute;
	top:0;
	width:100%;
}
.headline3::after {
	background:url(/img/common/bg_headline_01_02.png) repeat-x;
	bottom:0;
	content:"";
	height:6px;
	left:0;
	position:absolute;
	width:100%;
}
.headline4{
	margin-bottom:45px;
	transition: all 0.3s;
	color: #ffff00;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
}
.headline4 > span{
	display: inline-block;
	padding: 2px 35px;
	background-color: #000;
	transform: skew(165deg);
}
.headline4 > span > span{
	display: inline-block;
	transform: skew(15deg);
}
.menusub {
    text-align: center;
    font-size: 16px;
    color: #000;
    font-weight: normal;
    padding-top: 10px;
    letter-spacing: 2px;
}
@media only screen and (max-width: 1190px) {
	.headline3 {
		font-size:28px;
		max-width:580px;
	}
}
@media only screen and (max-width: 1024px) {
	.headline3 {
		font-size:15px;
		max-width:calc(100% - 40px);
		padding:51px 0 27px;
	}
	.headline1,
	.headline1.bigFont {
		font-size:25px;
	}
	.headline1.bigFont em {
		font-size:35px;
	}
}
@media only screen and (max-width: 736px) {
	.headline1 {
		margin-bottom:20px;
	}
	.headline1 span {
		padding:0;
	}
	.headline1 .sub {
	font-size:13px;
}
	.headline1.bigFont,
	.headline1 {
		font-size:15px;
	}
	.headline1.bigFont em {
		font-size:25px;
	}
	.headline1::before {
		height:97%;
		transform:rotate(-6deg);
		top:0%;
	}
	.headline1:before {
		height:100%;
	}
	.headline1 .innerHeadline1 {
		font-size:15px;
	}
	.headline1 .innerHeadline1 .text {
		display:inline-block;
		transform:skew(0deg) rotate(0deg);
		max-width:278px;
		width:auto;
		margin:0 auto 0 auto;
		text-align:left;
	}
	.headline2 {
		margin-bottom: 20px;
		padding: 10px 10px 6px 25px;
		font-size: 17px;
	}
	.headline2 span::before {
		left: -12px;
		width: 4px;
	}
	.headline3 {
		margin:0 auto 20px;
		padding: 35px 0 20px;
	}
	.headline3::before {
		background-size: auto 15px;
	}
	.headline3::after {
		background-size: auto 3px;
	}
	.headline4 {
		margin-bottom:30px;
		font-size: 20px;
	}
	.menusub {
    font-size: 13px;
}
}
@media screen and (max-width:480px) {
	
	.headline1 .innerHeadline1 .text {
		max-width:238px;
		width:100%;
	}
}
@media screen and (max-width:350px) {
	.headline1 .innerHeadline1 {
		font-size:12px;
	}
	.headline1 .innerHeadline1 .text {
		display:inline-block;
		width:auto;
	}
}
.headTitle {
	position: relative;
	z-index: 1;
	padding: 50px 40px 37px 40px;
	text-align: center;
}
.headTitle::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: #FFF url(/img/common/bg_caption.png) no-repeat center 0;
	background-size: cover;
}
.headTitle .icon {
	margin-bottom: 25px;
}
.headTitle .subTitle {
	margin-bottom: 7px;
	color: #AAA;
	font-size: 16px;
	font-weight: bold;
}
.headTitle .title {
	font-size: 30px;
	font-weight: bold;
}
@media screen and (max-width:736px){
	.headTitle .icon {
		margin-bottom: 16px;
	}
	.headTitle .icon img {
		width: 30px;
	}
	.headTitle {
		padding: 30px 20px 20px 20px;
	}
	.headTitle .subTitle {
		margin-bottom: 7px;
		font-size: 10px;
	}
	.headTitle .title {
		font-size: 20px;
	}
}
/*==================================================================
	2. Layout setting
===================================================================*/

/* ------------------------------------------------------------------
	2-1. Base styles
-------------------------------------------------------------------*/
#wrapper {

}

#overlay {
	display:none;
	position:absolute;
	width:100%;
	height:100%;
	background-color: rgba(0, 0, 0, 0.72);
	top:144px;
	left:0;
	z-index:200;
}
#contents {
	position:relative;
	z-index:100;
}
.inner {
	position: relative;
	max-width:1240px;
	width:100%;
	margin:0 auto;
	padding:0 20px;
}


.groupButton {
	display:-webkit-flex;
	display:flex;
	justify-content:space-between;
	max-width:1040px;
	margin:0 auto;
	margin-bottom:50px;
}
.btn {
	max-width:500px;
	width:100%;
}
.btn a {
	position:relative;
	display:-webkit-flex;
	display:flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	-ms-align-items:center;
	align-items:center;
	justify-content:center;
	width:100%;
	max-width:494px;
	padding:20px 20px 15px;
	background-color:#E5004F;
	border:solid 3px #000;
	box-shadow:6px 6px 0 #000;
	font-size:20px;
	font-weight:bold;
	color:#FFF;
	text-align:center;
	text-decoration:none;
	transition:.5s;
}
.btn a:hover {
	color:#FFF;
	background-color:#F15389;
}
@media screen and (min-width: 736px) {
	.btn.tel a {
		pointer-events:none;
	}
}
.btn.net {
	margin-left:15px;
}
.btn.net a {
	-webkit-flex-direction:row;
	flex-direction:row;
	height:100%;
	color:#FFFF00;
	font-size:23px;
}
.btn.net a span {
	display:block;
	padding-bottom:11px;
}
.btn.net a img:first-child {
	margin-right:14px;
	margin-left:25px;
	margin-top:-8px;
	max-width:10%;
}
.btn.net a img:last-child {
	max-width:26%;
	margin-left:-18px;
	margin-top:14px;
}
.btn a:before {
	content:"";
	position:absolute;
	left:-3px;
	bottom:-9px;
	height:0;
	width:0;
	border-left:solid 6px transparent;
	border-top:solid 6px #000;
	border-right:0;
	border-bottm:0;
}
.btn a:after {
	content:"";
	position:absolute;
	right:-9px;
	top:-3px;
	height:0;
	width:0;
	border-bottom:solid 7px #000;
	border-right:solid 6px transparent;
	border-left:0;
	border-top:0;
	background-size:100%;
}
.btn.tel a span {
	display:block;
	width:100%;
	max-width:340px;
	text-align:right;
}
@media screen and (max-width:935px) {
	.groupButton .btn {
		width:100%;
		max-width:100%;
	}
	.groupButton .btn a {
		width:100%;
		max-width:100%;
	}
	.groupButton {
		display:-webkit-flex;
		display:flex;
		-webkit-flex-direction:column;
		flex-direction:column;
		max-width:100%;
		width:100%;
		margin-bottom:25px;
		padding:0 20px;
	}
	.groupButton .btn:nth-child(2) {
		margin-left:0;
	}
	.groupButton .btn.tel {
		margin-bottom:15px;
	}
}
@media screen and (max-width:736px) {
	.bgGirl {
		position:relative;
	}
	.bgGirl .groupButton:first-child:after {
		content:"";
		position:absolute;
		z-index:0;
		left:-20px;
		top:-108px;
		max-width:130px;
		width:41%;
		height:350px;
		background:url(/img/home/bg_contact_groupbtn.png) center no-repeat;
		background-size:100% auto;
		background-position:50% 0;
	}
	.groupButton .btn {
		position:relative;
		z-index:10;
		height:86px;
	}
	.groupButton .btn a {
		padding:15px;
		box-shadow:3px 4px 0 #000;
		font-size:14px;
	}
	.btn a {
		border:solid 2px #000;
	}
	.btn a:before {
		left:-2px;
		bottom:-6px;
		border-left:solid 3px transparent;
		border-top:solid 4px #000;
	}
	.btn a:after {
		right:-5px;
		top:-2px;
		border-right:solid 3px transparent;
		border-bottom:solid 4px #000;
	}
	.groupButton .btn.tel span {
		text-align:center;
	}
	.btn.net a span {
		padding-bottom:0;
	}
	.groupButton .btn.tel a img {
		max-width:220px;
		margin-top:5px;
	}
	.groupButton .btn.net a img {
		max-width:25px;
		width:10%;
		margin-top:5px;
		margin-left:0;
	}
	.groupButton .btn.net a img:last-child {
		max-width:74px;
		width:30%;
		margin-bottom:-21px;
		margin-left:-34px;
	}
}
/*button*/

.slider {
	padding:50px 0;
}
.slider .innerSlider {
	position:relative;
	margin:20px 0 23px;
}
.slider .innerSlider:after {
	content:"";
	position:absolute;
	left:0;
	top:-20px;
	width:100%;
	height:calc(100% + 40px);
	background-color:#EEE;
}
.swiper-container-free-mode>.swiper-wrapper {
	-webkit-transition-timing-function:linear;
	-o-transition-timing-function:linear;
	transition-timing-function:linear;
}
.slider .swiper-slide {
	width:340px !important;
}
@media screen and (max-width:736px) {
	.slider {
		padding:33px 0;
	}
	.slider .innerSlider:after {
		top:-10px;
		height:calc(100% + 20px);
	}
	.slider .innerSlider {
		margin:10px 0;
	}
	.slider .swiper-slide {
		width:170px !important;
	}
}
/*slider*/





/* ------------------------------------------------------------------
	2-2. Header styles
-------------------------------------------------------------------*/
#header {
	padding-top:30px;
	background-color:#FDB428;
}
#header>.inner {
	display:-webkit-flex;
	display:flex;
	justify-content:space-between;
	-ms-align-items:center;
	align-items:center;
	z-index: 500;
}
#logo {
	display:block;
	max-width:322px;
	width:54%;
	margin-top: 22px;
}
#logo a {
	text-decoration:none;
}
#logo #description {
	display:block;
	margin-bottom:7px;
	font-size:16px;
	color:#000;
}
#nav {
	max-width:600px;
	width:100%;
	margin-left:40px;
	/*margin-right:8px;
	margin-top:-18px;*/
}
#nav>ul {
	display:-webkit-flex;
	display:flex;
	-ms-align-items:center;
	align-items:center;
}
#nav>ul {
	margin-left:2px;
}
#nav>ul>li {
	position:relative;
	z-index:1000;
}
#nav>ul>li:last-child>a {
	border-right:solid 1px #000;
}
#nav>ul>li>a {
	position:relative;
	display:-webkit-flex;
	display:flex;
	-ms-align-items:center;
	align-items:center;
	border-left:solid 1px #000;
	transform:skew(-31deg);
	padding:10px 13px;
	font-size:16px;
	color:#000;
	text-decoration:none;
}
#nav>ul>li>a:after {
	content:"";
	position:absolute;
	bottom:0;
	left:calc(50% + 10px);
	transform:translateX(-50%);
	width:0;
	height:2px;
	background-color:#000;
	transition:0.65s;
}
#nav>ul>li>a:hover:after {
	width:25%;
}
#nav>ul>li>a.active:after {
	width:25%;
}
#nav>ul>li>a .iconNav {
	display:inline-block;
	max-height:30px;
	margin-right:8px;
}
#nav>ul>li>a .iconNav img {
	max-height:30px;
	width:auto;
}
#nav>ul>li>a>span {
	display:-webkit-flex;
	display:flex;
	-ms-align-items:center;
	align-items:center;
	transform:skew(31deg);
}

.contactBtn {
  width: 250px;
  height: 109px;
  background-image: url(/img/common/contact_on.png);

}
.contactBtnOn {
  width: 250px;
  height: 109px;
  background-image: url(/img/common/contact.png);
}

.contactBtnEffect{  /* 透明度を変更するエフェクトの設定 */
  opacity: 1;
  transition: .5s;
}
.contactBtnEffect:hover{  /* マウスオーバー時の設定 */
  opacity: 0;
}

.submenu {
	position:fixed;
	overflow-y:auto;
	display:none;
	top:150px;
	left:0;
	z-index:1000;
	width:100%;
	height:calc(100% - 150px);
	padding:65px 0;
	background-color:#FFF;
}
.submenu .arrow{
	content:"";
	position:fixed;
	z-index:1000;
	left:0;
	top:108px;
	width:0;
	height:0;
	border-top:0;
	border-left:solid 30px transparent;
	border-right:solid 30px transparent;
	border-bottom:solid 42px #FFF;

}
.submenu>.inner {
	overflow-y:scroll;
	max-width:1233px;
	height:100%;
}
.submenu>.inner::-webkit-scrollbar {
  -webkit-appearance: none;
}
.submenu>.inner::-webkit-scrollbar-thumb {
  background-color: none;
  -webkit-box-shadow: none;
}
.submenu .title {
	display:-webkit-flex;
	display:flex;
	justify-content:center;
	-ms-align-items:center;
	align-items:center;
	width:100%;
	margin-bottom:45px;
	font-size:30px;
	font-weight:bold;
	color:#000;
}
.submenu .title img {
	margin-right:20px;
	max-width:40px;
	width:100%;
}
.listBox {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content:center;
	-ms-align-items:flex-start;
	align-items:flex-start;
	overflow-y:hidden;
	width:100%;
}
.inquiryListBox {
	padding:43px 0 30px;
	background-color:#FDB428;
}
.listBox li {
	position:relative;
	display:-webkit-flex;
	display:flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	-ms-align-items:center;
	align-items:center;
	max-width:180px;
	width:100%;
	margin-right:8px;
	margin-left:8px;
	margin-bottom:40px;
}
.listBox li:hover .image {
	transition:0.5s;
}
.listBox li:hover .image {
	opacity:0.75;
}
.listBox li .image {
	max-width:160px;
	width:100%;
	background-color:#FFF;
}
.listBox li.bl-hover .image {
	opacity:1;
}
.listBox li .image img {
	transition:.6s;
}
.listBox li.bl-hover .image img {
	opacity:0.7;
}
.listBox li .link {
	position:absolute;
	display:-webkit-flex;
	display:flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	justify-content:center;
	bottom:0;
	left:0;
	width:100%;
	background-color:rgba(255, 255, 0, 0.9);
	padding:8px 10px;
	border-bottom:solid 3px #000;
}
.listBox li .link a {
	display:-webkit-flex;
	display:flex;
	justify-content:flex-start;
	-ms-align-items:center;
	align-items:center;
	text-decoration:none;
	font-size:16px;
	color:#000;
}
.listBox li .link a img {
	margin-right:15px;
}

/* 2004追加*/
.recommendListBox {
	padding:43px 0 30px;
	background-color:#feff4c;
}
/* 2004追加 ここまで*/

/* ------------------------------------------------------------------
	topMenu styles
-------------------------------------------------------------------*/
.topMenulistBox {
    width:100%;
    margin:0;
    padding:0;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-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;
    justify-content:center;
}
.topMenulistBox li {
	/*position:relative;*/
	display:-webkit-flex;
	display:flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	-ms-align-items:center;
	/*align-items:center;*/
	max-width:570px;
	width:100%;
	margin-right:30px;
	/*margin-left:10px;*/
	margin-bottom:40px;
	background-color: #fff;
}
.topMenulistBox li:hover .image {
	transition:0.5s;
}
.topMenulistBox li:hover .image {
	opacity:0.75;
}
.topMenulistBox li .image {
	/*max-width:160px;*/
	/*width:100%;*/
	background-color:#FFF;
}
.topMenulistBox li a{
	text-decoration:none;
	color:#000;
}
.topMenulistBox li.bl-hover .image {
	opacity:1;
}
.topMenulistBox li .image img {
	transition:.6s;
	float:left;
	padding: 10px;
}
.topMenulistBox li.bl-hover .image img {
	opacity:0.7;
}
.topMenulistBox li a:hover {
    color: #000;
}
.topMenulistBox li .link {
	/*position:absolute;*/
	display:-webkit-flex;
	display:flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	justify-content:center;
	bottom:0;
	left:0;
	width:100%;
	height: 60px;
	background-color:rgba(255, 255, 0, 0.9);
	padding:8px 10px;
	border-bottom:solid 3px #000;
}
.topMenulistBox li .link a {
	display:-webkit-flex;
	display:flex;
	justify-content:flex-start;
	-ms-align-items:center;
	align-items:center;
	text-decoration:none;
	font-size:16px;
	color:#000;
}
.topMenulistBox li .link a img {
	margin-right:15px;
}
.topMenulistBox li .menuText {
	float:left;
	width: 390px;
	padding: 10px;
	font-size: 14px;
	line-height: 1.7em;
}

/* 2004追加*/
.topMenulistBox02 {
    width:100%;
    margin:0;
    padding:0;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-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;
    justify-content:center;
}

.topMenulistBox02 li {
	/*position:relative;*/
	display:-webkit-flex;
	display:flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	-ms-align-items:center;
	/*align-items:center;*/
	max-width:360px;
	width:100%;
	margin-right:30px;
	/*margin-left:10px;*/
	margin-bottom:40px;
	background-color: #fff;
	box-sizing: border-box;
}

.topMenulistBox02 li:hover .image {
	transition:0.5s;
}
.topMenulistBox02 li:hover .image {
	opacity:0.75;
}
.topMenulistBox02 li .image {
	/*max-width:160px;*/
	/*width:100%;*/
	background-color:#FFF;
}
.topMenulistBox02 li a{
	text-decoration:none;
	color:#000;
}
.topMenulistBox02 li.bl-hover .image {
	opacity:1;
}
.topMenulistBox02 li .image img {
	transition:.6s;
	float:left;
	padding: 10px;
}
.topMenulistBox02 li.bl-hover .image img {
	opacity:0.7;
}
.topMenulistBox02 li a:hover {
    color: #000;
}
.topMenulistBox02 li .link {
	/*position:absolute;*/
	display:-webkit-flex;
	display:flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	justify-content:center;
	bottom:0;
	left:0;
	width:100%;
	height: 60px;
	background-color:rgba(253, 172, 53, 0.9);
	padding:8px 10px;
	border-bottom:solid 3px #000;
}
.topMenulistBox02 li .link a {
	display:-webkit-flex;
	display:flex;
	justify-content:flex-start;
	-ms-align-items:center;
	align-items:center;
	text-decoration:none;
	font-size:16px;
	color:#000;
}
.topMenulistBox02 li .link a img {
	margin-right:15px;
}
.topMenulistBox02 li .menuText {
	float:left;
	width: 360px;
	padding: 10px;
	font-size: 14px;
	line-height: 1.7em;
}

.topMenulistBox02 li .link02 {
	/*position:absolute;*/
	display:-webkit-flex;
	display:flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	justify-content:center;
	bottom:0;
	left:0;
	width:100%;
	height: 60px;
	background-color:rgba(255, 255, 0, 0.9);
	padding:8px 10px;
	border-bottom:solid 3px #000;
}

/* 2004追加 ここまで*/


@media screen and (max-width:736px) {
.topMenulistBox li {
	max-width:100%;
	width:100%;
	margin-right:0;
}
.topMenulistBox li .menuText {
	float:none;
	width: auto;
	font-size: 13px;
	line-height: 1.6em;
}
}

#btnMenu {
	display:none;
}
#nav .groupButton {
	display:none;
}

@media screen and (max-width:736px) {
	#header {
		position:relative;
		padding-top:7px;
	}
	#nav>ul>li>a .iconNav {
		margin-right:10px;
	}
	#overlay {
		top:58px !important;
	}
	#nav>ul>li>a:after {
		content:none;
	}
	#btnMenu {
		position: fixed;;
		z-index:10;
		right:0;
		top:0;
		width:80px;
		height:58px;
		display:-webkit-flex;
		display:flex;
		-webkit-flex-direction:column;
		flex-direction:column;
		justify-content:space-between;
		padding:16px 20px;
		background-color: transparent;
		transition: all 1s;
	}
	#btnMenu.active {
		z-index:9999;
		background-color:#FDB428;
	}
	#header.active {
		/* z-index:1000; */
	}
	#header.active .overlay-header {
		position:absolute;
		z-index:1;
		width:100%;
		height:66px;
		left:0;
		top:-15px;
		background-color:rgba(0, 0, 0, 0.72);
	}
	#btnMenu>span {
		width:100%;
		height:3px;
		background-color:#000;
		cursor:pointer;
		transition:1s;
	}
	#btnMenu.active>span:nth-child(1) {
		transform:rotate(45deg) translateY(9px) translateX(9px);
	}
	#btnMenu.active>span:nth-child(2) {
		opacity:0;
	}
	#btnMenu.active>span:nth-child(3) {
		transform:rotate(-45deg) translateY(-7px) translateX(7px);
	}
	#nav {
		position:fixed;
		overflow-y:auto;
		z-index:2000;
		right:0;
		top:58px;
		width:100%;
		height:calc(100% - 58px);
		max-width:90%;
		margin:0;
		background:#FFF;
		transform:translateX(100%);
		transition:1s;
		visibility:hidden;
	}
	#nav.active {
		transform:translateX(0);
		visibility:hidden;
	}
	#nav .groupButton {
		display:-webkit-flex;
		display:flex;
		-webkit-flex-direction:column;
		flex-direction:column;
		max-width:100%;
		width:100%;
		margin-bottom:35px;
		padding:0 20px;
	}
	#nav>ul {
		-webkit-flex-direction:column;
		flex-direction:column;
		-ms-align-items:flex-start;
		align-items:flex-start;
		margin-bottom:35px;
		padding:0 20px;
	}
	#nav>ul>li {
		width:100%;
	}
	#nav>ul>li>a {
		border-left:0;
		border-bottom:solid 1px #000;
		padding:15px 0;
		transform:skew(0);
		font-size:10px;
	}
	#nav>ul>li>a.hasSubmenu {
		border-bottom:dotted 1px #000;
	}
	#nav>ul>li:last-child>a {
		border-right:0;
	}
	#nav>ul>li>a>span {
		transform:skew(0);
	}
	#logo {
		width:auto;
		max-width:167px;
	}
	#logo #description {
		font-size:11px;
	}
	.submenu {
		position:relative;
		left:0;
		top:0;
		display:-webkit-flex;
		display:flex;
		padding:0;
	}
	.submenu.active {
		display:-webkit-flex !important;
		display:flex !important;
	}
	.submenu>.inner {
		padding:0;
		overflow-y:hidden;
	}
	.submenu .arrow {
		display:none;
	}
	.submenu .title {
		display:none;
	}
	.submenu .listBox li {
		max-width:100%;
		width:100%;
		margin-right:0;
		margin-bottom:0;
		margin-left:0;
	}
	.submenu .listBox li .image {
		display:none;
		max-width:100%;
	}
	.submenu .listBox li .link {
		position:relative;
		left:0;
		top:0;
		padding:5px 0;
		background:none;
		border-bottom:dotted 1px #000;
	}
	.spBigfont {
		font-size:15px;
	}
	.submenu .listBox li .link a {
		font-size:13px;
	}
	.submenu .listBox li .link a span {
		display:-webkit-flex;
		display:flex;
		-ms-align-items:center;
		align-items:center;
		justify-content:center;
		width:30px;
		height:30px;
		margin-right:10px;
		border-radius:50%;
		background-color:#FFFF00;
	}
	.submenu .listBox li .link a img {
		max-width:20px;
		max-height:20px;
		margin-right:0;
	}
	.listBox li {
		margin:0 5px 15px;
	}
	.listBox li .link {
		padding:3px 5px;
	}
	.listBox li .link a {
		font-size:8px;
	}
	.listBox li .link a img {
		max-width:13px;
		max-height:13px;
		margin-right:3px;
	}
	.listBox li {
		width:33.33%;
		max-width:calc(33.33% - 10px);
	}
	.listBox li .image {
		width:100%;
		max-width:calc(100% - 10px);
	}
	.listBox li .image img {
		width:100%;
		max-width:100%;
	}
}

/* ------------------------------------------------------------------
	2-3. Navi styles
-------------------------------------------------------------------*/
#navi {
	clear:both;
}


/* ------------------------------------------------------------------
	2-4. Main styles
-------------------------------------------------------------------*/
#main {

}

.bgGradient {
	background: #FFF url(/img/common/bg_gradient.png) repeat;
} 
/*.sectionPromotion {
	padding: 0 0 75px;
}*/
.typePromotion {
	display: flex;
	transition: all 0.3s;
	justify-content: center;
	margin-bottom: 20px;
}
.typePromotion .item {
	transition: all 0.3s;
	width: 23.5%;
	margin-right: 2.5%;
	border: 3px solid #000;
	background-color: #FFF;
	font-weight: bold;
}
.typePromotion .item:last-child {
	margin-right: 0;
}
.typePromotion .item.active,
.typePromotion .item:hover {
	background-color:#ffff00;
}
.typePromotion .item a {
	display: flex;
	justify-content: center;
	height: 100%;
	padding: 20px 10px;
	flex:1;
	color: #000;
	align-items: center;
	font-size: 20px;
	text-decoration: none;
	text-align: center;
}

.tabPromotion {
	padding: 40px 35px 0;
	background-color: #eeeeee;
}
.promotionList {
	display: flex;
	justify-content: flex-start;
	transition: all 0.3s;
	flex-wrap: wrap;
}
.promotionList .item {
	transition: all 0.3s;
	width: calc(31% - 8px);
	max-width: 342px;
	margin: 0 1.5%;
	margin-bottom: 40px;
}
.tabBox {
	display:none;
}
#tab01 {
	display:block;
}
.tabArea {
	margin-bottom: 25px;
}
.enterprise .title {
	transition: all 0.3s;
	margin-bottom: 20px;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
}
.boxDetail {
	transition: all 0.3s;
	padding: 40px 15px;
	border: 3px solid #000;
	background-color: #FFF;
	font-size: 20px;
	text-align: center;
	line-height: 1.5;
}
.bgDetail {
	position: relative;
	background-color: #f5f5f5;
	z-index: 1;
}
#page404 #footer {
	background-color: unset;
}
.sectionThank .detail,
.sectionNotFound .detail {
	margin:0 auto;
	padding: 80px 0 60px;
	font-size: 18px;
	text-align: center;
	line-height: 2;
}
.sectionThank .detail p {
	line-height:1.5;
}
.sectionThank .detail .title {
	font-size:22px;
	line-height:1.5;
	font-weight:bold;
	margin-bottom:20px;
}
.sectionThank .detail .link a {
	display:block;
	padding:5px;
	max-width:200px;
	margin:0 auto;
	color:#333;
	background-color:#fdb428;
	text-decoration:none;
	transition:opacity .3s;
}
.sectionThank .detail .link a:hover {
	opacity:.6;
}
.sectionThank .detail .link,
.sectionNotFound .detail .link {
	display: block;
	margin-top: 60px;
}
.sectionThank .detail a,
.sectionNotFound .detail a {
	color: #e5004f;
}
.sectionNotFound .detail .topLine {
	display: block;
	margin-bottom: 50px;
}
.sectionPrivacy {
	max-width: 800px;
	margin: 0 auto;
}
.blockPrivacy .title {
	padding-bottom: 10px;
	border-bottom: 2px solid #000;
	font-size: 20px;
	font-weight: bold;
}
.blockPrivacy .listPrivacy{
	font-size: 16px;
}
.blockPrivacy .listPrivacy>li{
	padding: 40px 0;
	border-bottom: 1px solid #D1D1D1;
}
.blockPrivacy .listPrivacy>li:last-child{
	padding-bottom: 50px;
	border-bottom: none;
}
.listPrivacy .subTitle{
	margin-bottom: 10px;
	font-weight: bold;
}
.listPrivacy .detail{
	line-height: 2;
}
.listPrivacy .detail .spacing,
.listPrivacy .detail .bold {
	display: block;
	margin: 20px 0;
}
.listPrivacy .detail .topLine{
	display: block;
	margin-bottom: 20px;
}
.listPrivacy .listItem{
	list-style-position: inside;
	list-style-type: upper-roman;
	line-height: 2;
}
.listPrivacy .item{
	margin-bottom: 30px;
}
.listPrivacy .item:last-child{
	margin-bottom: 0;
}
.listPrivacy .elucidation .item{
	margin-bottom: 0;
}
.listPrivacy .detailItem{
	list-style-type: disc;
	list-style-position: inside;
}
.blockPrivacy .contact,
.blockPrivacy .copy {
	padding: 30px 20px;
	font-size: 16px;
	line-height: 2;
}
@media screen and (max-width:736px){
	.bgGradient {
		background-size: 39px 39px;
	}
	.sectionPromotion {
		padding: 0;
	}
	.tabPromotion {
		padding: 20px 15px 10px;
		background-color: #eeeeee;
	}
	.typePromotion {
		flex-wrap: wrap;
		padding: 0 20px;
	}
	.typePromotion .item {
		width: 48.5%;
		margin-bottom: 10px;
		border: 2px solid #000;
	}
	.typePromotion .item:nth-child(2n) {
		margin-right: 0;
	}
	.tabContents{
		padding: 4%;
	}
	.promotionList .item {
		width: 47%;
		margin-bottom: 10px;
	}
	.typePromotion {
		margin-bottom: 10px;
	}
	.typePromotion .item a{
		font-size: 12px;
	}
	.enterprise {
		padding-bottom: 40px;
	}
	.enterprise .title {
		margin-bottom: 10px;
		font-size: 15px;
	}
	.boxDetail {
		padding: 10px;
		border: 2px solid #000;
		font-size: 10px;
		text-align: left;
	}
	.sectionThank .detail .title {
		font-size:15px;
	}
	.sectionThank .detail,
	.sectionNotFound .detail {
		padding: 40px 0;
		font-size: 12px;
	}
	.sectionThank .detail span,
	.sectionNoFound .detail span {
		display: block;
		margin-top: 20px;
	}
	.sectionThank .detail a,
	.sectionNoFound .detail a {
		color: #e5004f;
	}
	#page404 .headTitle .icon img {
		width: 150px;
	}
	.headTitle {
		background-color: #000;
		margin-bottom:calc(20px + 2px);
		padding: 40px 20px 20px;
	}
	.sectionNotFound .detail .topLine {
		margin-bottom: 35px;
	}
	.sectionThank .detail .link,
	.sectionNotFound .detail .link {
		margin-top: 30px;
	}
	.headTitle::before {
		height:calc(100% + 17px);
		background: none;
		background-color: #FFF;
		transform: skew(-2.6deg) rotate(-2.6deg);
	}
	/*******************/
	.blockPrivacy .title {
		font-size: 17px;
	}
	.blockPrivacy .listPrivacy{
		font-size: 13px;
	}
	.blockPrivacy .listPrivacy>li{
		padding: 20px 0;
		border-bottom: 1px solid #D1D1D1;
	}
	.blockPrivacy .listPrivacy>li:last-child{
		padding-bottom: 40px;
		border-bottom: none;
	}
	.listPrivacy .subTitle{
		margin-bottom: 10px;
		font-weight: bold;
	}
	.listPrivacy .detail{
		line-height: 2;
	}
	.listPrivacy .detail .spacing,
	.listPrivacy .detail .bold {
		display: block;
		margin: 20px 0;
	}
	.listPrivacy .detail .topLine{
		display: block;
		margin-bottom: 20px;
	}
	.listPrivacy .listItem{
		list-style-position: inside;
		list-style-type: upper-roman;
		line-height: 2;
	}
	.listPrivacy .item{
		margin-bottom: 30px;
	}
	.listPrivacy .item:last-child{
		margin-bottom: 0;
	}
	.listPrivacy .elucidation .item{
		margin-bottom: 0;
	}
	.listPrivacy .detailItem{
		list-style-type: disc;
		list-style-position: inside;
	}
	.blockPrivacy .contact,
	.blockPrivacy .copy {
		padding: 30px 20px;
		font-size: 13px;
		line-height: 2;
	}
}
/* ------------------------------------------------------------------
	2-5. Keyv styles
-------------------------------------------------------------------*/
#keyv {
	position:relative;
	z-index:200;
	background-color:#000;
	height:644px;
}
#keyv .keyvDetail {
	position:absolute;
	left:50%;
	top:57%;
	transform:translateX(-50%) translateY(-50%);
	max-width:720px;
	width:100%;
	padding:0 20px;
}
#keyv .keyvImage {
	overflow:hidden;
	position:relative;
	top:9px;
	height:634px;
	transform:skew(-2.6deg) rotate(-2.6deg);
}
#keyv .keyvImage img {
	overflow:hidden;
	position:absolute;
	left:50%;
	top:50%;
	transform:translateX(-50%) translateY(-50%);
	width:120%;
	max-width:inherit;
}
#keyv .keyvTitle {
	margin-bottom:40px;
	font-size:60px;
	font-weight:bold;
	color:#000;
	text-align:center;
}
#keyv .keyvTitle span {
	display:block;
	font-size:40px;
}
#keyv .keyvDetail ul {
	display:-webkit-flex;
	display:flex;
	justify-content:space-between;
}
#keyv .keyvDetail ul li {
	display:-webkit-flex;
	display:flex;
	justify-content:center;
	width:206px;
	height:230px;
	padding:80px 35px 0;
	background:url(/img/home/bg_detail_01.png) center no-repeat;
	background-size:100%;
	font-size:18px;
	font-weight:bold;
	colog:#000;
	text-align:center;
}
#keyv .keyvDetail ul li span {
	display:-webkit-flex;
	display:flex;
	-ms-align-items:center;
	align-items:center;
	height:80px;
}
#keyv .keyvDetail ul li.item2 {
	background:url(/img/home/bg_detail_02.png) center no-repeat;
	background-size:100%;
}
#keyv .keyvDetail ul li.item3 {
	background:url(/img/home/bg_detail_03.png) center no-repeat;
	background-size:100%;
}


@media screen and (max-width:736px) {
	#keyv,
	#keyv .keyvImage {
		height:420px;
	}
	#keyv .keyvImage {
		top:0;
	}
	#keyv .keyvTitle {
		font-size:30px;
	}
	#keyv .keyvTitle span {
		font-size:20px;
	}
	#keyv .keyvImage img {
		width:210%;
	}
	#keyv .keyvDetail ul {
		position:relative;
		top:40px;
		max-width:260px;
		margin:0 auto;
		justify-content:space-between;
	}
	#keyv .keyvDetail ul li {
		max-width:125px;
		padding:77px 20px 0;
	}
	#keyv .keyvDetail ul li:first-child {
		position:absolute;
		top:0;
		left:50%;
		transform:translateX(-50%) translateY(-50%);
	}
	#keyv .keyvDetail ul li span {
		font-size:12px;
	}
}

/* ------------------------------------------------------------------
	2-6. Footer styles
-------------------------------------------------------------------*/
#footer {
	padding-top:60px;
	background-color:#E5E5E5;
}
.fSection {
	padding:40px 0;
	background-color:#434343;
}
.fSection .inner {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	justify-content:center;
	-ms-align-items:center;
	align-items:center;
}
.fNav {
	display:-webkit-flex;
	display:flex;
	justify-content:center;
	margin-bottom:12px;
}
.fNav li {
	border-right:solid 1px #FFF;
}
.fNav li:first-child a {
	padding-left:0;
}
.fNav li:last-child {
	border-right:0;
}
.fNav li:last-child a {
	padding-right:0;
}
.fNav li a {
	padding:0 22px;
	color:#FFF;
	font-size:14px;
	text-decoration:none;
}
.fNav li a:hover {
	color:#FFF;
	text-decoration:underline;
}
.fNav li a {
	color:#FFF;
	font-size:14px;
}
#copyright {
	font-size:12px;
	color:#FFF;
}

@media screen and (max-width:736px) {
	#footer {
		position: relative;
		z-index: 101;
		padding-top:50px;
	}
	.fSection {
		border-top:solid 2px #CCC;
		border-bottom:solid 2px #FFF;
		padding:0;
	}
	.fSection .inner {
		padding:0;
	}
	.fNav {
		display:-webkit-flex;
		display:flex;
		-webkit-flex-direction:column;
		flex-direction:column;
		justify-content:center;
		width:100%;
		margin-bottom:0;
	}
	.fNav li {
		border-right:0;
		border-bottom:solid 2px #CCC;
		background-color:#FFF;
	}
	.fNav li a {
		display:block;
		padding:22px 20px;
		color:#434343;
		font-size:15px;
	}
	.fNav li:first-child a {
		padding-left:20px;
	}
	.fNav li:last-child a {
		padding-right:20px;
	}
	#copyright {
		border-bottom:0;
		padding:15px 20px;
		font-size:10px;
		color:#FFF;
		text-align:center;
	}
}
/* ------------------------------------------------------------------
	.blockQuestion
-------------------------------------------------------------------*/
.removeBlockQuestion .blockQuestion {
	display: none;
}
.blockQuestion {
	position: relative;
	transition: all 0.5s;
	z-index: 10;
}
.blockQuestion::after {
	content: '';
	z-index: -1;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	background-color: rgba(229, 0, 79, 0.9);
}
.innerQuestion {
	width: 100%;
	max-width: 820px;
	margin: 0 auto;
}
.innerQuestion .title {
	padding: 10px 10px 10px 10px;
	font-size: 18px;
	color: #fff;
	text-align: center;
}
.f_groupLink {
	display: flex;
	justify-content: center;
	padding: 10px 10px 10px 10px;
}
.f_groupLink .phone {
	margin-right: 35px;
	pointer-events: none;
}
.f_groupLink .phone img {
	height: 40px;
}
.f_groupLink .link {
	transition: all 0.3s;
}
.f_groupLink .link:hover {
	opacity: 0.7;
}
.f_groupLink_sp {
	display: none;
}
.blockQuestion.jsScroll01.scroll-to-fixed-fixed {
	bottom: -115px !important;
}
.blockQuestion.jsScroll01.scroll-to-fixed-fixed.active {
	bottom: 0 !important;
}

@media screen and (max-width:736px) {
	.innerQuestion .title {
		font-size: 13px;
		line-height: 1.5;
	}
	.f_groupLink {
		display: none;
	}
	.f_groupLink .phone {
		pointer-events: initial;
	}
	.f_groupLink_sp {
		display: flex;
		align-items: center;
		background-color: #FFF;
		border: 1px solid #e7124b
	}
	.f_groupLink_sp a {
		display: flex;
		align-items: center;
		width: 50%;
		height: 50px;
		padding: 10px 5px 10px 5px;
		font-size: 12px;
		font-weight: bold;
		color: #e7124b;
		text-decoration: none;
	}
	.f_groupLink_sp a img {
		display: block;
		width: 30px;
		margin-right: 5px;
	}
	.f_groupLink_sp .phone {
		border-right: 1px solid #e7124b;
	}
	.f_groupLink_sp .text em {
		display: block;
		font-size: 14px;
		font-weight: bold;
	}
}

@media screen and (max-width:374px) {
	.innerQuestion .title {
		font-size: 11px;
		line-height: 1.4;
	}
	.f_groupLink_sp .text em {
		font-size: 11px;
	}
	.f_groupLink_sp a {
		height: auto;
		padding: 5px 5px 5px 5px;
		font-size: 10px;
	}
}

/* ------------------------------------------------------------------
	.highLight
-------------------------------------------------------------------*/
.highLight {
	position: relative;
	z-index: 1;
}
.highLight span {
	display: inline-block;
	position: relative;
	z-index: -1;
}
.highLight span::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 13%;
	z-index: -1;
	width: 100%;
	height: 50%;
	background-color: #ff0;
	-webkit-transform: skew(-28deg);
	-ms-transform: skew(-28deg);
	-o-transform: skew(-28deg);
	transform: skew(-28deg);
}
.highLight.pink span::before {
	background-color: #fbbed8;
}
.highLightSub {
	position: relative;
	z-index: 2;
}











/*pageTOP*/

#pageTop {
	position:fixed;
	z-index:400;
	right:50px;
	bottom:50px;
	opacity:0;
	-webkit-transition: .3s ease-in-out, bottom 0s;
	-moz-transition: .3s ease-in-out, bottom 0s;
	-o-transition: .3s ease-in-out, bottom 0s;
	transition: .3s ease-in-out, bottom 0s;
}
#pageTop a {
	display:block;
	border-radius:50%;
	background-color:#FFF;
}
#pageTop a img {
	transition:.65s;
}
#pageTop a:hover img {
	opacity:0.7;
}
#pageTop.active {
	opacity:1;
}
@media screen and (max-width:736px) {
	#pageTop {
		right:10px;
		bottom:10px;
	}
	#pageTop img {
		width:100%;
	}
	#pageTop a {
		width:46px;
	}
}


/*contactMap*/
.contactMap {
	position:relative;
	display:-webkit-flex;
	display:flex;
	-ms-align-items:flex-end;
	align-items:flex-end;
	max-width:1040px;
	width:100%;
	margin:0 auto;
}
.contactMap .imgContactmap{
	width:108%;
	margin-left:-8%;
}
.contactMap .title {
	position:absolute;
	left:59.5%;
	bottom:6px;
	transform:translateX(-68%);
	max-width:550px;
	width:53.1%;
	padding-bottom:26.1%;
	font-size:28px;
	font-weight:bold;
	color:#000;
	text-align:center;
}
.contactMap .intro {
	position:relative;
	display:inline-block;
	margin-bottom:12px;
}
.contactMap .intro:before {
	content:"";
	position:absolute;
	left:-12px;
	bottom:10px;
	width:2px;
	height:88%;
	background-color:#000;
	transform:rotate(-22deg);
}
.contactMap .intro:after {
	content:"";
	position:absolute;
	right:-12px;
	bottom:10px;
	width:2px;
	height:88%;
	background-color:#000;
	transform:rotate(22deg);
}
.contactMap .textBox {
	padding:5px 10px;
	background-color:#FFFF00;
	border:solid 4px #000;
	border-radius:5px;
}
@media screen and (max-width:736px) {
	.contactMap {
		-webkit-flex-direction:column;
		flex-direction:column;
		-ms-align-items:flex-start;
		align-items:flex-start;
	}
	.contactMap .imgContactmap{
		width:calc(100% + 40px);
		margin-left:-20px;
	}
	.contactMap .imgContactmap img{
		width:100%;
	}
	.contactMap .title .intro {
		font-size:14px;
	}
	.contactMap .title {
		position:relative;
		left:0%;
		bottom:0;
		transform:translateX(0);
		max-width:340px;
		width:100%;
		margin:0 auto 24px;
		padding-bottom:0;
		font-size:17px;
	}
	.contactMap .textBox {
		position:relative;
		border-width:2px;
	}
	.contactMap .textBox:before {
		content:"";
		position:absolute;
		z-index:10;
		left:50%;
		top:calc(100% - 1px);
		transform:translateX(-50%);
		width:0;
		height:0;
		border-top:solid 18px #FFFF00;
		border-bottom:0;
		border-left:solid 15px transparent;
		border-right:solid 15px transparent;
	}
	.contactMap .textBox:after {
		content:"";
		position:absolute;
		z-index:5;
		left:50%;
		top:100%;
		transform:translateX(-50%);
		width:0;
		height:0;
		border-top:solid 20px #000;
		border-bottom:0;
		border-left:solid 17px transparent;
		border-right:solid 17px transparent;
	}
}


/*modal*/
.modal {
	overflow:hidden;
	display:none;
	position:fixed;
	top:50%;
	left:50%;
	width:100%;
	max-width:1274px;
	/*height:100vh;*/
	max-height:850px;
	background:transparent;
	z-index:1001;
	padding:70px;
}
.overlay {
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#000;
	z-index:1000;
}
.close {
	position:absolute;
	z-index:4500;
	right:7px;
	top:0;
	width:58px;
	height:58px;
}
.modalContent {
	overflow-y:auto;
	overflow-x:hidden;
	position:relative;
	max-height:80vh;
	padding:50px 30px 55px;
	background-color:#FFF;
}
.modalContent .headTitle::before {
	content:none;
}
.modalContent .headTitle {
	margin-bottom:45px;
	padding:0;
}

.modalContent .blockOverview {
	max-width:1200px;
	width:100%;
	margin:0 auto;
	padding:30px;
	background:#FFF url(/img/common/bg_gradient.png) repeat;
}
.modalContent .imgOverviewFull {
	width:100%;
	margin: 0 0 30px 0;
}
.modalContent .imgOverviewFull img {
	width: 50%;
	float: left;
}
.modalContent .imgOverview {
	float:left;
	width:calc(47.5% - 30px);
	margin-right:30px;
}
.modalContent .imgOverview img {
	width: 100%;
}
.modalContent .blockOverview .contentFull {
	width: 100% !important;
}
.modalContent .blockOverview .content {
	float:left;
	width:52.5%;
}
.modalContent .blockOverview .content .head {
	padding:0 15px 8px 0px;
	color:#000;
	font-size:26px;
	font-weight:bold;
	line-height:1.5;
}
.modalContent .blockOverview .content .title {
	position:relative;
	margin-bottom:9px;
	padding:0 0 0 25px;
	color:#000;
	font-size:26px;
	font-weight:bold;
}
.modalContent .blockOverview .content .title::before {
	content:"";
	position:absolute;
	left:0;
	top:5px;
	width:20px;
	height:20px;
	background-color:#000;
}
.modalContent .blockOverview .content .detail {
	color:#000;
	font-size:20px;
	line-height:2;
}
@media screen and (max-width:736px){
	.modal {
		padding:31px 20px;
	}
	.close {
		width:26px;
		height:26px;
	}
	.close img {
		width:100%;
	}
	.modalContent {
		padding:24px 0 0;
	}
	.modalContent .headTitle {
		margin-bottom:17px;
		background-color:#FFF;
	}
	.modalContent .blockOverview {
		margin-bottom:0;
		padding:20px;
		background-size:45px;
	}
	.modalContent .imgOverviewFull {
		margin: 0 0 10px 0;
	}
	.modalContent .imgOverview {
		width:100%;
		margin-right:0;
		margin-bottom:10px;
	}
	.modalContent .imgOverview img {
		width:100%;
		margin:0 auto;
	}
	.modalContent .blockOverview .content {
		width:100%;
	}
	.modalContent .blockOverview .content .head {
		margin-bottom:0;
		padding-bottom:0;
		border-bottom:0;
		font-size:15px;
	}
	.modalContent .blockOverview .content .head br {
		display:none;
	}
	.modalContent .blockOverview .content .title {
		margin-bottom:4px;
		padding:0 0 0 25px;
		font-size:17px;
	}
	.modalContent .blockOverview .content .title::before {
		left:0;
		top:2px;
		width:15px;
		height:15px;
	}
	.modalContent .blockOverview .content .detail {
		font-size:13px;
		line-height:2;
	}
}
/*==================================================================
	. sectionProduct 
===================================================================*/
.sectionProduct {
	margin-bottom: 60px;
}
.blockProduct {
	margin-bottom: 40px;
}
.blockProduct:last-child {
	margin-bottom: 0px;
}
.blockProduct .detail {
	margin: -6px 0 0 0;
	color: #000;
	font-size: 20px;
	line-height: 1.5;
}
.blockProduct .detail a {
	color: #E5004F;
}

.blockImg {
	float: left;
	width: 35%;
	margin-right: 30px;
}
.blockImg img {
	display: block;
	margin-bottom: 8px;
}
.blockImg .imgTitle {
	color: #999;
	font-size: 14px;
}


/* 2004追加　*/

.blockProduct .column2Wrap{
	display: flex;
}

.blockProduct .column2Wrap .detailWrap{
	width:60%;
}

.blockProduct .column2Wrap .detailWrap img{
	width: 40%;
}

.blockProduct .title {
	position: relative;
	margin-bottom: 9px;
	color:#000;
	font-size: 26px;
	font-weight: bold;
}

.blockProduct ul.blocklist{
	margin: 1rem 0 2rem 0;
}

.blockProduct ul.blocklist li{
	margin-bottom: 1rem;
}

.comparisonWrap{
	display: flex;
	justify-content: space-between;
}

.comparisonWrap .blockImg{
	width: 45%;
	margin-bottom: 1rem;
}

.comparisonWrap .blockImg img {
	display: block;
	width: 100%;
}

/* 2004追加ここまで　*/

@media screen and (max-width:736px){
	.sectionProduct {
		margin-bottom: 50px;
	}
	.blockProduct {
		margin-bottom: 30px;
	}
	.blockProduct .detail {
		margin: 0;
		font-size: 13px;
		line-height: 2;
	}
	
	/* 200416追加　*/
	.blockProduct .column2Wrap{
		display: block;
	}

	.blockProduct .column2Wrap .detailWrap{
		width:100%;
	}

	.blockProduct .column2Wrap .detailWrap img{
		width:100%;
	}
	
	.blockProduct .title {
		margin-bottom: 4px;
		font-size: 17px;
	}

	.blockImg {
		width: 100%;
		margin: 0 0 10px 0;
		padding: 0 30px;
	}
	.blockImg img {
		display: block;
		width: 100%;
		margin: 0 auto 5px auto;
	}
	.blockImg .imgTitle {
		font-size: 10px;
	}
	
	.comparisonWrap{
		display: block;
	}

	.comparisonWrap .blockImg{
		width: 100%;
		margin-bottom: 1rem;
	}

	.comparisonWrap .blockImg img {
		display: block;
		width: 100%;
	}
}

/*==================================================================
	. sectionWhat 
===================================================================*/
.meritTitle{
    top: -150px;
    padding: 80px 0 !important;
}
.meritIcon {
    margin-top: -120px;
}
.merit {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-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;
}

.merit li {
	width:398px;
	height:auto;
	float:left;
	padding:0 20px;
	border-right: solid 1px #aaa;

}
.merit li:last-child {
	border-right: none;
}
.merit img {
	margin-bottom:30px;
}

.merit p {
    font-size: 16px;
    line-height: 2;
}

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

.merit li {
	width:100%;
	height:auto;
	float:none;
	padding:0 0 40px 0;
	border-right:none;
}
.merit li:last-child {
	border-right: none;
}
.merit p {
    font-size: 14px;
    line-height: 2;
}
}

.sectionMenu {
margin:100px auto;
}

/*==================================================================
	. listFlow
===================================================================*/
.listFlow {
	padding: 0 20px;
}
.listFlow .item {
	position: relative;
	display: flex;
	margin-bottom: 40px;
}
.listFlow .item::after {
	position: absolute;
	top: 100%;
	left: 65px;
	width: 43px;
	height: 19px;
	background: url(/img/common/icon_triangle.svg) no-repeat 50% 50%;
	content: '';
}
.listFlow .item:last-child {
	margin-bottom: 0;
}
.listFlow .item:last-child::after {
	display: none;
}
.flowTitle {
	width: 175px;
	margin-right: 35px;
}
.flowTitle .text {
	font-size: 23px;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
}
.flowTitle .step {
	position: relative;
	text-align: center;
	z-index: 1;
	width: 150px;
	margin: 0 0 5px 10px;
	padding: 5px 6px 7px 6px;
	color: #ffff00;
	font-size: 21px;
	font-weight: bold;
	text-transform: uppercase;
	transform: skewX(0);
}
.flowTitle .step::after {
	position: absolute;
	z-index: -1;
	left: calc(50%);
	width: 150px;
	top: 50%;
	height: 30px;
	background-color: #000;
	transform: skewX(-20deg) translate(-50%, -50%);
	content: '';
}
.flowTitle .step.yellow {
	color: #000;
}
.flowTitle .step.yellow::after {
	background-color: #ffff00;
	border: 2px solid #000;
}
.flowBox {
	display: flex;
	width: calc(100% - 210px);
}
.flowBox .text {
	width: calc(100% - 250px);
	padding-top: 20px;
	font-size: 20px;
	line-height: 1.5;
}
.flowBox .text .link{
	display: inline-block;
	color: #e5004f;
	text-decoration: underline;
}
.flowBox .text .link.phone{
	pointer-events: none;
}
.flowBox .text .link:hover {
	text-decoration: none;
	cursor: pointer;
}
.iconWindow {
	position: relative;
	padding-right: 22px;
	margin-right: 5px;
}
.iconWindow::after {
	position: absolute;
	width: 18px;
	height: 18px;
	top: 4px;
	right: 0;
	background: url(/img/common/icon_new_window.png) no-repeat 50% 50%;
	content: '';
}
.flowBox .image {
	width: 230px;
	margin-left: 20px;
}
@media screen and (max-width:736px){
	.listFlow {
		padding: 0;
	}
	.listFlow .item {
		flex-direction: column;
	}
	.listFlow .item::after {
		left: 50%;
		transform: translateX(-50%);
	}
	.flowTitle {
		width: 100%;
		margin: 0 0 10px 0;
	}
	.flowTitle .text {
		font-size: 18px;
	}
	.flowTitle .step {
		margin: 0 auto 10px auto;
		font-size: 18px;
	}
	.flowTitle .step::after {
		left: calc(50% - 5px);
	}
	.flowBox {
		width: 100%;
		flex-direction: column;
		padding-bottom: 20px;
	}
	.flowBox .text {
		width: 100%;
		padding-top: 0;
		font-size: 15px;
		margin-bottom: 15px;
	}
	.flowBox .image {
		max-width: 230px;
		width: 100%;
		margin: 0 auto 0 auto;
	}
	.flowBox .text .link.phone{
		pointer-events: inherit;
	}
	.iconWindow {
		padding-right: 20px;
	}
	.iconWindow::after {
		width: 14px;
		height: 14px;
		top: 5px;
		background-size: 14px;
	}
}

