@charset "UTF-8";
/*
Theme Name: アイシーコーポレーション
*/
/*-----------------------------------------
default
-----------------------------------------*/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
	/*-----------------------------------------
	ゴシック主体の場合
	-----------------------------------------*/
	font-family: 'Noto Sans JP', sans-serif;
	/*font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";*/
	/*-----------------------------------------
	明朝体主体の場合
	-----------------------------------------*/
	/*font-family: 'Noto Serif JP', serif;*/
	/*
	font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", Georgia, Times, "Times New Roman", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	*/
	color: #53635c;
	letter-spacing: 1px;
	font-size: 62.5%;
}
body {
	width: 100%;
	height: 100%;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
}
a {
	transition: 0.3s all;
	;
	color: #53635c;
	text-decoration: none;
	outline: none;
}
a:hover {
	text-decoration: none;
}
li {
	list-style-type: none;
}
p, th, td, li, dt, dd {
	line-height: 1.8em;
}
img {
	border: none !important;
	vartical-align: bottom;
	outline: none;
}
area {
	border: none;
	outline: none;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/*-----------------------------------------
wrapper
-----------------------------------------*/
.wrapper {
	position: relative;
	width: 100%;
	height: auto;
	padding-top: 1px;
	background: #f6f6f4 url("images/common/bg.png") no-repeat center top;
	overflow-x: hidden;
}
body.home .wrapper {
	background: #f6f6f4 url("images/home/bg.png") no-repeat center top;
}
/*-----------------------------------------
header
-----------------------------------------*/
header {
	position: relative;
	z-index: 2;
}
.header-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 90%;
	max-width: 1080px;
	height: 90px;
	margin: 30px auto 20px;
	padding: 0 40px 0 50px;
	border-radius: 10px;
	background-image: -moz-linear-gradient(127deg, rgb(52, 169, 133) 0%, rgb(48, 181, 123) 50%, rgb(73, 204, 128) 100%);
	background-image: -webkit-linear-gradient(127deg, rgb(52, 169, 133) 0%, rgb(48, 181, 123) 50%, rgb(73, 204, 128) 100%);
	background-image: -ms-linear-gradient(127deg, rgb(52, 169, 133) 0%, rgb(48, 181, 123) 50%, rgb(73, 204, 128) 100%);
	box-shadow: 0px 0px 10px 0 rgba(51, 51, 51, 0.15);
}
h1 a {
	display: flex;
	align-items: center;
	color: #FFF;
	font-size: 2.4rem;
}
h1 img {
	width: 26px;
	margin-right: 10px;
}
header .gnav {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 39em;
	font-size: 1.5rem;
}
header .gnav li a {
	position: relative;
	margin-left: 3em;
	color: #FFF;
	font-weight: 500;
}
header .gnav li a:hover {
	color: #CCED8A;
}
header .gnav li a:before {
	display: inline-block;
	position: absolute;
	left: -17px;
	top: 50%;
	transform: translateY(-50%);
	content: '';
	width: 8px;
	height: 2px;
	margin-right: 10px;
	background: #FFF;
	transition: 0.5s all;
}
header .gnav li:hover a:before {
	left: -12px;
	width: 6px;
	background: #CCED8A;
}
/*-----------------------------------------
footer
-----------------------------------------*/
footer {
	padding: 40px 0 0;
	background: #edf2ed;
	color: #22a26c;
	text-align: center;
}
footer a {
	color: #22a26c;
}
footer .ttl a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #386c52;
	font-size: 2.4rem;
}
footer .ttl a:hover {
	color: #22a26c;
}
footer .ttl img {
	width: 26px;
	margin-right: 10px;
}
footer .gnav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 30px 0;
}
footer .gnav li {
	margin: 0 1em;
	font-size: 1.5rem;
	font-weight: 500;
}
footer .gnav a:hover {
	color: #386c52;
}
footer .address {
	font-size: 1.5rem;
	font-weight: 500;
}
.pagetop {
	display: none;
	position: fixed;
	bottom: 95px;
	right: 20px;
	z-index: 9;
	width: 50px;
	height: 50px;
	background: #21a085;
	color: #FFF;
	cursor: pointer;
}
.pagetop:hover {
	background: #47bf6b;
}
.pagetop::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(135deg);
	width: 15px;
	height: 15px;
	margin-top: 5px;
	border: 2px solid;
	border-color: transparent transparent #FFF #FFF;
}
.copyright {
	margin-top: 40px;
	background: #21a085;
	color: #FFF;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 40px;
}
/*-----------------------------------------
common
-----------------------------------------*/
section {
	width: 90%;
	max-width: 1080px;
	margin: 100px auto;
}
section:first-child {
	margin-top: 50px;
}
.section_inner.bg {
	padding: 50px;
	box-shadow: 0px 0px 10px 0 rgba(51, 51, 51, 0.15);
	border-radius: 10px;
	background: #FFF;
	font-weight: 500;
	transition: 0.3s all;
}
a:hover .section_inner.bg {
	background: #f0faf0;
	border: 2px solid #22a26c;
}
h3 {
	margin-bottom: 40px;
	color: #22a26c;
	font-size: 2.4rem;
	text-align: center;
}
h3.bdr:after {
	display: block;
	position: relative;
	content: '';
	width: 55px;
	height: 2px;
	margin: 18px auto 0;
	background: #22a26c;
}
h4 {
	margin-bottom: 20px;
	color: #22a26c;
	font-size: 1.8rem;
}
img {
	max-width: 100%;
	height: auto;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
.mb50 {
	margin-bottom: 50px;
}
.fadeIn {
	opacity: 0;
	transition: 0.5s all;
	transform: translateY(100px);
}
.fadeIn.left {
	transform: translateX(100px);
}
.fadeIn.active {
	opacity: 1;
	transform: translateY(0);
}
.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between
}
.flex.Ac {
	align-items: center;
}
.flex.imgL > figure {
	width: calc(50% - 25px);
}
.flex.imgL .gallery {
	width: calc(50% - 25px);
}
.flex.imgL .cont {
	width: calc(50% - 25px);
}
.btn {
	margin: 50px 0 0;
	text-align: center;
}
.btn a {
	display: inline-block;
	padding: 11px 50px;
	background: rgb(71, 191, 107);
	background: linear-gradient(135deg, rgba(71, 191, 107, 1) 0%, rgba(43, 167, 141, 1) 100%);
	border-radius: 100px;
	color: #FFF;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
}
.btn a:hover {
	background: #22a26c;
}
table {
	width: 100%;
	margin-bottom: 50px;
	border-collapse: collapse;
	border-spacing: 0;
}
tr {
	border-bottom: 1px dashed #2ab278;
}
th, td {
	padding: 15px 25px;
	font-weight: 500;
}
th {
	width: 25%;
	color: #2ab278;
	text-align: left;
}
.pageimg {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	width: 90%;
	max-width: 1080px;
	height: 160px;
	margin: 0 auto 10px;
	padding: 0 50px;
	box-shadow: 0px 0px 10px 0 rgba(51, 51, 51, 0.15);
	border-radius: 10px;
	background: #FFF url("images/common/pageimg_bg.png") no-repeat right center;
	background-size: contain;
}
.pageimg h2 {
	position: relative;
	padding-left: 50px;
	color: #22a26c;
	font-size: 3.3rem;
	font-weight: 500;
}
.pageimg h2:before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 5px;
	height: 55px;
	background: #22a26c;
	border-radius: 10px;
	transform: translateY(-50%);
}
.common_lead {
	display: inline-block;
	position: relative;
	margin: 0 auto;
	color: #22a26c;
	font-size: 1.8rem;
	text-align: center;
	line-height: 1.9;
}
.common_lead:before {
	content: url("images/common/deco01.png");
	position: absolute;
	display: block;
	left: -140px;
	top: 25px;
}
.common_lead:after {
	content: url("images/common/deco02.png");
	position: absolute;
	display: block;
	right: -140px;
	top: 25px;
}
.common_consultation-list ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
}
.common_consultation-list li {
	width: 29%;
	margin-bottom: 20px;
}
.common_consultation-list li a {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100px;
	border-radius: 10px;
	background: #FFF;
	box-shadow: 0px 0px 10px 0 rgba(51, 51, 51, 0.05);
	font-size: 1.8rem;
	font-weight: 500;
}
.common_consultation-list li a:hover {
	background: #f0faf0;
	border: 2px solid #22a26c;
}
.common_consultation-list li a img {
	margin: 0 20px 0 15px;
}
.common_cv ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
}
.common_cv li {
	width: 44.5%;
}
.common_cv li a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 120px;
	border-radius: 10px;
	border: 3px solid #22a26c;
	background: #FFF;
	box-shadow: 0px 0px 10px 0 rgba(51, 51, 51, 0.05);
	color: #22a26c;
	text-align: center;
}
.common_cv li a:hover {
	background: #D1ECCE;
}
.common_cv li.phone {
	font-weight: 500;
}
.common_cv li.phone .num {
	display: block;
	margin: 5px 0;
	font-size: 3.6rem;
	font-weight: 700;
}
.common_cv li.phone .num:before {
	display: inline-block;
	position: relative;
	content: url("images/common/ico_phone.svg");
	width: 28px;
	margin-right: 10px;
}
.common_cv li.mail a {
	font-weight: 500;
}
.common_cv li.mail a .num {
	font-size: 2.4rem;
	font-weight: 700;
}
/*2カラム*/
.column2 main {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 90%;
	max-width: 1080px;
	margin: 0 auto;
}
.column2 article {
	flex: 1;
}
.column2 section {
	width: 100%;
	margin: 0 auto;
}
/*side*/
.column2 aside {
	width: 220px;
	margin-left: 50px;
}
.side_inner {
	margin-bottom: 30px;
}
.side_inner:last-child {
	margin-bottom: 0;
}
.side_inner h4 {
	position: relative;
	padding-left: 15px;
	color: #22a26c;
}
.side_inner h4:before {
	position: absolute;
	display: block;
	content: '';
	left: 0;
	top: 1px;
	width: 3px;
	height: 18px;
	border-radius: 5px;
	background: #22a26c;
}
.column2 section.common_cv {
	margin: 100px auto;
}
/*post*/
article.post.list a {
	display: block;
	margin-bottom: 20px;
	border-radius: 10px;
}
article.post.list .section_inner.bg {
	padding: 20px 30px;
}
article.post.list figure {
	aspect-ratio: 3 / 2;
}
article.post.list figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
article.post.list h4 {
	margin-bottom: 15px;
	color: #53635c;
}
article.post.list .section_inner.arrow {
	position: relative;
	padding-right: 60px;
}
article.post.list .section_inner.arrow:after {
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
	content: url("images/common/ico_arrow.svg");
	width: 25px;
	height: 25px;
	transition: 0.5s all;
}
article.post.list a:hover .section_inner.arrow:after {
	right: 20px;
}
article.post .sup {
	color: #2ab278;
}
article.post .sup a {
	color: #2ab278;
}
article.post.single .cont p {
	margin-bottom: 20px;
	font-weight: 500;
}
/*1列*/
article.post.list.line figure {
	width: 220px;
	margin-right: 30px;
}
article.post.list.line figure img {
	margin-bottom: 0;
}
article.post.list.line .cont {
	flex: 1;
	width: auto;
}
/*3列*/
article.post.list.column .flex {
	justify-content: flex-start;
}
article.post.list.column .flex a {
	display: block;
	width: calc(calc(100% - 40px) / 3);
	margin: 0 20px 20px 0;
}
article.post.list.column .flex a:nth-child(3n) {
	margin-right: 0;
}
article.post.list.column .flex .section_inner.bg {
	padding: 15px;
}
article.post.list.column .flex figure img {
	width: 100%;
	margin-bottom: 10px;
}
/*advisor*/
article.post.list.advisor h4 {
	margin: 10px 0;
}
article.post.list.advisor .address, article.post.list.advisor .tel {
	font-size: 1.5rem;
}
article.post.single.advisor .gallery .big {
	aspect-ratio: 3 / 2;
}
article.post.single.advisor .gallery .big img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin-bottom: 10px;
}
article.post.single.advisor .gallery .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
article.post.single.advisor .gallery .list li {
	width: calc(calc(100% - 40px) / 5);
	aspect-ratio: 3 / 2;
	margin-right: 10px;
}
article.post.single.advisor .gallery .list li:nth-child(5n) {
	margin-right: 0;
}
article.post.single.advisor .gallery .list li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
}
article.post.single.advisor .detail {
	margin: 50px 0;
	border-top: 1px solid #b7e8b1;
}
article.post.single.advisor .detail th, article.post.single.advisor .detail td {
	padding: 10px 25px;
	border-bottom: 1px solid #b7e8b1;
	font-size: 1.5rem;
}
article.post.single.advisor .detail th {
	background: #f0faf0;
}
article.post.single.advisor .gmap {
	margin-bottom: 50px;
}
article.post.single.advisor .gmap iframe {
	width: 100%;
	height: 300px;
}
article.post.list .cat {
	color: #2ab278;
}
/*-----------------------------------------
top
-----------------------------------------*/
.mainimg {
	z-index: 1;
	position: relative;
	width: 90%;
	max-width: 1080px;
	margin: 0 auto 100px;
}
.mainimg_inner {
	position: relative;
	z-index: 3;
	width: 100%;
	height: 430px;
	padding: 80px 50px 0;
	box-shadow: 0px 0px 10px 0 rgba(51, 51, 51, 0.15);
	border-radius: 10px;
	background: #FFF url("images/home/mv_img.png") no-repeat right bottom;
}
.mainimg:before {
	z-index: 2;
	display: block;
	position: absolute;
	content: url("images/home/mv_bg.png");
	right: -150px;
	bottom: -40px;
}
.mainimg .txt01 {
	display: inline-block;
	padding: 5px 100px;
	background: #386c52;
	border-radius: 5px;
	color: #FFF;
	font-size: 1.8rem;
}
.mainimg .txt02 {
	margin: 30px 0;
	color: #386c52;
	font-size: 2.4rem;
}
.mainimg .txt03 {
	color: #2ab278;
	font-size: 2.6rem;
	letter-spacing: 0;
}
.mainimg .txt03 .trouble {
	display: inline-block;
	position: relative;
	margin: 0 10px;
	font-size: 4rem;
	letter-spacing: -2px;
}
.mainimg .txt03 .trouble:before {
	display: block;
	position: absolute;
	left: -30px;
	top: -50px;
	content: url("images/home/mv_drop01.svg");
	width: 23px;
}
.mainimg .txt03 .trouble:after {
	display: block;
	position: absolute;
	right: -20px;
	top: -50px;
	content: url("images/home/mv_drop02.svg");
	width: 23px;
}
.home_concept {
	text-align: center;
}
.home_concept .ttl {
	display: inline-block;
	position: relative;
	margin: 20px auto 50px;
	color: #22a26c;
	font-size: 2.4rem;
}
.home_concept .ttl:before {
	display: block;
	position: absolute;
	left: -130px;
	top: 10px;
	content: url("images/common/deco01.png");
}
.home_concept .ttl:after {
	display: block;
	position: absolute;
	right: -120px;
	top: 15px;
	content: url("images/common/deco02.png");
}
.home_concept ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 80%;
	margin: 0 auto;
}
.home_concept li {
	min-width: 370px;
	margin: 0 10px 20px;
	padding: 13px 40px;
	background: rgb(71, 191, 107);
	background: linear-gradient(135deg, rgba(71, 191, 107, 1) 0%, rgba(43, 167, 141, 1) 100%);
	box-shadow: 0px 0px 10px 0 rgba(51, 51, 51, 0.15);
	border-radius: 10px;
	color: #FFF;
	font-size: 1.8rem;
}
.home_nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
.home_nav li {
	width: 30%;
}
.home_nav li a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100px;
	padding: 0 40px;
	background: rgb(71, 191, 107);
	background: linear-gradient(135deg, rgba(71, 191, 107, 1) 0%, rgba(43, 167, 141, 1) 100%);
	box-shadow: 0px 0px 10px 0 rgba(51, 51, 51, 0.15);
	border-radius: 10px;
	color: #FFF;
	font-size: 1.8rem;
	font-weight: 500;
}
.home_nav li a:hover {
	background: #22a26c;
}
.home_nav li:first-child a:after {
	position: absolute;
	left: 0;
	top: 0;
	content: '';
	width: 100%;
	height: 100px;
	background: url("images/home/nav_bg01.png") no-repeat right center;
}
.home_nav li:nth-child(2) a:after {
	position: absolute;
	left: 0;
	top: 0;
	content: '';
	width: 100%;
	height: 100px;
	background: url("images/home/nav_bg02.png") no-repeat right center;
}
.home_nav li:nth-child(3) a:after {
	position: absolute;
	left: 0;
	top: 0;
	content: '';
	width: 100%;
	height: 100px;
	background: url("images/home/nav_bg03.png") no-repeat right center;
}
/*-----------------------------------------
ぱんくず
-----------------------------------------*/
.breadcrumbs {
	width: 90%;
	max-width: 1080px;
	margin: 20px auto;
	font-size: 1.2rem;
	font-weight: 500;
}
.breadcrumbs span {
	margin: 0 3px;
}
.breadcrumbs a {
	color: #22a26c;
}
/*-----------------------------------------
page
-----------------------------------------*/
.consultation-lead figure {
	margin-top: 80px;
	text-align: center;
}
.consultation-child .tag {
	margin-top: 20px;
}
.consultation-child .tag li {
	color: #22a26c;
	font-size: 1.4rem;
	font-weight: 500;
}
.consultation-child .tag li:before {
	content: '#';
	display: inline-block;
	position: relative;
	margin-right: 0.3em;
}
.contact-form .wrap {
	padding: 50px 50px 30px;
	background: #f4f4f4;
}
.contact-form .wrap table {
	margin-bottom: 30px;
}
.contact-form .wrap table tr {
	border: none;
}
.contact-form .wrap table th, .contact-form .wrap table td {
	padding: 7px 0;
}
.contact-form .wrap table th {
	position: relative;
	width: 18em;
	vertical-align: middle;
}
.contact-form .wrap table th.req:after {
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	content: '必須';
	padding: 1px 10px 4px;
	background: #2ab278;
	color: #FFF;
	font-size: 1.2rem;
	line-height: 1;
}
.contact-form .hidden {
	display: none;
}
.company-profile th {
	width: 12em;
	vertical-align: top;
}
.company-profile .left {
	flex: 1;
}
.company-profile .doms {
	margin-left: 20px;
	padding: 10px;
	background: #f0faf0;
	color: #2ab278;
	font-size: 1.2rem;
	line-height: 1.5;
	text-align: center;
}
.company-profile .doms figure {
	margin-right: 10px;
}
/*-----------------------------------------
コンタクトフォーム用
-----------------------------------------*/
input[type="checkbox"], input[type="radio"] {
	vertical-align: middle;
}
input[type="text"], input[type="email"], input[type="tel"], textarea {
	padding: 13px;
	width: 100%;
	border: none;
	font-size: 1.6rem;
}
input[type="submit"] {
	display: block;
	width: 200px;
	padding: 11px 50px;
	background: rgb(71, 191, 107);
	background: linear-gradient(135deg, rgba(71, 191, 107, 1) 0%, rgba(43, 167, 141, 1) 100%);
	border-radius: 100px;
	border: none;
	color: #FFF;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
}
.submit {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.submit:hover input[type="submit"] {
	background: #22a26c;
	cursor: pointer;
}
/*-----------------------------------------
pagenavi
-----------------------------------------*/
.wp-pagenavi {
	margin: 50px auto;
	text-align: center;
}
.wp-pagenavi a, .wp-pagenavi span {
	background-color: #22a26c;
	border: 1px solid #22a26c !important;
	color: white;
	padding: 2px 7px !important;
	font-size: 14px;
	font-weight: 500;
}
.wp-pagenavi span.current {
	background-color: white;
	font-weight: 500 !important;
	color: #22a26c;
}
.wp-pagenavi span.pages {
	background-color: white;
	color: #22a26c;
}
.wp-pagenavi a:hover {
	background-color: #22a26c;
	color: white;
}
/*single*/
.post-nav {
	display: flex;
	justify-content: space-between;
	margin: 30px 0 0;
}
.post-nav li a {
	color: #22a26c;
	font-size: 1.5rem;
	font-weight: 500;
}
/*-----------------------------------------
Responsive
-----------------------------------------*/
.pcS, .sp, .tb, .spS {
	display: none;
}
.hamburger, .spmenu {
	display: none;
}
@media screen and (max-width: 1194px) { /* iPad Pro */
	.home_nav li a {
		padding: 0 20px;
		overflow: hidden;
	}
	.home_nav li:first-child a:after {
		left: unset;
		right: -20px;
	}
}
@media screen and (max-width: 1024px) { /* タブレット横 */
	.pcS {
		display: block;
	}
	header nav {
		display: none;
	}
	.spmenu {
		display: block;
	}
	.hamburger {
		position: relative;
		display: block;
		width: 40px;
		height: 30px;
		z-index: 10;
	}
	.menu__line {
		display: block;
		position: absolute;
		background: #FFF; /* スマホメニュー3本線の色はここで変更できます */
		width: 100%;
		height: 4px;
		transition: 0.3s all;
	}
	.menu__line--center {
		top: 50%;
		transform: translateY(-50%);
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
	}
	.menu__line--bottom {
		bottom: 0;
	}
	.menu__line--top.active {
		top: 50%;
		transform: translateY(-50%) rotate(45deg);
	}
	.menu__line--center.active {
		transform: scaleX(0);
	}
	.menu__line--bottom.active {
		top: 50%;
		transform: translateY(-50%) rotate(135deg);
	}
	.wrapper .spmenu {
		width: 50%;
		position: fixed;
		z-index: 9;
		left: -80%;
		top: 0;
		background-color: #edf2ed;
		overflow: auto;
		height: 100%;
	}
	.wrapper .spmenu li {
		width: 100%;
		border-bottom: 1px dotted #ddd;
		font-size: 1.6rem;
	}
	.wrapper .spmenu li:first-child {
		line-height: 1em;
		padding: 10px 0;
		width: 100%;
		text-align: center;
	}
	.wrapper .spmenu li:last-child {
		border-bottom: none;
	}
	.wrapper .spmenu li a {
		color: #22a26c;
		display: block;
		font-size: 1.5rem;
		font-weight: 500;
		padding: 10px 15px;
	}
	.wrapper .spmenu li:first-child a {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 15px 0;
		color: #386c52;
		font-weight: 700;
		font-size: 2.4rem;
		line-height: 1.2;
	}
	.wrapper .spmenu li a:hover {
		text-decoration: none;
	}
	.wrapper .spmenu li a img {
		width: 26px;
		margin-right: 10px;
	}
	/*common*/
	.pageimg {
		background-size: auto 100%;
	}
	.common_consultation-list ul {
		justify-content: space-between;
	}
	.common_consultation-list li {
		width: 32%;
	}
	.common_cv ul {
		justify-content: space-between;
	}
	.common_cv li {
		width: 49%;
	}
	/*TOP*/
	.mainimg_inner {
		padding: 50px;
	}
	.mainimg .txt02 {
		line-height: 1.5;
	}
	.mainimg .txt03 {
		line-height: 1.4;
	}
	.home_nav ul {
		justify-content: space-between;
	}
	.home_nav li {
		width: 32%;
	}
}
@media screen and (max-width: 896px) { /* iPhone XS MAX 横表示 */
	.pc {
		display: none;
	}
	.tb {
		display: block;
	}
	.wrapper {
		width: 100%;
		overflow: hidden;
	}
	.wrapper .sp {
		display: inline;
	}
	/*common*/
	.pageimg {
		background-position: right -100px center;
	}
	.common_lead {
		text-align: left;
	}
	.common_lead br {
		display: none;
	}
	.common_consultation-list li {
		width: calc(50% - 10px);
	}
	.common_consultation-list li br {
		display: none;
	}
	.common_cv li {
		width: 100%;
		margin-bottom: 20px;
	}
	.column2 aside {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 100%;
		margin: 30px 0 0;
		padding: 20px 30px;
		background: #edf2ed;
	}
	.side_inner {
		width: 33%;
		margin-bottom: 0;
	}
	.section_inner.bg {
		padding: 30px;
	}
	/*TOP*/
	.mainimg_inner {
		background-size: 55% auto;
	}
	.home_concept ul {
		width: 100%;
	}
	.home_nav li {
		width: 100%;
		margin-bottom: 20px;
	}
	.home_nav li br {
		display: none;
	}
	.home_nav li:first-child a:after, .home_nav li:nth-child(2) a:after, .home_nav li:nth-child(3) a:after {
		right: 0;
	}
}
@media screen and (max-width: 640px) {
	.tb {
		display: none;
	}
	.sp {
		display: block;
	}
	html {
		letter-spacing: 0;
	}
	section {
		margin: 50px auto;
	}
	section:first-child {
		margin-top: 15px;
	}
	.section_inner.bg {
		padding: 30px 20px;
	}
	h3 {
		margin-bottom: 30px;
	}
	table {
		width: 100%;
		table-layout: fixed;
		word-break: break-all;
		word-wrap: break-all;
	}
	table th {
		display: block;
		width: 100%;
		padding: 15px 0 0;
	}
	table td {
		display: block;
		width: 100%;
		padding: 0 0 15px;
	}
	.btn {
		margin-top: 20px;
	}
	.wrapper .spmenu {
		width: 70%;
	}
	.pageimg {
		height: 110px;
		padding: 0 30px
	}
	.pageimg h2 {
		padding-left: 20px;
		font-size: 2.4rem;
	}
	.pageimg h2:before {
		width: 4px;
		height: 40px;
	}
	.breadcrumbs {
		margin: 15px auto;
		line-height: 1.5;
	}
	.flex.imgL > figure {
		width: 100%;
		margin-bottom: 20px;
	}
	.flex.imgL .cont {
		width: 100%;
	}
	article.post.list .section_inner.arrow {
		padding: 20px;
	}
	article.post.list.line figure {
		width: 100%;
		margin: 0 0 20px;
	}
	article.post.list .section_inner.arrow:after {
		display: none;
	}
	article.post.list.column .flex a {
		width: 100%;
		margin: 0 0 20px;
	}
	.column2 aside {
		padding: 20px;
	}
	.side_inner {
		width: 100%;
		margin-bottom: 20px;
	}
	.side_inner h4 {
		margin-bottom: 10px;
	}
	.contact-form .wrap {
		padding: 10px 20px;
	}
	.contact-form .wrap table {
		margin-bottom: 20px;
	}
	.contact-form .wrap table th {
		width: 100%;
	}
	.contact-form .wrap table th.req:after {
		right: 0;
	}
	.contact-form .wrap table th {
		padding: 0;
		font-size: 1.5rem;
	}
	.contact-form .wrap table td {
		padding: 5px 0 10px;
		font-size: 1.5rem;
	}
	input[type="text"], input[type="email"], input[type="tel"], textarea {
		padding: 10px;
	}
	textarea {
		height: 150px;
	}
	footer {
		border-bottom: 40px solid #21a085;
	}
	.pagetop {
		display: none;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 40px;
	}
	/*common*/
	.header-inner {
		padding: 0 25px;
	}
	.common_lead {
		line-height: 1.8;
	}
	.common_consultation-list h3 {
		letter-spacing: 1px;
	}
	.common_consultation-list li {
		width: 100%;
		margin-bottom: 10px;
	}
	.common_consultation-list li a {
		height: 65px;
	}
	.common_consultation-list li a img {
		width: 40px;
	}
	.column2 section.common_cv {
		margin: 70px auto 50px;
	}
	.common_cv li {
		margin-bottom: 15px;
	}
	.common_cv li a {
		height: 100px;
	}
	.common_cv li.phone .num {
		font-size: 3rem;
	}
	.common_cv li.mail a {
		font-size: 2rem;
	}
	.flex.imgL .gallery {
		width: 100%;
		margin-bottom: 20px;
	}
	/*TOP*/
	.mainimg {
		margin-bottom: 30px;
	}
	.mainimg_inner {
		height: auto;
		padding: 30px 30px 140px;
	}
	.mainimg .txt01 {
		padding: 5px 20px;
	}
	.mainimg .txt02 {
		margin: 20px 0 0;
		font-size: 2rem;
		line-height: 1.7;
		letter-spacing: 1px;
	}
	.mainimg .txt03 {
		font-size: 2rem;
		line-height: 1.5;
		margin-top: 20px;
	}
	.mainimg .txt03 .trouble {
		font-size: 3rem;
		margin-bottom: 20px;
	}
	.mainimg .txt03 .trouble:before {
		left: -20px;
		top: -33px;
		width: 20px;
	}
	.mainimg .txt03 .trouble:after {
		right: -13px;
		top: -33px;
		width: 20px;
	}
	.home_concept .ttl {
		margin: 0 auto 50px;
		font-size: 2rem;
		text-align: left;
		line-height: 1.7;
	}
	.home_concept .ttl br {
		display: none;
	}
	.home_concept li {
		margin-bottom: 10px;
		padding: 10px 20px;
	}
	.home_nav li {
		margin-bottom: 15px;
	}
	.home_nav li a {
		height: 80px;
	}
	/*page*/
	.consultation-lead figure {
		margin: 30px 0 70px;
	}
	article.post.single.advisor h4 {
		margin-bottom: 25px;
		font-size: 2rem;
	}
	article.post.single.advisor .detail {
		margin: 20px 0;
	}
	article.post.single.advisor .detail tr {
		border-bottom: 1px solid #b7e8b1;
	}
	article.post.single.advisor .detail tr:nth-child(odd) th, article.post.single.advisor .detail tr:nth-child(odd) td {
		background: #f0faf0;
	}
	article.post.single.advisor .detail th {
		padding: 10px 15px 0;
		background: none;
		border-bottom: none;
		line-height: 1.6;
	}
	article.post.single.advisor .detail td {
		padding: 0 15px 10px;
		border-bottom: none;
		line-height: 1.6;
	}
	article.post.single.advisor h3 {
		font-size: 2.2rem;
		line-height: 1.5;
	}
	.company-profile th {
		width: 100%;
	}
	.company-profile .doms {
		flex-direction: row-reverse;
		width: 100%;
		margin: 15px 0 0;
		padding: 10px 20px;
	}
	.company-profile .doms figure {
		width: 25%;
		margin: 0 0 0 15px;
	}
	.company-profile .doms .cont {
		flex: 1;
	}
}
@media screen and (max-width: 360px) {
	.spS {
		display: block;
	}
	.header-inner {
		padding: 0 20px;
	}
	.hamburger {
		width: 30px;
		height: 24px;
	}
	.btn a {
		padding: 11px 30px;
	}
	/*common*/
	h1 a {
		font-size: 2.2rem;
	}
	h1 img {
		width: 22px;
		margin-right: 7px;
	}
	.wrapper .spmenu li:first-child a {
		font-size: 2rem;
	}
	.wrapper .spmenu li a img {
		width: 22px;
		margin-right: 7px;
	}
	.pageimg {
		padding: 0 20px;
		background-position: right -130px center;
	}
	.pageimg h2 {
		padding-left: 15px;
		font-size: 2rem;
	}
	.common_lead {
		font-size: 1.6rem;
	}
	.contact-form .wrap {
		padding: 10px;
	}
	/*TOP*/
	.mainimg_inner {
		padding: 30px 15px 120px;
	}
	.mainimg .txt01 {
		padding: 5px 10px;
		font-size: 1.6rem;
	}
	.mainimg .txt03 {
		font-size: 2.6rem;
	}
	.mainimg .txt03 .trouble {
		font-size: 3rem;
	}
	.home_concept li {
		width: 100%;
		min-width: 0;
		padding: 10px;
		font-size: 1.6rem;
	}
}