@charset "UTF-8";
/*
Theme Name: エスクオスト
*/
/*-----------------------------------------
default
-----------------------------------------*/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
	/*-----------------------------------------
	ゴシック主体の場合
	-----------------------------------------*/
	/*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 Sans JP', sans-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: #231815;
	letter-spacing: 1px;
	font-size: 62.5%;
}
body {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 400;
}
a {
	transition: 0.1s linear all;
	color: #231815;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
	opacity: 0.8;
}
li {
	list-style-type: none;
}
p, th, td, li, dt, dd {
	line-height: 2;
}
h2, h3, h4, h5 {
	line-height: 1.6;
}
img {
	max-width: 100%;
	height: auto;
	border: none !important;
	vertical-align: bottom;
}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
area {
	border: none;
	outline: none;
}
/*-----------------------------------------
wrapper
-----------------------------------------*/
.wrapper {
	width: 100%;
	height: auto;
}
/*-----------------------------------------
header
-----------------------------------------*/
header {
	z-index: 2;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 87px;
	padding: 0 4%;
	color: #FFF;
}
.home header {
	color: #231815;
}
header h1 img {
	width: 140px;
	height: auto;
}
/*-----------------------------------------
gnav
-----------------------------------------*/
.gnav {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	font-size: 1.5rem;
	font-weight: bold;
}
.gnav li {
	margin-left: 2em;
	font-weight: 400;
}
header .gnav li a {
	display: inline-block;
	min-width: 100px;
	border-bottom: 1px solid #FFF;
	color: #FFF;
	line-height: 1.5;
	text-align: center;
}
.home header .gnav li a {
	border-bottom: 1px solid #231815;
	color: #231815;
}
/*-----------------------------------------
spmenu
-----------------------------------------*/
.spmenu_btn {
	display: none;
	z-index: 9;
	position: fixed;
	right: 4%;
	top: 25px;
	width: 40px;
	height: 35px;
	cursor: pointer;
}
.menu__line {
	display: block;
	position: absolute;
	background: #FFF; /* スマホメニュー3本線の色はここで変更できます */
	width: 100%;
	height: 3px;
	transition: transform .3s;
}
.home .menu__line {
	background: #12449a; /* スマホメニュー3本線の色はここで変更できます */
}
.menu__line--center {
	top: calc(50% - 1.5px);
}
.menu__line--bottom {
	bottom: 0;
}
.menu__line--top.active {
	top: 15px;
	transform: rotate(45deg);
}
.menu__line--center.active {
	transform: scaleX(0);
}
.menu__line--bottom.active {
	bottom: 17px;
	transform: rotate(135deg);
}
.spmenu {
	width: 40%;
	position: fixed;
	z-index: 9;
	left: -80%;
	top: 0;
	background-color: rgba(249, 249, 249, 0.9);
	overflow: auto;
	height: 100%;
}
.spmenu li {
	position: relative;
	z-index: 9;
	width: 100%;
	border-bottom: 1px dotted #ddd;
}
.spmenu li:first-child {
	width: 100%;
	background: #f4f4f4;
	text-align: center;
}
.spmenu li a {
	position: relative;
	z-index: 9;
	display: block;
	padding: 10px 15px;
	color: #333;
}
.spmenu li a img {
	width: auto;
	height: 65px;
}
.spmenu li.btn_wrap {
	border: none;
}
.spmenu li .btn {
	margin: 30px 0;
}
.spmenu li .btn a {
	display: inline-block;
	min-width: 300px;
	color: #FFF;
}
.spmenu li .btn.white a {
	color: #e76e79;
}
/*-----------------------------------------
footer
-----------------------------------------*/
.footer_inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 0 4%;
}
.footer_info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
footer .logo {
	width: 140px;
	margin-right: 40px;
}
footer .gnav li {
	position: relative;
	margin: 0;
	padding: 0 1em;
}
footer .gnav li:after {
	position: absolute;
	display: block;
	content: '';
	width: 1px;
	height: 1em;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background: #231815;
}
footer .gnav li:last-child:after {
	display: none;
}
.copyright {
	margin: 40px 0;
	font-size: 1.2rem;
	text-align: center;
}
.pagetop {
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 999;
	width: 50px;
	height: 50px;
	background: #003f76;
	color: #FFF;
	cursor: pointer;
}
.pagetop::after {
	content: "";
	position: absolute;
	top: 22px;
	left: 50%;
	transform: translate(-50%, 0) rotate(135deg);
	width: 15px;
	height: 15px;
	border: 2px solid;
	border-color: transparent transparent #FFF #FFF;
}
/*-----------------------------------------
common
-----------------------------------------*/
.section_inner {
	width: 90%;
	max-width: 1000px;
	margin: 100px auto;
}
.section_inner.w1200 {
	max-width: 1200px;
}
h2 {
	color: #FFF;
	font-size: 3.6rem;
	font-weight: 500;
	text-align: center;
}
h3 {
	margin-bottom: 30px;
	color: #004076;
	font-size: 3rem;
	font-weight: normal;
	text-align: center;
}
h3.en {
	font-size: 3.6rem;
}
article.blog h3 {
	padding-bottom: 10px;
	text-align: left;
	border-bottom: 1px dashed #e76e79;
}
h4 {
	margin-bottom: 30px;
	font-size: 1.8rem;
	font-weight: bolder;
}
aside h4 {
	margin-bottom: 20px;
}
h5 {
	margin-bottom: 10px;
	font-weight: 700;
}
.section_inner p {
	margin-bottom: 30px;
}
.section_inner p.lead {
	font-size: 2.3rem;
}
table {
	width: 100%;
	margin-bottom: 50px;
}
tr {
	border-bottom: 1px solid #CCC;
}
th, td {
	padding: 30px 0;
	text-align: left;
}
th {
	width: 28%;
	font-weight: 500;
	vertical-align: middle;
}
.center {
	text-align: center;
}
.imgL, .imgR {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.imgR {
	flex-direction: row-reverse;
}
.imgL figure, .imgR figure {
	width: 30%;
	text-align: center;
}
.imgL .txt {
	flex: 1;
	padding-left: 60px;
}
.imgR .txt {
	flex: 1;
	padding-right: 60px;
}
.blue {
	color: #003f76;
}
.bg_blue {
	padding: 1px 0;
	background: #003f76;
}
.bg_gray {
	padding: 1px 0;
	background: #d3d3d4;
}
.bg_blue .section_inner, .bg_gray .section_inner {
	max-width: 1120px;
	margin: 60px auto;
	padding: 60px 60px 30px;
	background: #FFF;
}
.dot_white {
	position: relative;
}
.dot_white:before {
	position: absolute;
	content: '';
	display: block;
	top: -7px;
	left: calc(50% - 3px);
	width: 7px;
	height: 7px;
	border-radius: 7px;
	background: #FFF;
}
.dot_pink {
	position: relative;
}
.dot_pink:before {
	position: absolute;
	content: '';
	display: block;
	top: -7px;
	left: calc(50% - 3px);
	width: 7px;
	height: 7px;
	border-radius: 7px;
	background: #e76e79;
}
.box_white {
	padding: 60px;
	background: #FFF;
	border-radius: 10px;
}
.btn {
	margin: 60px 0 30px;
	text-align: center;
}
.btn a {
	position: relative;
	display: inline-block;
	min-width: 220px;
	line-height: 45px;
	padding: 0 40px;
	background: #12449a;
	border-radius: 30px;
	color: #FFF;
	text-align: center;
	font-weight: bold;
}
.btn a.en {
	font-size: 2rem;
	font-weight: 400;
}
/*
.btn a:after {
	position: absolute;
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	right: 20px;
	top: 50%;
	border-top: 1px solid #FFF;
	border-right: 1px solid #FFF;
	transform: rotate(45deg) translate(0, -50%);
}
.btn.black a {
	background: #333333;
}
.btn.white a {
	background: #FFF;
	border: 2px solid #e76e79;
	color: #e76e79;
}
.btn.white a:after {
	border-top: 1px solid #e76e79;
	border-right: 1px solid #e76e79;
}
*/
.en {
	font-family: 'Cairo', sans-serif;
}
.gothic {
	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";
}
.pageimg {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	top: 0;
	left: 0;
	width: 100%;
	height: 380px;
	background: #003f76;
}
.page-about .pageimg {
	background: url("images/about/pageimg.jpg") no-repeat center;
	background-size: cover;
}
.page-service .pageimg {
	background: url("images/service/pageimg.jpg") no-repeat center;
	background-size: cover;
}
.page-company .pageimg {
	background: url("images/company/pageimg.jpg") no-repeat center;
	background-size: cover;
}
.page-contact .pageimg {
	background: url("images/contact/pageimg.jpg") no-repeat center;
	background-size: cover;
}
main {
	margin-top: 293px;
}
section:first-child {
	padding-top: 1px;
}
.home main {
	margin-top: 0;
}
/*-----------------------------------------
スクロールエフェクト
-----------------------------------------*/
.fadeIn {
	opacity: 0;
	transform: translate(0, 60px);
	transition: all 1200ms;
}
.fadeIn_view {
	opacity: 1;
	transform: translate(0, 0);
}
/*-----------------------------------------
ぱんくず
-----------------------------------------*/
.breadcrumb {
	width: 96%;
	max-width: 1200px;
	margin: 10px auto 0;
}
.breadcrumb li {
	display: inline-block;
	font-size: 11px;
}
/*-----------------------------------------
コンタクトフォーム用
-----------------------------------------*/
.wpcf7-form tr {
	border: none;
}
.wpcf7-form th, .wpcf7-form td {
	padding: 7px 0;
}
.wpcf7-form .submit {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	flex-direction: column;
}
input, button, select, textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	color: #585858;
	font: inherit;
	outline: none;
	letter-spacing: 1px;
}
textarea {
	resize: vertical;
	height: 130px;
}
input[type='submit'], input[type='button'], label, button, select {
	cursor: pointer;
}
input[type="checkbox"], input[type="radio"] {
	vertical-align: middle;
}
input[type="text"], input[type="email"], input[type="tel"], textarea {
	padding: 8px 20px;
	width: 100%;
	background: #f5f5f5;
}
input[type="submit"] {
	min-width: 220px;
	line-height: 45px;
	padding: 0 40px;
	background: #12449a;
	border-radius: 30px;
	color: #FFF;
	text-align: center;
	font-weight: bold;
}
input[type="password"] {
	margin-right: 1em;
	padding: 8px 20px;
	border-radius: 6px;
	background: #f5f5f5;
}
input::placeholder {
	color: #aaaaaa;
}
.slct select {
	padding: 10px 60px 10px 20px;
	background: #f5f5f5;
}
.slct select::-ms-expand {
	display: none;
}
.slct {
	position: relative;
	display: inline-block;
}
.slct::after {
	position: absolute;
	top: 13px;
	right: 20px;
	width: 15px;
	height: 15px;
	padding: 0;
	content: '';
	display: block;
	border-left: 2px solid #04a391;
	border-bottom: 2px solid #04a391;
	transform: rotate(-45deg);
	pointer-events: none;
}
.radio label {
	position: relative;
	padding-left: 1.25em;
	margin-right: 1em;
}
.radio label::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 15px;
	height: 15px;
	border: 1px solid #ddd;
	border-radius: 50%;
	background: #eee;
}
.radio input:checked + label::after {
	content: "";
	display: block;
	position: absolute;
	top: 3px;
	left: 3px;
	width: 11px;
	height: 11px;
	background: #A66970;
	border-radius: 50%;
}
th.req {
	position: relative;
}
th.req::after {
	position: absolute;
	content: '必須';
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	padding: 3px 7px;
	background: #004076;
	color: #FFF;
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1;
}
.submit {
	text-align: center;
}
/*-----------------------------------------
パスワード入力画面
-----------------------------------------*/
.post-password-form {
	width: 96%;
	margin: 100px auto;
	text-align: center;
}
.post-password-form p {
	margin-bottom: 30px;
}
/*-----------------------------------------
ブログcategory
-----------------------------------------*/
article.blog {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 96%;
	max-width: 1200px;
	margin: 100px auto;
}
article.blog section {
	width: 70%;
}
article.blog section .category_name {
	margin-bottom: 50px;
	padding: 10px 40px;
	background: #e76e79;
	color: #FFF;
	font-size: 3rem;
	text-align: center;
}
article.blog section .category_name a {
	color: #FFF;
}
article.blog aside {
	width: 24%;
}
article.blog aside .side_inner {
	margin-bottom: 40px;
}
article.blog aside li {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 3px;
	background: #f5f5f5;
	line-height: 1.6;
}
article.blog aside li a {
	display: block;
	width: 100%;
	padding: 7px 15px;
}
article.blog .section_inner {
	width: 100%;
	margin: 0 0 100px;
}
article.blog .section_inner .aligncenter {
	display: block;
	margin: 0 auto;
	text-align: center;
}
article.blog .info {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin-top: 40px;
	padding: 7px 20px;
	background: #f5f5f5;
}
article.blog .info .post-categories {
	display: flex;
	justify-content: flex-end;
}
article.blog .post-categories li {
	margin-left: 1em;
}
article.blog .info p {
	margin: 0 0 0 1em;
}
/*-----------------------------------------
pagenavi
-----------------------------------------*/
.wp-pagenavi {
	margin-bottom: 5px;
}
.wp-pagenavi a, .wp-pagenavi span {
	background-color: #333;
	border: 1px solid #333 !important;
	color: white;
	padding: 5px 8px !important;
	font-size: 14px;
	transition: 0.1s linear all;
}
.wp-pagenavi span.current {
	background-color: white;
	font-weight: normal !important;
	color: #333;
}
.wp-pagenavi a:hover {
	background-color: #333;
	color: white;
}
/*-----------------------------------------
トップページ
-----------------------------------------*/
.mainimg {
	position: relative;
	width: 100%;
	height: calc(100vh - 87px);
	background: #fff;
	text-align: center;
}
.mainimg_inner {
	position: relative;
	width: calc(100% - 200px);
	max-width: 1400px;
	height: calc(100vh - 87px);
	margin: 0 auto;
	padding: 60px 0;
}
.mainimg_inner h2 {
	position: absolute;
	width: 50%;
	right: 0;
	bottom: 100px;
}
.mainimg_logo {
	position: absolute;
	width: 45%;
	left: 0;
	top: 0;
}
.mainimg_bg {
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
}
.mainimg_bg img {
	width: 100%;
}
.home main {
	padding-top: 1px;
	background: url("images/home/bg.jpg") no-repeat top center;
	background-size: 100% auto;
}
.home_production h3 {
	margin-bottom: 15px;
}
.home_production .logo {
	width: 500px;
	margin: 0 auto 40px;
}
.home_production .lead01 {
	width: 100%;
	max-width: 800px;
	margin: 0 auto 40px;
	padding: 0 50px 40px;
	border-bottom: 1px solid #595757;
}
.home_production .lead02 {
	width: 100%;
	max-width: 755px;
	margin: 100px auto;
}
.home_production .txt {
	line-height: 2.5;
}
.home_contents {
	position: relative;
	padding: 1px 0 0;
}
.home_contents:before {
	content: '';
	display: block;
	position: absolute;
	width: 50%;
	height: 222px;
	left: 0;
	top: 0;
	background: #003f76;
}
.home_contents .section_inner {
	margin-top: 60px;
}
.home_contents h3 {
	position: relative;
	color: #FFF;
	text-align: left;
}
.home_contents h4 {
	margin: 15px 0 0;
}
.home_contents ul {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.home_contents ul li {
	width: 30%;
}
/*-----------------------------------------
.home_blog {
	padding: 1px 0;
	background: #f9f9f9;
}
.home_blog ul {
	display: flex;
	flex-wrap: wrap;
}
.home_blog li {
	width: 24%;
	margin-right: 1%
}
.home_blog li figure {
	width: 100%;
	height: 192px;
	margin-bottom: 15px;
	background: #FFF;
	text-align: center;
}
.home_blog li figure img {
	width: auto;
	height: 192px;
	object-fit: cover;
}
.home_blog li .cont {
	padding: 0 .5em;
}
.home_blog li p {
	margin-bottom: 0;
	line-height: 1.6;
}
.home_blog li p.date {
	font-size: 1.4rem;
}
-----------------------------------------*/
/*-----------------------------------------
内部ページ
-----------------------------------------*/
/*私たちについて*/
.about_intro .lead img {
	width: 80%;
}
.about_intro .cont {
	position: relative;
	margin-top: 60px;
	padding: 60px 0 0 37%;
}
.about_intro .cont p {
	position: relative;
}
.about_intro .cont .txt {
	line-height: 2.5;
}
.about_intro .cont .summary {
	color: #003f76;
	font-size: 2.4rem;
	font-weight: bold;
}
.about_intro .cont .logo {
	position: absolute;
	left: -60px;
	top: 0;
	width: 50%;
}
.about_professional .section_inner, .about_flexible .section_inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.about_professional .ttl, .about_flexible .ttl {
	width: 30%;
	padding-right: 60px;
}
.about_professional .ttl .en, .about_flexible .ttl .en {
	padding: 10px 0;
	line-height: 1;
	text-align: center;
	border-top: 1px solid #003f76;
	border-bottom: 1px solid #003f76;
}
.about_flexible .ttl .en {
	border-top: 1px solid #222;
	border-bottom: 1px solid #222;
}
.about_professional .ttl .en img, .about_flexible .ttl .en img {
	width: auto;
	height: 10px;
	vertical-align: middle;
}
.about_professional .ttl h3 img, .about_flexible .ttl h3 img {
	width: auto;
	height: 46px;
	vertical-align: middle;
}
.about_professional .cont, .about_flexible .cont {
	flex: 1;
}
.about_professional .cont .img, .about_flexible .cont .img {
	position: relative;
	margin-bottom: 30px;
	padding: 30px 8% 0;
}
.about_professional .cont .img img, .about_flexible .cont .img img {
	position: relative;
}
.about_professional .cont .img:before, .about_flexible .cont .img:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 126px;
	background: #f4f4f4;
}
.about_flexible {
	margin-bottom: 100px;
}
/*業務内容*/
.service_nav ul {
	display: flex;
	flex-wrap: wrap;
	/*justify-content: center;*/
}
.service_nav li {
	width: 31%;
	margin: 0 10px 20px;
}
.service_nav li a {
	display: block;
	width: 100%;
	padding: 7px 0;
	border: 2px solid #003f76;
	color: #003f76;
	font-weight: bold;
	text-align: center;
}
.service_cont .ttl {
	width: 100%;
	margin: 0 0 60px;
	padding: 1px 100px;
	background: url("images/service/ttl_bg.svg") no-repeat center;
	background-size: cover;
	color: #FFF;
}
.service_cont .ttl h3 {
	margin: 40px 0 0;
	text-align: left;
	color: #FFF;
	line-height: 1.5;
}
.service_cont .ttl .en {
	margin: 0 0 50px;
	line-height: 1;
}
.service_cont .imgR, .service_cont .imgL {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.service_cont .imgR .txt p, .service_cont .imgL .txt p {
	line-height: 2.5;
}
.service_cont .imgR .txt p.small, .service_cont .imgL .txt p.small {
	font-size: 1.2rem;
	line-height: 2;
}
.service_cont .imgL figure, .service_cont .imgR figure {
	width: 50%;
}
/*会社概要*/
.company_message .section_inner {
	position: relative;
}
.company_message .section_inner .bg {
	position: absolute;
	right: 0;
	top: 0;
	width: 20%;
}
.company_message .ttl {
	margin: 40px 0 80px;
}
.company_message .en img {
	height: 96px;
}
.company_message .ttl01 img {
	height: 24px;
}
.company_message .ttl02 img {
	height: 38px;
}
.company_message .imgL .img {
	text-align: left;
}
.company_message .imgL .img img {
	margin-bottom: 20px;
}
.company_message .sign {
	text-align: right;
}
/*お問い合わせ*/
.contact_lead {
	padding-top: 1px;
}
/*個人情報保護方針*/
.privacypolicy_cont dt {
	color: #004076;
	font-weight: bold;
}
.privacypolicy_cont dd {
	margin-bottom: 30px;
}
/*-----------------------------------------
responsive
-----------------------------------------*/
.pcS {
	display: none;
}
.tb {
	display: none;
}
.sp {
	display: none;
}
.spS {
	display: none;
}
.pc {
	display: block;
}
@media screen and (max-width: 1280px) { /* iPad Pro */
	.footer_inner {
		flex-direction: column-reverse;
		justify-content: flex-start;
	}
	footer nav {
		margin-bottom: 40px;
	}
}
@media screen and (max-width: 1194px) { /* iPad Pro */
	.mainimg, .mainimg_inner {
		height: 560px;
	}
}
@media screen and (max-width: 1080px) { /* タブレット横 */
	.pcS {
		display: block;
	}
	.imgL .txt {
		padding-left: 40px;
	}
	.imgR .txt {
		padding-right: 40px;
	}
	.about_intro .cont {
		padding-left: 30%;
	}
}
@media screen and (max-width: 896px) { /* iPhone XS MAX 横表示 */
	.pcS {
		display: none;
	}
	.pc {
		display: none;
	}
	.tb {
		display: block;
	}
	.spmenu_btn {
		display: block;
	}
	header .gnav {
		display: none;
	}
	.wrapper {
		width: 100%;
		overflow: hidden;
	}
	.pagetop {
		display: none !important;
	}
	.section_inner {
		margin: 60px auto;
	}
	.imgL {
		flex-direction: column;
	}
	.imgR {
		flex-direction: column;
	}
	.imgL .txt, .imgR .txt {
		padding: 0;
	}
	.imgL figure, .imgR figure {
		width: 60%;
		margin: 0 auto 40px;
		text-align: center;
	}
	article.blog section, article.blog aside {
		width: 100%;
	}
	article.blog aside {
		display: flex;
		justify-content: space-around;
		flex-wrap: wrap;
	}
	/*common*/
	.pageimg {
		height: 250px;
	}
	main {
		margin-top: 163px;
	}
	/*home*/
	.mainimg, .mainimg_inner {
		height: 400px;
	}
	.mainimg_inner h2 {
		bottom: 60px;
	}
	.home_production .logo {
		width: 50%;
	}
	/*page*/
	.about_intro .cont {
		padding: 0;
		text-align: center;
	}
	.about_intro .cont .logo {
		left: -20%;
		top: -30px;
	}
	.service_nav li {
		width: 30%;
	}
	.service_cont .ttl {
		padding: 1px 5%;
	}
	.company_message .imgL .img {
		text-align: center;
	}
}
@media screen and (max-width: 640px) {
	.tb {
		display: none;
	}
	.sp {
		display: block;
	}
	p, th, td, li, dt, dd {
		line-height: 2;
	}
	h1 {}
	h2 {
		font-size: 3rem;
	}
	h3 {
		font-weight: normal;
	}
	h4 {
		margin-bottom: 30px;
	}
	th, td {
		display: block;
		width: 100%;
	}
	th {
		padding: 15px 0 0;
	}
	td {
		padding: 0 0 15px;
	}
	.wpcf7-form th {
		padding: 0;
	}
	.wpcf7-form td {
		padding: 0 0 15px;
	}
	th.req::after {
		position: relative;
		right: unset;
		margin-left: 1em;
		line-height: 1;
	}
	p.submit {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	input[type="password"] {
		width: 100%;
	}
	.post-password-form p {
		text-align: left;
	}
	.spmenu {
		width: 70%;
	}
	.post-password-form input[type="submit"] {
		margin-top: 30px;
	}
	.pageimg {
		padding-top: 55px;
		height: 230px;
	}
	.section_inner {
		width: calc(100% - 40px);
		margin: 50px auto;
	}
	.btn {
		margin: 30px 0;
	}
	.imgL .txt, .imgR .txt {
		padding: 0;
	}
	.bg_gra {
		padding: 1px;
	}
	.bg_gra .imgL .txt, .bg_gra .imgR .txt {
		padding: 0;
	}
	.box_white {
		padding: 30px 20px 1px;
	}
	.dot_pink:before {
		top: -1px;
		left: calc(50% - 2px);
		width: 5px;
		height: 5px;
		border-radius: 5px;
	}
	.spmenu li.btn_wrap {}
	.spmenu li .btn {
		margin: 15px 0;
	}
	.spmenu li .btn a {
		min-width: 80%;
	}
	article.blog {
		margin: 50px auto;
	}
	article.blog .section_inner {
		margin: 0 0 50px;
	}
	article.blog aside {
		flex-direction: column;
	}
	footer .gnav {
		justify-content: center;
	}
	/*common*/
	h1 {
		width: 100%;
	}
	h1 a {
		position: relative;
		width: 80%;
	}
	h1 span {
		display: block;
		position: absolute;
		top: 0;
		left: 65px;
	}
	h3 {
		font-size: 2.6rem;
	}
	h3.en {
		font-size: 3rem;
	}
	h4 {
		padding-bottom: 10px;
		line-height: 1.5;
	}
	/*common*/
	main {
		margin-top: 143px;
	}
	footer .gnav li:nth-child(3):after {
		display: none;
	}
	footer .logo {
		margin: 0 auto 15px;
	}
	.footer_info {
		justify-content: center;
		text-align: center;
	}
	.bg_blue .section_inner, .bg_gray .section_inner {
		margin: 30px auto;
		padding: 30px 20px 0;
	}
	/*home*/
	.mainimg_inner {
		width: 70%;
	}
	.mainimg_bg {
		top: 50%;
		transform: translateY(-50%);
	}
	.mainimg_logo {
		width: 75%;
		left: 50%;
		transform: translateX(-50%);
	}
	.mainimg_inner h2 {
		width: 100%;
	}
	.home main {
		background: url("images/home/bg_sp.png") no-repeat top center;
		background-size: 100% auto;
	}
	.home_production .lead01 {
		padding: 0 0 40px;
	}
	.home_production .lead02 {
		width: 80%;
		margin: 60px auto;
	}
	.home_production .txt {
		text-align: left;
	}
	.home_production .img {
		margin-bottom: 60px;
	}
	.home_production .appeal {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 30px;
	}
	.home_production .appeal dt {
		width: 100%;
		margin-bottom: 15px;
		padding: 3px 0;
		background: #004076;
		color: #FFF;
		font-size: 2rem;
		text-align: center;
	}
	.home_production .appeal dt a {
		color: #FFF;
	}
	.home_production .appeal.flexible dt {
		background: #b4b4b5;
	}
	.home_production .appeal dd {
		text-align: left;
	}
	.home_production .appeal dd img {
		width: 100%;
		margin-bottom: 15px;
	}
	.home_production .appeal li {
		width: 48%;
	}
	.home_contents:before {
		width: 90%;
	}
	.home_contents ul li {
		width: 48%;
	}
	.home_contents h4 {
		font-size: 1.4rem;
	}
	/*page*/
	.about_intro .lead img {
		width: 100%;
	}
	.about_intro .cont {
		text-align: left;
	}
	.about_intro .cont .txt br {
		display: none;
	}
	.about_intro .cont .summary {
		font-size: 2rem;
	}
	.about_professional .ttl, .about_flexible .ttl {
		width: 100%;
		padding: 0;
	}
	.about_professional .cont br, .about_flexible .cont br {
		display: none;
	}
	.about_professional .cont .img:before, .about_flexible .cont .img:before {
		display: none;
	}
	.about_professional .cont .img, .about_flexible .cont .img {
		padding: 0;
	}
	.service_nav ul {
		justify-content: space-between;
	}
	.service_nav li {
		width: 49%;
		margin: 0 0 10px;
	}
	.service_nav li a {
		border: 1px dotted #003f76;
	}
	.service_cont .ttl h3 {
		margin: 30px 0 0;
	}
	.service_cont .ttl .en {
		margin: 0 0 35px;
	}
	.service_cont .imgL figure, .service_cont .imgR figure {
		width: 80%;
	}
	.company_message .ttl {
		margin: 30px 0 40px;
	}
	.company_message .ttl .en {
		margin-bottom: 15px;
	}
	.company_message .ttl .ttl01 {
		margin-bottom: 0;
	}
	.company_message .sign {
		text-align: left;
	}
	.contact_lead .txt {
		text-align: left;
	}
}
@media screen and (max-width: 390px) {
	.spS {
		display: block;
	}
}