/*
Template:gensan
Theme Name:gensan-child
*/
a:hover {
	text-decoration: none;
}

@media only screen and (min-width: 769px) {
    .pc {
        display: block!important;
    }
    .pc-flex {
        display: flex!important;
    }
    .sp,
    .sp-flex {
        display: none!important;
    }
}
@media only screen and (min-width: 1401px)  {
  .pc-small {
    display: none!important;
  }
}
@media only screen and (max-width: 1400px)  {
  .pc-small {
    display: block!important;
  }
}
@media only screen and (max-width: 768px) {
    .pc,
    .pc-flex {
        display: none!important;
    }
    .sp {
        display: block!important;
    }
    .sp-flex {
      display: flex!important;
    }
}
@media print { 
  .sp { display: none!important; }
}

.single-tool-wrap {
	padding: 1%;
}
.single-tool-wrap h2 {
	font-family: "ヒラギノ角ゴ ProN W7", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
	font-weight: 700;
	font-size: 200%;
}
.single-tool-wrap h3 {
	font-family: "ヒラギノ角ゴ ProN W6", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
	font-weight: 600;
}
.bold {
	font-family: "ヒラギノ角ゴ ProN W7", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
	font-weight: 700;
}
.single-tool-wrap .flex {
	display: flex;
}
.single-tool-wrap .bg-img {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
@media only screen and (max-width: 768px) {
	.single-tool-wrap {
		padding: 10% 0 0 0;
	}
	.single-tool-wrap h2 {
		font-size: 150%;
		line-height: 1.6;
	}
	.single-tool-wrap h3 {
		line-height: 1.4;
	}
	.single-tool-wrap p {
		line-height: 1.8;
	}
}

#main-image {

}
#main-image > img {
	display: block;
	width: 100%;
}

#top-contents {
	margin: 2% 0 0 0;
	padding: 5%;
	background: #164986;
	color: #fff;
}
#top-contents h2 {
	margin: 0 0 1.5em 0;
}
#top-contents p {
	text-align: justify;
}
@media only screen and (max-width: 768px) {
	#top-contents {
		margin: 0;
		padding: 15% 5%;
	}
	#top-contents h2 {
		border-bottom: 1px solid #fff;
		padding: 0 0 5% 0;
		margin: 0 0 1em 0;
		text-align: center;
	}
}

#campaign {
	padding: 10% 8%;
	background: #fff;
}
#campaign h2 {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #164986;
	text-align: center;
	margin: 0 0 1.5em 0;
}
#campaign h2::before,
#campaign h2::after {
	content: '';
	display: block;
	flex-grow: 1;
	height: 4px;
	background: #164986;
}
#campaign h2::before {
	margin: 0 1em 0 0;
}
#campaign h2::after {
	margin: 0 0 0 1em;
}
#campaign ul {
	margin: 0;
	padding: 0;
	flex-flow: row wrap;
	list-style: none;
}
#campaign ul li {
	display: block;
	width: 25%;
	padding: 15px;
	margin: 15px 0;
	border-right: 2px solid rgb(216, 236, 244);	
}
#campaign ul li div.bg-img {
	height: 0;
	padding: 75% 0 0 0;
	margin: 0 0 10px 0;
}
#campaign ul li .maker {
	display: inline-block;
	margin: 0;
	padding: 5px 10px;
	color: #fff;
	background: #164986;
	font-size: 80%;
}
#campaign ul li h3 {
	margin: 0;
	padding: 10px 0;
	color: #000;
	font-size: 100%;
}
#campaign ul li:nth-of-type(4n) {
	border-right: none;
}
.price {
	align-items: center;
}
.price > div:nth-of-type(1) {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border-radius: 25px;
	background: #fcc800;
	color: #fff;
	font-size: 50%;
	text-align: center;
	margin: 0 10px 0 0;
}
.price > div:nth-of-type(1) span {
	display: block;
	text-align: center;
	line-height: 1.2;
}
.price > div:nth-of-type(2) {
	font-size: 150%;
}
.price > div:nth-of-type(2) span {
	font-size: 80%;
}
/* @media only screen and (max-width: 1500px) { */
	#campaign {
		padding: 8% 5%;
	}
	#campaign ul li {
		width: calc(100% / 3);
	}
	#campaign ul li:nth-of-type(4n) {
		border-right: 2px solid rgb(216, 236, 244);	
	}
	#campaign ul li:nth-of-type(3n) {
		border-right: none;
	}
/* } */
@media only screen and (max-width: 768px) {
	#campaign {
		padding: 15% 5%;
	}
	#campaign h2 {
		width: 90%;
		border-bottom: 1px solid #164986;
		padding: 0 0 5% 0;
		margin: 0 auto 1em auto;
	}
	#campaign h2::before,
	#campaign h2::after {
		display: none;
	}
	#campaign ul li {
		display: block;
		width: 50%;
		padding: 10px;
		margin: 10px 0;
		border-right: 2px solid rgb(216, 236, 244);	
	}
	#campaign ul li:nth-of-type(3n) {
		border-right: 2px solid rgb(216, 236, 244);	
	}
	#campaign ul li:nth-of-type(4n) {
		border-right: 2px solid rgb(216, 236, 244);	
	}
	#campaign ul li:nth-of-type(2n) {
		border-right: none;
	}
	.price {
		flex-flow: row wrap;
		align-items: center;
	}
	.price > div:nth-of-type(1) {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 66%;
		height: auto;
		border-radius: 0;
		background: #fcc800;
		color: #fff;
		font-size: 50%;
		text-align: center;
		padding: 5px 0;
		margin: 0 34% 10px 0;
	}
	.price > div:nth-of-type(1) span {
		display: block;
		text-align: center;
		line-height: 1.2;
	}
	.price > div:nth-of-type(2) {
		font-size: 125%;
		color: #164986;
	}
}

#works {
	padding: 5% 1%;
	background: #164986;
	text-align: center;
}
#works > .icon {
	margin: 0 0 1em 0;
}
#works h2 {
	color: #fff;
	padding: 1em 0;
}
#works h2 .border {
	width: 150px;
	height: 2px;
	background: #fff;
	margin: 1em auto;
}
#works ul {
	margin: 0 auto;
	padding: 0;
	flex-flow: row wrap;
	align-items: stretch;
	list-style: none;
}
#works ul li {
	display: block;
	width: 23%;
	height: auto;
	margin: calc(10%/11);
}

#works ul li a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 5px;
	background: #fff;
	text-align: justify;
}

#works ul li .date {
	display: inline-block;
	margin: 0;
	padding: 5px 10px;
	color: #fff;
	background: #fcc800;
	font-size: 80%;
}
#works ul li h3 {
	margin: 0;
	padding: 10px 0;
	color: #164986;
	font-size: 100%;
}


#works .tool-img{
	display: block;
	margin: 0 auto;
	width: auto;
	height: auto;
	overflow:hidden;

}


#works .tool-img img{
	width: 100%;
	height: auto;

}

#works img{
 transition:1s all;
}

#works img:hover{
transform:scale(1.2,1.2);
transition:0.5s all;
}

#works a:hover{
transform:scale(1.1,1.1);
transition:0.3s all;
color: #fff;
background-color: #ffd700;

}


#works > a {
	display: block;
	width: 40%;
	margin: 5% auto 0 auto;
	padding: 15px 0;
	background: #fff;
	color: #164986;
	text-align: center;
	box-shadow: 0 0 20px rgba(0, 0, 0, .34);
}

@media only screen and (max-width: 768px) {
	#works > .icon {
		margin: 0;
	}
	#works h2 .border {
		width: 100px;
	}
	#works ul li {
		display: block;
		width: 48%;
		margin: 1%;
	}
	#works > a {
		width: 80%;
		margin: 15% auto 5% auto;
	}
}

#option {
	padding: 10% 0;
	background: #fff;
}
#option h2 {
	display: inline-block;
	padding: 20px 80px 20px 40px;
	background: #164986;
	color: #fff;
	margin: 0 0 1.5em 0;
	letter-spacing: 0.1em;
}
#option ul {
	padding: 10%;
	margin: 0;
	justify-content: space-between;
}
#option ul li {
	display: block;
	width: 30%;
}
#option ul li img {
	display: block;
	width: 50%;
	margin: 0 auto 2em auto;
}
#option ul li h3 {
	color: #164986;
	text-align: center;
	font-size: 200%;
	border-bottom: 1px solid #164986;
	padding: 0 0 20px 0;
	margin: 0 0 1em 0;
}
#option ul li:nth-of-type(2) h3 {
	color: #77c0d4;
	border-bottom: 1px solid #77c0d4;
}
#option ul li p {
	text-align: justify;
	padding: 0 10px;
}
@media only screen and (max-width: 768px) {
	#option {
		padding: 10% 5%;
	}
	#option h2 {
		display: block;
		padding: 20px 0;
		width: 90%;
		margin: 0 auto 2em auto;
		text-align: center;
	}
	#option ul {
		padding: 0;
		margin: 0;
		flex-flow: row wrap;
	}
	#option ul li {
		display: block;
		width: 100%;
	}
	#option ul li img {
		display: none;
	}
	#option ul li h3 {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		text-align: left;
		font-size: 150%;
		border-bottom: 1px solid #164986;
		margin: 0 0 1em 0;
		padding: 0 0 10px 0;
	}
	#option ul li h3::before {
		content: '';
		display: block;
		width: 50px;
		height: 50px;
		background-size: 100% 100%;
		margin: 0 1em 0 0;
	}
	#option ul li:nth-of-type(1) h3::before {
		background-image: url(lib/single-tool-img/option_01.png);
	}
	#option ul li:nth-of-type(2) h3::before {
		background-image: url(lib/single-tool-img/option_02.png);
	}
	#option ul li:nth-of-type(3) h3::before {
		background-image: url(lib/single-tool-img/option_03.png);
	}
	#option ul li:nth-of-type(2) h3 {
		color: #77c0d4;
		border-bottom: 1px solid #77c0d4;
	}
	#option ul li p {
		text-align: justify;
		padding: 0 10px;
	}
}

.line {
	width: 90%;
	margin: 0 auto;
}
.line h3 {
	padding: 15px 0;
	border-radius: 20px 20px 0 0;
	background: #42a452;
	color: #fff;
	letter-spacing: 0.1em;
	margin: 0;
	text-align: center;
}
.line > div {
	align-items: center;
	border-right: 4px solid #42a452;
	border-bottom: 4px solid #42a452;
	border-left: 4px solid #42a452;
}
.line > div > div:nth-of-type(1) {
	width: 75%;
}
.line > div > div:nth-of-type(1) > div {
	justify-content: space-between;
	align-items: center;
	color: #42a452;
	border-bottom: 2px solid #42a452;
	padding: 5% 0 2% 5%;
}
.line > div > div:nth-of-type(1) > div > h4 {
	font-size: 300%;
}
.line > div > div:nth-of-type(1) > div > p {
	font-size: 125%;
	margin: 0;
}
.line > div > div:nth-of-type(1) > a {
	display: block;
	width: 50%;
	background: #42a452;
	color: #fff;
	padding: 20px 0;
	margin: 5% auto;
	text-align: center;
}
.line > div > div:nth-of-type(2) {
	width: 25%;
	text-align: center;
}
@media only screen and (max-width: 768px) {
	.line {
		width: 100%;
		margin: 10% auto;
	}
	.line h3 {
		font-size: 125%;
	}
	.line > div {
		flex-flow: row wrap;
	}
	.line > div > div:nth-of-type(1) {
		width: 100%;
		flex-flow: row wrap;
		align-items: center;
	}
	.line > div > div:nth-of-type(1) > div {
		width: 90%;
		justify-content: center;
		align-items: center;
		padding: 5%;
		margin: 3em auto 1em auto;
	}
	.line > div > div:nth-of-type(1) > div > h4 {
		font-size: 200%;
		margin: 0 0 0 .5em;
	}
	.line > div > div:nth-of-type(1) > div > p {
		display: none;
	}
	.line > div > div:nth-of-type(1) > p {
		text-align: center;
		color: #42a452;
	}
	.line > div > div:nth-of-type(2) > img {
		margin: 10% 0 0 0;
	}
	.line > div > div:nth-of-type(2) > a {
		display: block;
		width: 66%;
		background: #42a452;
		color: #fff;
		padding: 20px 0;
		margin: 15% auto;
		text-align: center;
	}
	.line > div > div:nth-of-type(2) {
		width: 100%;
		text-align: center;
	}
}

#contact {
	padding: 0 0 5% 0;
	background: #fff;
}
#contact h2 {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 0;
	background: #164986;
	color: #fff;
	margin: 0 0 5% 0;
	letter-spacing: 0.1em;
}
#contact h2::before,
#contact h2::after {
	content: url(lib/single-tool-img/triangle.png);
	margin: 0 1em;
}
@media only screen and (max-width: 768px) {
	#contact {
		padding: 0 0 5% 0;
		background: #fff;
	}
	#contact h2 {
		font-size: 125%;
		align-items: flex-end;
		padding: 20px 0;
		margin: 0;
		text-align: center;
	}
}

.tel-contact {
	width: 90%;
	margin: 5% auto;
	text-align: center;
	background: #2f629f;
	padding: 8% 0;
}
.tel-contact h3 {
	color: #fff;
	text-align: center;
	font-size: 200%;
	margin: 1em 0;
}
.tel-contact h3 > div.border {
	width: 150px;
	height: 2px;
	margin: 1em auto;
	background: #fff;
}
.tel-contact p {
	text-align: center;
	color: #fff;
}
.tel-contact p span {
	display: block;
}
.tel-contact p a {
	font-size: 500%;
	color: #fff;
}
.tel-contact p span {
	font-size: 125%;
	letter-spacing: .045em;
}
@media only screen and (max-width: 768px) {
	.tel-contact {
		width: 100%;
		margin: 0;
		padding: 15% 0;
	}
	.tel-contact h3 {
		font-size: 150%;
		margin: 1em 0;
	}
	.tel-contact h3 > div.border {
		width: 50px;
		height: 2px;
		margin: 1em auto;
	}
	.tel-contact p {
		text-align: center;
		color: #fff;
	}
	.tel-contact p span {
		display: block;
	}
	.tel-contact p a {
		display: block;
		font-size: 250%;
		margin: 1em 0;
	}
	.tel-contact p span {
		font-size: 100%;
	}
}

.mail-contact {
	width: 90%;
	margin: 5% auto 0 auto;
	text-align: center;
	background: #77c0d4;
	padding: 8% 0;
}
.mail-contact h3 {
	color: #fff;
	text-align: center;
	font-size: 200%;
	margin: 1em 0;
	line-height: 1.4;
}
.mail-contact h3 > div.border {
	width: 150px;
	height: 2px;
	margin: 1em auto;
	background: #fff;
}
#contact .contact_form {
	width: 85%;
    padding: 20px;
    clear: both;
    border-width: 15px;
    border-color: #fff;
    border-style: solid;
    background-color: #fff;
    margin: 5% auto;
}
.mail-contact .row {
	text-align: left;
	color: #103460;
}
.mail-contact .col-sm-9 {
	padding: 0;
}
.mail-contact .required {
	display: none;
}
.mail-contact input,
.mail-contact textarea {
	border: 1px solid #2ec5ef!important;
}
.mail-contact textarea + a {
	color: #103460;
}
.mail-contact input[type=submit] {
	border: none!important;
	background: #103460;
	color: #fff;
}
@media only screen and (max-width: 768px) {
	.mail-contact {
		width: 100%;
		margin: 0;
		padding: 15% 0 0 0;
	}
	.mail-contact h3 {
		font-size: 150%;
		margin: 1em 0;
	}
	.mail-contact h3 > div.border {
		width: 50px;
	}
	#contact .contact_form {
		width: 100%;
		margin: 10% 0 0 0;
		padding: 40px 20px 0 20px;
		clear: both;
		border-width: 15px;
		border-color: #fff;
		border-style: solid;
		background-color: #fff;
	}
}

.find {
	padding: 5%;
	background: #164986;
}
.find .item_list {
	margin: 0;
}
.find h2 {
	display: flex;
	align-items: center;
	color: #fff;
	margin: 5% 0 10% 0;
}
.find h2::before,
.find h2::after {
	content: '';
	display: block;
	flex-grow: 1;
	height: 4px;
	background: #fff;
}
.find h2::before {
	margin: 0 1em 0 0;
}
.find h2::after {
	margin: 0 0 0 1em;
}
.find .side_bar_explanation {
	display: none;
}
@media only screen and (max-width: 768px) {
	.find h2 {
		width: 90%;
		border-bottom: 1px solid #fff;;
		padding: 0 0 5% 0;
		margin: 5% auto 10% auto;
		justify-content: center;
	}
	.find h2::before,
	.find h2::after {
		display: none;
	}
}

#slider {
	padding: 10% 0;
	background: #fff;
}
#slider h2 {
	display: inline-block;
	padding: 20px 80px 20px 40px;
	background: #164986;
	color: #fff;
	margin: 0 0 1.5em 0;
	letter-spacing: 0.1em;
}
.n2-section-smartslider {
	width: 90%;
	margin: 0 auto;
}
@media only screen and (max-width: 768px) {
	#slider {
		padding: 15% 0;
	}
	#slider h2 {
		display: block;
		width: 90%;
		margin: 0 auto 1em auto;
		padding: 20px 0;
		text-align: center;
	}
	.n2-section-smartslider {
		width: 90%;
		margin: 0 auto;
	}
}

#area {
	padding: 10%;
	background: #164986;
	text-align: center;
}
#area h2 {
	color: #fff;
	text-align: center;
	font-size: 200%;
	margin: 1em 0;
	line-height: 1.4;
}
#area h2 > div.border {
	width: 150px;
	height: 2px;
	margin: 1em auto;
	background: #fff;
}
#area p {
	color: #fff;
	text-align: center;
	font-size: 125%;
	margin: 1em 0 3em 0;
}
#area .all_pref {
	background: #fff;
	padding: 5%;
}
#area .nomal,
#area .kaitori_flow_comment {
	display: none;
}
#area .space .area {
    background-color: #164986;
    border-radius: 9999px;
}
#area .pref {
	text-align: left;
}
#area a {
	color: #164986;
}
@media only screen and (max-width: 768px) {
	#area {
		padding: 15% 5%;
	}
	#area p {
		font-size: 100%;
		margin: 1em 0 3em 0;
	}
	#area .space .area {
		width: 50%;
		margin: 1em auto .5em auto;
	}
	#area .pref {
		width: 66%;
		margin: 0 auto;
		text-align: center;
		word-break: keep-all;
	}
}