/*
Description: 株式会社GMWのHP用テンプレート
Author: gmw_kawashita
Version: 1.0
*/

/* リセットCSS */
* {
	margin: 0;
	padding: 0;
}

button {
	border-color: transparent;
	background: transparent;
	cursor: pointer;
}

html {
	/* 1rem = 10px */
	font-size: 62.5%;
}

body {
	margin: auto;
}

h6 {
	font-size: 0;
}

ul {
	list-style: none;
}

.sp {
	display: none;
}

a {
	text-decoration: none;
}

table {
	border-collapse: collapse;
	border: none;
	border-spacing: 0;
}

th,
td {
	vertical-align: top;
	border: solid 1px #000;
	font-weight: normal;
	text-align: left;
}

caption {
	text-align: left;
}

header,
.footer-wrapper {
	position: sticky;
	top: 0;
	left: 0;
	height: 90px;
	width: 100vw;
	background-color: white;
	color: #000000;
	font-size: 2rem;
	font-family: "Ubuntu";
	font-weight: bold;
	line-height: 2.3rem;
	z-index: 100;
	display: flex;
	align-items: center;
}

.footer-wrapper {
	position: relative;
	width: auto;
	font-size: 1.8rem;
	margin-top: 5vh;
}

header a,
.footer-wrapper a {
	color: #000000;
}

header a:visited {
	color: #000000;
}

header li,
.footer-wrapper li {
	list-style-type: none;
}

header .logo-img,
.footer-wrapper .logo-img {
	padding: 0 2vw;
	width: 8vw;
	height: auto;
}

header nav {
	margin: 0 auto;
}

.footer-wrapper nav {
	margin: 0 6.5vw;
}

header ul,
.footer-wrapper ul {
	display: flex;
}

header .list-item {
	padding-left: 10vw;
}

.footer-wrapper .list-item {
	padding-left: 6vw;
}

header ul li:first-child,
.footer-wrapper ul li:first-child {
	padding-left: 0;
}

header .contact,
.footer-wrapper .contact {
	position: relative;
	width: 14vw;
	height: 90px;
	background-color: #3282f0;
}

.footer-wrapper .contact {
	margin-right: -11vw;
}

header .contact a,
.footer-wrapper .contact a {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	width: 100%;
	height: 100%;
	color: white;
}

footer {
	margin-left: 11vw;
	margin-right: 11vw;
	/* height: 20vh; */
}

footer .copyright {
	margin-top: 3vh;
	padding-bottom: 5vh;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	font-family: "Noto Sans Japanese";
	font-size: 1.2rem;
	line-height: 2.5rem;
	text-align: center;
}

footer .copyright>span {
	font-family: "Times New Roman", "Times";
}

.main-visual {
	position: relative;
	background-image: url("./images/top_image.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	width: 100vw;
	height: 70vh;
}

.main-visual .discription {
	position: absolute;
	margin-left: 11vw;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

.main-visual .discription .words-img {
	width: 31vw;
}

.main-visual .words {
	font-family: "Montserrat";
	font-weight: bold;
	font-size: 3.2rem;
	color: white;
	padding-top: 5vh;
	text-shadow: 0.3rem 0 0.2rem black;
}

.main-contents {
	margin-left: 11vw;
	margin-right: 11vw;
}

.main-contents .background-color-area {
	position: absolute;
	width: 30vw;
	background-color: #e9f3f5;
	z-index: 1;
}

.main-contents .right-area {
	right: 0;
	height: 276.87vh;
}

#fixed-page .right-area,
#single-page .right-area {
	top: 53vh;
	height: 120.87vh;
}

.main-contents .left-area {
	top: 450vh;
	left: 0;
	height: 180.87vh;
}

#fixed-page .left-area {
	top: 179vh;
	left: 0;
	height: 80.87vh;
}

main #fixed-page #outline-background {
	background-color: #dcdcdc;
	top: 120vh;
	width: 78vw;
	height: 102.87vh;
	z-index: 3;
}

.main-contents .background-left-area {
	position: absolute;
	right: 0;
	width: 30vw;
	height: 276.87vh;
	background-color: #e9f3f5;
	z-index: 1;
}

.main-contents .left-arrow-logo {
	width: 71.111em;
	height: 49.699em;
	z-index: 5;
}

.main-contents .right-arrow-logo {
	width: 79.111em;
	height: 49.699em;
	z-index: 5;
}

#about-ttl-logo,
#fixed-page #service-ttl-logo,
#achievemnet-ttl-logo {
	position: absolute;
	left: 0;
	top: 78.167vh;
}

#service-ttl-logo {
	position: absolute;
	right: 0;
	top: 170.167vh;
}

#member-ttl-logo {
	position: absolute;
	left: 0;
	top: 262.167vh;
}

#recruit-ttl-logo {
	position: absolute;
	right: 0;
	top: 398.167vh;
}

#blog-ttl-logo {
	position: absolute;
	left: 0;
	top: 507.167vh;
}

.main-contents .even-area-background {
	position: absolute;
	left: 0;
	background-image: url("./images/dot_background.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	width: 100vw;
	height: 80vh;
	z-index: 10;
}

#service-background {
	top: 177.167vh;
}

#recruit-background {
	top: 400.167vh;
	height: 105vh;
}

#access-background,
#achievement-background {
	top: 320.167vh;
	left: auto;
	right: 0;
	height: 36vh;
	width: 90vw;
}

#achievement-background {
	top: 302.167vh;
	left: auto;
	left: 0;
	height: 104vh;
	width: 88vw;
}

.main-contents section {
	display: grid;
	position: relative;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	align-items: end;
	z-index: 50;
}


.main-contents .section-title-en,
.section-headline {
	font-family: "Ubuntu";
	font-weight: bold;
	font-size: 10rem;
	line-height: 10.5rem;
	color: #80c2b7;
	padding-bottom: 1.9vh;
	letter-spacing: 0.3rem;
}

.main-contents .section-title-ja {
	font-family: "Noto Sans Japanese";
	font-weight: bold;
	font-size: 3.5rem;
	line-height: 5rem;
	color: #000000;
}

.main-contents .section-ico {
	margin: 0 auto;
	width: 30em;
	height: 26.8em;
	/* z-index: 50; */
}

.main-contents h3 {
	grid-column: 1 / 3;
	padding-top: 4.2vh;
	font-family: "Noto Sans Japanese";
	font-weight: 500;
	/* Medium */
	font-size: 3.3rem;
	line-height: 5rem;
	color: #000000;
}

.main-contents .section-subtitle {
	grid-column: 1 / 3;
	display: flex;
	align-items: center;
	font-family: "Noto Sans Japanese";
	font-weight: 500;
	/* Medium */
	font-size: 2.4rem;
	line-height: 3.5rem;
	color: #000000;
	padding-top: 3.2vh;
	padding-bottom: 3.2vh;
}

.main-contents .section-subtitle:before {
	border-top: 0.2rem solid #3282f0;
	content: "";
	width: 4.5rem;
	margin-right: 0.5em;
}

.main-contents .section-discription {
	position: relative;
	grid-column: 1 / 3;
	z-index: 70;
	font-family: "Noto Sans Japanese";
	font-weight: 400;
	/* Regular */
	font-size: 1.8rem;
	line-height: 3.6rem;
	color: #000000;
	padding-bottom: 4.2vh;
}

.main-contents .more-btn {
	position: relative;
	grid-column: 1 / 3;
	text-align: center;
	padding-bottom: 0.8vh;
	width: 10.5rem;
	font-family: "Ubuntu";
	font-weight: bold;
	font-size: 2.3rem;
	color: #000000;
	border-bottom: 0.3rem solid #000000;
	margin-bottom: 9.0293vh;
}

.main-contents .more-btn a {
	color: #000000;
}

.main-contents .more-btn:hover {
	border-bottom: none;
}

.main-contents .more-btn::after {
	position: absolute;
	bottom: -0.3rem;
	left: 0;
	content: "";
	width: 100%;
	height: 0.3rem;
	background: #3282f0;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform 0.3s;
}

.main-contents .more-btn:hover::after {
	transform: scale(1, 1);
}

.main-contents>section {
	margin-top: 9.5vh;
}

.main-contents section:first-of-type {
	margin-top: 0;
}

#fixed-page .service-logo>img,
#fixed-page .achievement-logo>img {
	height: 100%;
	width: auto;
}

.main-contents .member-logo {
	width: 33.32em;
	height: 23.56em;
}

.main-contents .recruit-logo {
	width: 13.8em;
	height: 29.5em;
	margin: 0 5.8vw;
}

.main-contents .blog-logo {
	width: 32.1em;
	height: 27.8em;
}

.main-contents .even .section-title {
	margin: 0 auto;
	grid-column: 2 / 3;
	grid-row: 1;
}

.main-contents .even .section-ico {
	grid-column: 1 / 2;
	grid-row: 1;
}

.main-contents .members-wrapper {
	margin-top: 11.6671vh;
	grid-column: 1 / 3;
}

.main-contents .members-wrapper .members-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

.main-contents .member1 {
	grid-column: 1 / 2;
}

.main-contents .member2 {
	grid-column: 2 / 3;
}

.main-contents .member3 {
	grid-column: 3 / 4;
}

.main-contents .member-icon {
	grid-column: 1 / 1;
	position: relative;
	margin-top: 3.182vh;
	margin-bottom: 15.242vh;
}

.main-contents .member-icon>img {
	width: 24vw;
	height: 24vw;
}

.main-contents .member-icon p {
	position: absolute;
	bottom: 0;
	left: 0vw;
	font-size: 2rem;
	color: white;
	background: black;
	width: 115px;
	padding: 0.38rem 0rem 0.38rem 1.5rem;
	opacity: 0.9;
}

.main-contents .member-icon .member-position {
	bottom: -3vh;
}

.main-contents .member-icon .member-name {
	bottom: -8vh;
}

.main-contents .blog-wrapper {
	margin-top: 4.5147vh;
	grid-column: 1 / 3;
}

.main-contents .blog-wrapper .blog-grid,
#fixed-page .blog-wrapper .blog-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

#fixed-page .blog-wrapper .blog-grid {
	grid-template-rows: 1fr 1fr 1fr;
}

.main-contents .blog-grid .article-title {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 3.5rem;
	letter-spacing: 0;
	color: #000000;
}

.main-contents .blog-wrapper .article-title>h6 {
	font-size: 2.4rem;
	font-weight: bold;
	font-family: "Ubuntu";
}

.main-contents .blog-wrapper .article-title>h7 {
	font-family: "Noto Sans Japanese";
}

.main-contents .blog-wrapper .article-icon {
	margin-top: 3.386vh;
	margin-bottom: 3.386vh;
}

.main-contents .blog-wrapper .article-icon>img {
	width: 25vw;
	height: 50vh;
	border-radius: 2rem;
}

.main-contents .blog-wrapper .article-discription {
	width: 25vw;
	font-family: "Noto Sans Japanese";
	font-weight: 400;
	/* Regular */
	font-size: 1.8rem;
	line-height: 3.6rem;
	color: #000000;
	margin-bottom: 4.515vh;
}

.main-contents .blog-grid .article1 {
	grid-column: 1 / 2;
}

.main-contents .blog-grid .article2 {
	grid-column: 2 / 3;
}

.main-contents .blog-grid .article3 {
	grid-column: 3 / 4;
}

/* トップメッセージ画面 */
#fixed-page .top-message-wrapper {
	background-image: url(./images/top-message.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	width: 100vw;
	height: 80vh;
	margin: 0 -11vw;
	position: relative;
}

#fixed-page .top-message-wrapper .top-message-disc {
	position: absolute;
	bottom: 10vh;
	left: 10vw;
}

#fixed-page .top-message-content .message-ttl {
	margin: 10vh 0;
}

#fixed-page .top-message-content .message,
#fixed-page .top-message-content .top-history {
	margin: 0 0 10vh 0;
}

#fixed-page .top-message-content .message-ttl,
#fixed-page .top-message-content .message,
#fixed-page .top-message-content .top-history {
	grid-column: 1 / 3;
	font-family: "Noto Sans Japanese";
}

#fixed-page .top-message-content .message .top-sign {
	text-align: right;
	padding-top: 5rem;
}

#fixed-page .top-message-content {
	margin-top: 0;
}

#fixed-page .top-message-content h1 {
	font-size: 3.5rem;
	text-align: center;
}

#fixed-page .top-message-content p {
	font-size: 2.2rem;
	line-height: 5rem;
}


#fixed-page .top-message-wrapper p {
	font-size: 3.5rem;
	font-weight: bold;
	color: #fff;
	font-family: "Noto Sans Japanese";
}

.main-contents .contact-wrapper,
.main-contents .access-wrapper,
#fixed-page .recruit-wrapper {
	background-image: url(./images/top_contact_image.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	width: 100vw;
	height: 55vh;
	margin: 0 -11vw;
	position: relative;
}

#fixed-page .recruit-wrapper {
	height: 70vh;
}

.main-contents .access-wrapper {
	background-image: none;
	height: auto;
}

/* ページ内コンタクトコンテンツ */
.main-contents .contact-wrapper .contact-title {
	margin: 7vh;
}

.main-contents .contact-wrapper .contact-title>h1,
.main-contents .contact-wrapper .contact-title>h3,
.main-contents .recruit-wrapper .recruit-title>h1,
.main-contents .recruit-wrapper .recruit-title>h3 {
	color: white;
	text-align: center;
	padding-top: 0;
	padding-bottom: 0;
}

.main-contents .contact-wrapper .contact-title>h3,
.main-contents .recruit-wrapper .contact-title>h3 {
	padding-top: 2.13vh;
	font-size: 2.8rem;
}

/*== ボタン共通設定 */
.section-contact-btn,
.section-recruit-btn {
	/*アニメーションの起点とするためrelativeを指定*/
	position: relative;
	/* top: 6.5vh; */
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	overflow: hidden;
	/*ボタンの形状*/
	text-decoration: none;
	display: inline-block;
	/* border: 1px solid #555;ボーダーの色と太さ */
	padding: 2.5vh 4.2vw;
	text-align: center;
	outline: none;
	/*アニメーションの指定*/
	transition: ease 0.2s;
	background-color: white;
}

#fixed-page .section-contact-btn {
	top: 0vh;
}

/*ボタン内spanの形状*/
.section-contact-btn span,
.section-recruit-btn span {
	position: relative;
	z-index: 3;
	/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	color: #000000;
	font-family: "Ubuntu";
	font-size: 2rem;
	font-weight: bold;
	line-height: 2.3rem;
}

.section-contact-btn:hover span,
.section-recruit-btn:hover span {
	color: #fff;
}

/*== 背景が流れる（左から右） */
.bgleft:before {
	content: "";
	/*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	/*色や形状*/
	background: #3282f0;
	/*背景色*/
	width: 100%;
	height: 100%;
	/*アニメーション*/
	transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: right top;
}

/*hoverした際の形状*/
.bgleft:hover:before {
	transform-origin: left top;
	transform: scale(1, 1);
}

main>#fixed-page .section-title:first-child,
main>#single-page .section-title:first-child {
	margin: 7vh;
}

#fixed-page #about-ttl-logo,
#single-page #about-ttl-logo,
#fixed-page #service-ttl-logo {
	top: 7.167vh;
}

#fixed-page #achievemnet-ttl-logo {
	top: 305.167vh;
}

#bread-crumb {
	grid-column: 1 / 3;
	margin-top: 6.369vh;
	font-size: 1.4em;
}

#bread-crumb li {
	display: inline;
}

#bread-crumb li a {
	color: inherit;
}

#bread-crumb li+li:before {
	content: ">";
	margin: 0 1em;
	vertical-align: 8%;
}

.section-headline {
	margin-top: 6.369vh;
	font-size: 4em;
	grid-column: 1 / 3;
	line-height: 0;
	padding: 0;
}

.section-headline+h3 {
	margin-top: 2.369vh;
}

#top-message-more-btn,
#about-gmap-more-btn {
	width: 17.5rem;
}

#about-gmap-more-btn {
	margin: 8vh auto 0 auto;
}

.outline {
	margin-top: 8vh;
	grid-column: 1 / 3;
	z-index: 5;
}

.outline-table {
	font-size: 1.8rem;
	font-family: "Noto Sans Japanese";
	border: 0;
	border-collapse: collapse;
	z-index: 5;
	width: 100%;
}

.outline-table tr {
	height: 9vh;
}

.outline-table tr th,
.outline-table tr td {
	border: 0;
	vertical-align: middle;
}

.outline-table tr th {
	border-bottom: #3282f0 solid 1px;
	font-weight: bold;
	width: 10px;
	white-space: nowrap;
}

.outline-table tr td {
	border-bottom: #b6b5b5 solid 1px;
}

.outline-table .tbl-left-col {
	width: 11vw;
}


.main-contents .access-wrapper .access-title>h1 {
	text-align: center;
	font-size: 4em;
}

.main-contents .access-wrapper iframe {
	margin-top: 2vh;
}

.main-contents .access-wrapper iframe+.more-btn {
	margin-top: 5vh;
}
/* サービス画面 */
#fixed-page .service-discriptions-wrapper {
	margin-top: 4.5147vh;
	margin-bottom: 15vh;
	grid-column: 1 / 3;
}

#fixed-page .service-discriptions-wrapper .service-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 4fr 0.5fr 0.5fr 0.5fr 4fr 1fr;
	grid-column-gap: 2vw;
}

#fixed-page .service-discriptions-wrapper .service-grid .article {
	width: 100%;
	box-shadow: 0px 0px 4px 4px rgba(210, 215, 211, 0.9);
	border-radius: 1rem;
	font-family: "Noto Sans Japanese";
	display: grid;
	grid-template-rows: 0.1fr 1fr;
}

#fixed-page .service-discriptions-wrapper .service-grid .article .article-num {
	border-radius: 1rem 0 0 0;
	width: 5rem;
	height: 5rem;
	background-color: #80c2b7;
	color: #fff;
	font-weight: bold;
	font-size: 2.4rem;
	position: relative;
}

#fixed-page .service-discriptions-wrapper .service-grid .article .article-num p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

#fixed-page .service-discriptions-wrapper .service-grid .article .article-discription-wrapper {
	width: 80%;
	padding-top: 3vh;
	padding-bottom: 9vh;
	padding-left: 2vw;
}

#fixed-page .service-discriptions-wrapper .service-grid .article .article-discription-wrapper h4 {
	font-size: 2.4rem;
	margin-bottom: 3vh;
}

#fixed-page .service-discriptions-wrapper .service-grid .article .article-discription-wrapper p {
	font-size: 1.8rem;
}

#fixed-page .service-discriptions-wrapper .service-grid .article .article-icon {
	align-content: end;
}

#fixed-page .service-discriptions-wrapper .service-grid .article .article-icon img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

#fixed-page .service-discriptions-wrapper .service-grid .article-space {
	box-shadow: none;
}

#fixed-page .service-grid .article1 {
	grid-column: 1 / 2;
	grid-row: 1 / 3;
}

#fixed-page .service-grid .article1-space {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}

#fixed-page .service-grid .article2 {
	grid-column: 2 / 3;
	grid-row: 2 / 5;
}

#fixed-page .service-grid .article2-space {
	grid-column: 1 / 2;
	grid-row: 3 / 4;
}

#fixed-page .service-grid .article3 {
	grid-column: 1 / 2;
	grid-row: 4 / 7;
}

#fixed-page .service-grid .article3-space {
	grid-column: 2 / 3;
	grid-row: 5 / 6;
}

#fixed-page .service-grid .article4 {
	grid-column: 2 / 3;
	grid-row: 6 / 8;
}

#fixed-page .service-grid .article4-space {
	grid-column: 1 / 2;
	grid-row: 7 / 8;
}

/* RECRUIT画面 */
#achievement-title {
	margin-top: 13vh;
}

#fixed-page .recruit-contents h3 {
	margin: 5vh 0;
}

#fixed-page .recruit-contents h4 {
	margin: 5vh 0;
}

#fixed-page .recruit-contents p {
	margin: 1vh 0;
	font-size: 1.8rem;
	grid-column: 1 / 3;
}

#fixed-page .requirements-contents {
	grid-template-columns: 0.5fr 1fr 1fr 0.5fr;
	background-color: #F2F2F2;
	margin-left: -11vw;
	margin-right: -11vw;
	width: 100vw;
	padding-top: 10vh;
}

#fixed-page .requirements-title {
	grid-column: 1 / 5;
	text-align: center;
}

#fixed-page .requirements-wrapper {
	grid-column: 1 / 5;
	margin-top: 7vh;
	margin-left: 11vw;
	margin-right: 11vw;
	background-color: #fff;
	padding: 3vh 5vw;
}

#fixed-page .requirements-wrapper .requirements-line {
	margin: 6vh 0;
	opacity: 0.3;
}

#fixed-page .requirements-title h3 {
	font-size: 1.8rem;
}


#fixed-page .requirements-wrapper p {
	font-size: 1.8rem;
	/* background-color: green; */
}

/* ページ内コンタクトコンテンツ */

#fixed-page .contact-contents {
	margin-top: 0;
}

#fixed-page .contact-contents .thanks-content {
	grid-column: 1 / 3;
	text-align: center;
	margin: 20vh;
}

#fixed-page .contact-contents .thanks-content h1 {
	font-size: 3.8rem;
	margin-top: 15vh;
}

#fixed-page .contact-contents .thanks-content h2 {
	font-size: 3rem;
	margin-top: 5vh;
}

#fixed-page .contact-contents .thanks-content img {
	width: 10vw;
	height: auto;
	margin: 10vh;
}

/* SERVICE画面 */
#fixed-page .achievement-wrapper,
#fixed-page .flow-wrapper {
	margin-top: 11vh;
	margin-bottom: 4vh;
	grid-column: 1 / 3;
}

#fixed-page .achievement-grid,
#fixed-page .flow-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-row-gap: 4vh;
	text-align: center;
}

#fixed-page .flow-grid {
	grid-template-columns: 1fr 0.2fr 1fr 0.2fr 1fr 0.2fr 1fr;
}

#fixed-page .achievement-grid .article-icon img,
#fixed-page .flow-grid .article-icon img {
	width: 8vw;
	height: auto;
}

#fixed-page .achievement-grid .article-discription,
#fixed-page .flow-grid .article-discription {
	margin-top: 2vh;
	font-size: 1.8rem;
}

#fixed-page .flow-grid .article {
	background-color: #80c2b7;
	border-radius: 1rem;
	width: 80%;
	margin: auto;
}

#fixed-page .flow-grid .article-space {
	background-color: #fff;
	text-align: center;
	margin: auto;
	font-weight: bold;
	font-size: 3.4rem;
}

#fixed-page .flow-grid .article-icon {
	padding-top: 2vh;
}

#fixed-page .flow-grid .article-icon p {
	font-size: 2.4rem;
	color: #fff;
	padding-bottom: 2vh;
}

#fixed-page .flow-grid .article-discription .article-ttl {
	height: 8vh;
}

#fixed-page .flow-grid .article-discription p {
	text-align: center;
	padding: 0 1vw;
	padding-bottom: 3vh;
}

/* BLOG画面 */
#fixed-page .blog-grid .posts_pagination {
	grid-column: 1 / 4;
	text-align: center;
}

#fixed-page .blog-grid .posts_pagination .navigation .screen-reader-text {
	display: none;
}

#fixed-page .blog-grid .posts_pagination .navigation {
	font-size: 2.4rem;
}

.pagination .nav-links {
	text-align: center;
}

.pagination .nav-links .dots {
	display: inline-block;
	margin: 8px;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 30px;
}

.pagination .nav-links a.page-numbers,
.pagination .nav-links .current {
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: 8px;
	border: 1px solid #3282f0;
	border-radius: 50%;
	font-size: 1.4rem;
	text-decoration: none;
	line-height: 30px;
	color: #fff;
	background: #3282f0;
	opacity: 0.5;
}

.pagination .nav-links .current {
	opacity: 1;
}

.pagination .nav-links a.page-numbers:hover {
	opacity: 1;
	transition: all .3s;
}

.pagination .nav-links a.page-numbers:hover+.pagination .nav-links .current {
	opacity: 0.5;
	transition: all .3s;
}

.pagination .nav-links a.prev.page-numbers,
.pagination .nav-links a.next.page-numbers {
	width: auto;
	padding-right: 6px;
	padding-left: 6px;
	border: 0;
	border-radius: 0;
	background: transparent;
	font-weight: bold;
	color: #000;
	opacity: 1;
}

.pagination .nav-links a.prev.page-numbers:hover,
.pagination .nav-links a.next.page-numbers:hover {
	background: #3282f0;
	color: #fff;
}

/* CONTACT画面 */
#fixed-page .contact-title-message {
	grid-column: 1 / 3;
	margin: 10vh auto;
}

#fixed-page .form-nav-wrapper {
	grid-column: 1 / 3;
	margin: 0 15%;
}

#fixed-page .form-nav {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	font-size: 2.4rem;
	font-weight: medium;
}

#fixed-page .form-nav p {
	display: inline-block;
	opacity: 0.3;
}

#fixed-page .form-nav .icon p,
#fixed-page .form-nav .form-nav-active p,
#fixed-page .form-nav .form-nav-active span {
	opacity: 1;
}

#fixed-page .form-nav .icon {
	font-weight: bold;
	text-align: center;
}

#fixed-page .form-nav .item-num {
	display: inline-block;
	background: #80c2b7;
	border-radius: 50%;
	width: 3rem;
	height: 3rem;
	color: #fff;
	font-size: 1.8rem;
	text-align: center;
	line-height: 3rem;
	box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.5);
	margin-right: 1.8rem;
	opacity: 0.3;
}

#fixed-page .contactpage-form {
	grid-column: 1 / 3;
	margin-top: 10vh;
}

#fixed-page .contactpage-form h3 {
	font-size: 1.7rem;
	font-weight: bold;
	/* position: relative; */
}

#fixed-page .contactpage-form label {
	font-size: 1.6rem;
	font-weight: bold;
}

#fixed-page .contactpage-form .required-icon-1,
#fixed-page .contactpage-form .required-icon-2 {
	display: inline;
	background-color: #ff7e55;
	font-size: 1.7rem;
	color: #fff;
	padding: 0.1em 0.5em;
	margin: 2em 1em;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#fixed-page .contactpage-form .required-icon-2 {
	background-color: #80c2b7;
}

#fixed-page .contactpage-form ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	/* ここ消す */
	grid-template-rows: 5vh 5vh 5vh;
}

#fixed-page .contactpage-form .odd {
	grid-column: 1 / 2;
}

#fixed-page .contactpage-form .even {
	grid-column: 2 / 3;
}

#fixed-page .contactpage-form ul li {
	color: #000;
	display: block;
	position: relative;
	float: left;
	width: 100%;
}

#fixed-page .contactpage-form ul li input[type=radio] {
	position: absolute;
	opacity: 0;
}

#fixed-page .contactpage-form ul li label {
	display: block;
	position: relative;
	font-weight: 300;
	font-size: 1.35em;
	padding: 2rem 2rem 0rem 4rem;
	height: 30px;
	z-index: 9;
	cursor: pointer;
	-webkit-transition: all 0.25s linear;
}

#fixed-page .contactpage-form ul li:hover label {
	color: #AAAAAA;
}

#fixed-page .contactpage-form ul li .check {
	display: block;
	position: absolute;
	border: 0.2rem solid #AAAAAA;
	border-radius: 100%;
	height: 2rem;
	width: 2rem;
	top: 1.99rem;
	z-index: 5;
	transition: border .25s linear;
	-webkit-transition: border .25s linear;
}

#fixed-page .contactpage-form ul li:hover .check {
	border: 0.3rem solid #AAAAAA;
}

#fixed-page .contactpage-form ul li .check::before {
	display: block;
	position: absolute;
	content: '';
	border-radius: 100%;
	height: 1.5rem;
	width: 1.5rem;
	top: 0.25rem;
	left: 0.25rem;
	margin: auto;
	transition: background 0.25s linear;
	-webkit-transition: background 0.25s linear;
}

#fixed-page .contactpage-form input[type=radio]:checked~.check {
	border: 0.2rem solid #000;
}

#fixed-page .contactpage-form input[type=radio]:checked~.check::before {
	background: #80c2b7;
}

#fixed-page .contactpage-form input[type=radio]:checked~label {
	color: #80c2b7;
}

#fixed-page .contactpage-form .form-line {
	width: 100%;
	margin-top: 7vh;
}

#fixed-page .contactpage-form .required-name {
	grid-column: 1 / 3;
	display: grid;
	grid-template-columns: 0.1fr 0.9fr 0.1fr 0.9fr;
}

#fixed-page .contactpage-form .required-name {
	display: flex;
	align-items: center;
}

#fixed-page .contactpage-form .required-name label {
	padding: 0 3rem;
}

#fixed-page .contactpage-form .required-name label:first-child {
	padding-left: 0;
}

#fixed-page .contactpage-form ul.sex-type {
	grid-template-rows: 5vh;
}

#fixed-page .contactpage-form input {
	height: 2rem;
}

#fixed-page .contactpage-form input[type=file] {
	height: 3rem;
}

#fixed-page .contactpage-form .in-text,
#fixed-page .contactpage-form .in-textarea {
	height: 2rem;
	padding: 10px 10px;
	width: 98%;
	border: 0.1rem solid rgba(118, 118, 118, 0.8);
}


#fixed-page .contactpage-form textarea.in-textarea {
	height: 10rem;
}

#fixed-page .contactpage-form .motivation {
	position: relative;
	grid-column: 1 / 3;
}

#fixed-page .contactpage-form .privacy-consent {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 3vh;
}

#fixed-page .contactpage-form .form-button-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 10vh;
	height: 10vh;
}

#fixed-page .contactpage-form .submit-btn {
	display: inline-block;
	font-size: 1.8rem;
	text-align: center;
	justify-content: center;
	cursor: pointer;
	padding: 3rem 5rem;
	width: 17rem;
	background: #3282f0;
	color: #ffffff;
	line-height: 1rem;
	border: none;
}

#fixed-page .contactpage-form .btn-right {
	margin-left: 2vw;
}

#fixed-page .contactpage-form .privacy-consent label {
	padding-left: 2rem;
}



#fixed-page .contactpage-form .btns {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin: 0 10px;
	padding: 4.5vh 6.2vw;
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.5pt;
	text-decoration: none;
	background-color: #3282f0;
	border: none;
	cursor: pointer;
	line-height: 1vh;
	transition-duration: 0.3s;
	-webkit-transition-duration: 0.3s;
	-moz-transition-duration: 0.3s;
	-o-transition-duration: 0.3s;
	-ms-transition-duration: 0.3s;
}

#fixed-page .inquiry-recruit {
	display: none;
}

/* 投稿記事ページ */
#single-page p,
#single-page span {
	font-size: 1.8rem;
}

#single-page .wp-post-image {
	padding: 3rem 0;
	max-width: 100%;
}

#single-page .single-title {
	font-size: 2rem;
	font-weight: 100;
}

#single-page .single-meta {
	font-size: 1.8rem;
	font-weight: 800;
	padding-bottom: 1rem;
}

#single-page .nav-links {
	padding-top: 10vh;
	text-align: center;
	vertical-align: middle;
}

#single-page a {
	color: #000000;
	font-weight: bold;
	font-family: sans-serif;
}

#single-page .nav-links img {
	vertical-align: middle;
	padding: 0 3.6rem;
}

#single-page a:visited {
	color: #000000;
}

#single-page #single-thumb {
	text-align: center;
}

#single-page #single-thumb img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}

#archive-link-ico {
	width: 3rem;
}

/* 404ページ */
.error-404 {
	text-align: center;
}

.error-404 h1 {
	padding-top: 15vh;
	font-size: 6rem;
}

.error-404 h2 {
	font-size: 4rem;
}

.error-404 .content {
	margin: 10vh 0;
}

.error-404 .content p {
	font-size: 1.8rem;
	padding: 10vh 0;
}

/* タブレット */
@media (max-width: 960px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	body .is_inactive {
		pointer-events: none;
	}

	.hamburger-wrapper {
		position: absolute;
		right: 0;
		z-index: 180;
		background-color: #3282f0;
		/* height: 90px; */
		height: 5rem;
		width: 6rem;
	}

	.hamburger {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		/* width: 40px;
	  height: 32px; */
		width: 30px;
		height: 24px;
		z-index: 200;
	}

	.hamburger_bar {
		display: block;
		width: 100%;
		height: 0.2rem;
		position: absolute;
		left: 0;
		background: white;
		transition: top 0.24s, transform 0.24s, opacity 0.24s;
	}

	.hamburger_bar:nth-child(1) {
		top: 0;
	}

	.hamburger_bar:nth-child(2) {
		top: 50%;
		transform: translateY(-50%);
	}

	.hamburger_bar:nth-child(3) {
		top: 100%;
		transform: translateY(-100%);
	}

	.hamburger_bar.is_active:nth-child(1) {
		top: 50%;
		transform: translateY(-50%) rotate(135deg);
	}

	.hamburger_bar.is_active:nth-child(2) {
		transform: translate(50%, -50%);
		opacity: 0;
	}

	.hamburger_bar.is_active:nth-child(3) {
		top: 50%;
		transform: translateY(-50%) rotate(-135deg);
	}

	.sp-nav {
		display: none;
		pointer-events: none;
	}

	.sp-nav .contact-wrapper,
	.sp-nav .recruit-wrapper {
		background-color: #3282f0;
	}

	.sp-nav.is_active {
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		z-index: 120;
		height: 100vh;
		width: 100vw;
		background-color: white;
		pointer-events: auto;
	}

	.sp-nav .nav-list {
		display: flex;
		flex-direction: column;
		gap: 32px;
	}

	.footer-inactive  {
		display: none;
	}

}

/* スマートフォン */
@media (max-width: 520px) {
	header {
		height: 50px;
	}

	header .logo-img {
		padding: 0 5.662vw;
		width: 18vw;
	}

	footer .copyright {
		font-size: 1rem;
		white-space: nowrap;
		padding-bottom: 3vh;
	}

	.footer-wrapper {
		display: grid;
		grid-template-columns: 1fr 1fr;
		margin-top: 3vh;
		margin-bottom: 10vh;
	}

	.footer-wrapper .footer-logo {
		grid-column: 1 / 2;
		width: 30vw;
	}

	.footer-wrapper .contact {
		grid-column: 2 / 3;
		width: 30vw;
		height: 5.5vh;
		margin-left: 3vw;
	}

	.footer-wrapper .logo-img {
		width: 26vw;
		padding: 0;
		padding-top: 1vh;
		padding-left: 3vh;
	}

	.footer-wrapper>hr {
		margin: 3vh 0;
		grid-column: 1 / 3;
		border: none;
		height: 2px;
		background-color: #80c2b7;
	}

	.footer-wrapper .sp-footer-nav {
		grid-column: 1 / 3;
	}

	.footer-wrapper .sp-footer-nav ul {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.footer-wrapper .sp-footer-nav ul .nav-item {
		grid-column: 1 / 2;
	}

	.footer-wrapper .sp-footer-nav ul .even {
		grid-column: 2 / 3;
	}

	main>#fixed-page .section-title:first-child,
	main>#single-page .section-title:first-child {
		margin-bottom: 1vh;
	}

	#fixed-page .left-area {
		top: 175vh;
		height: 58.87vh;
		width: 35vw;
	}

	main #fixed-page #outline-background {
		top: 119vh;
		width: 69vw;
		height: 95.87vh;
		z-index: 3;
	}

	.main-visual .discription {
		top: 40%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		margin-left: 0;
	}

	.main-visual .discription .words-img {
		height: 40vh;
		width: 83vw;
	}

	.main-visual .words {
		font-size: 2rem;
		color: black;
		padding-top: 0.2vh;
		text-shadow: 3px 0 2px white;
	}

	.main-contents {
		grid-column-start: 3;
		margin-left: 9.662vw;
		margin-right: 9.662vw;
	}

	.main-contents .background-color-area {
		width: 25vw;
	}

	.main-contents .left-arrow-logo {
		width: 39.111em;
		height: 19.698em;
	}

	.main-contents .right-arrow-logo {
		width: 37.111em;
		height: 18.698em;
	}

	#achievement-background {
		top: 420.167vh;
		height: 104vh;
		width: 100%;
	}

	#fixed-page .access-wrapper .access-title>h1 {
		font-size: 3em;
	}

	#bread-crumb {
		/* grid-column: 1 / 3; */
		margin-top: 0;
		/* font-size: 1.4em; */
	}

	#about-ttl-logo,
	#achievemnet-ttl-logo {
		left: -9.662vw;
		top: 102.167vh;
	}

	#fixed-page #about-ttl-logo,
	#single-page #about-ttl-logo,
	#fixed-page #service-ttl-logo {
		top: 32.167vh;
	}

	#fixed-page #achievemnet-ttl-logo {
		top: 476.167vh;
	}

	#service-ttl-logo {
		top: 201.167vh;
	}

	#member-ttl-logo {
		left: -9.662vw;
		top: 302.167vh;
	}

	#recruit-ttl-logo {
		top: 544.167vh;
	}

	#blog-ttl-logo {
		left: -9.662vw;
		top: 667.167vh;
	}

	#fixed-page .achievement-logo>img {
		height: auto;
		width: 48vw;
	}

	#service-background {
		top: 177.167vh;
		height: 93vh;
	}

	#recruit-background {
		top: 507.167vh;
		height: 130vh;
	}

	.main-contents .section-title {
		grid-column: 1 / 3;
		grid-row: 2;
		margin-top: 3.6965vh;
	}

	.main-contents .section-title:first-child {
		margin-top: 3.6965vh;
	}

	.main-contents .section-title-en {
		font-size: 6.5rem;
		padding-bottom: 0.1vh;
		letter-spacing: 0.2rem;
		line-height: 7.5rem;
	}

	.section-headline {
		font-size: 3em;
	}

	.main-contents .section-title-ja {
		font-size: 2.2rem;
	}

	.main-contents .section-ico {
		grid-row: 1;
		margin-top: 3vh;
		width: 21.1em;
		height: 19.8em;
	}

	.main-contents h3 {
		padding-top: 1.2vh;
		font-size: 1.6rem;
		line-height: 2.8rem;
		letter-spacing: 0;
	}

	#fixed-page h3 {
		padding-top: 2.5vh;
	}

	.main-contents .section-subtitle {
		display: block;
		position: relative;
		font-size: 1.5rem;
		line-height: 2.2rem;
		padding-top: 2vh;
		padding-bottom: 3.2vh;
		padding-left: 10vw;
	}

	.main-contents .section-subtitle:before {
		position: absolute;
		top: 3.19vh;
		left: 0;
		display: block;
		width: 2.6rem;
		margin-right: 0.5em;
	}

	.main-contents .section-discription {
		position: relative;
		grid-column: 1 / 3;
		z-index: 70;
		font-family: "Noto Sans Japanese";
		font-weight: 400;
		/* Regular */
		font-size: 1.4rem;
		line-height: 2.2rem;
		color: #000000;
		padding-bottom: 4.2vh;
	}

	.main-contents .even .section-title {
		grid-row: 2;
		grid-column: 1 / 3;
		padding-left: 14vw;
	}

	.main-contents .even .section-ico,
	.main-contents .even .recruit-logo {
		grid-column: 1 / 3;
		grid-row: 1;
		padding-left: 14vw;
	}

	.main-contents>section {
		margin-top: 0.5vh;
	}

	.main-contents .service-logo,
	#fixed .achievement-logo {
		margin: 0 0;
		width: 25.1em;
		height: 19.8em;
	}

	/* .main-contents .recruit-logo {
  } */

	.main-contents .member1 {
		grid-column: 1 / 4;
	}

	.main-contents .member2 {
		grid-column: 1 / 4;
	}

	.main-contents .member3 {
		grid-column: 1 / 4;
	}

	.main-contents .member-icon>img {
		width: 100%;
		height: auto;
		left: 0px;
	}

	.main-contents .member-icon p {
		font-size: 1.5rem;
		width: 23.1vw;
		left: 0%;
	}

	.main-contents .blog-grid .article-title {
		font-size: 1.8rem;
		line-height: 3rem;
	}

	.main-contents .blog-wrapper .article-title>h6 {
		font-size: 1.8rem;
	}

	.main-contents .blog-wrapper .article-icon>img {
		width: 100%;
		height: auto;
	}

	.main-contents .blog-wrapper .article-discription {
		width: 100%;
		font-size: 1.5rem;
		line-height: 3rem;
	}

	.main-contents .blog-grid .article1 {
		grid-column: 1 / 4;
	}

	.main-contents .blog-grid .article2 {
		grid-column: 1 / 4;
	}

	.main-contents .blog-grid .article3 {
		grid-column: 1 / 4;
	}

	.main-contents .contact-wrapper,
	#fixed-page .recruit-wrapper {
		height: 50vh;
		margin: 0;
		transform: translateX(-9.58vw);
	}

	#fixed-page .recruit-wrapper {
		height: 60vh;
	}

	.main-contents .contact-wrapper .contact-title {
		margin: 0;
	}

	.main-contents .contact-wrapper .contact-title>h3,
	.main-contents .recruit-wrapper .recruit-title>h3 {
		padding: 2.13vh 8vw;
		font-size: 1.8rem;
	}

	.main-contents .contact-wrapper .contact-title,
	.main-contents .recruit-wrapper .recruit-title {
		margin-top: 9.6965vh;
	}

	.section-contact-btn,
	.section-recruit-btn {
		top: 4.5vh;
	}

	/* About画面 */
	#about-gmap-more-btn {
		margin: 4vh auto;
	}

	.outline {
		margin-top: 4vh;
	}

	.outline-table {
		font-size: 1.4rem;
	}

	.outline-table .tbl-left-col {
		width: 22vw;
	}

	.outline-table .tbl-right-col {
		width: 60vw;
	}

	.main-contents .access-wrapper iframe {
		width: 100%;
		height: 40vh;
	}

	.main-contents .access-wrapper iframe+.more-btn {
		margin-top: 5vh;
	}

	#fixed-page .service-discriptions-wrapper .service-grid {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto;
		grid-column-gap: 0;
		grid-row-gap: 2vh;
	}

	#fixed-page .service-discriptions-wrapper .service-grid .article .article-discription-wrapper {
		padding-left: 8vw;
	}

	#fixed-page .service-grid .article1,
	#fixed-page .service-grid .article2,
	#fixed-page .service-grid .article3,
	#fixed-page .service-grid .article4 {
		grid-column: 1 / 3;
		grid-row: auto;
	}

	#fixed-page .service-discriptions-wrapper .service-grid .article-space {
		display: none;
	}

	#fixed-page .achievement-grid {
		grid-template-columns: 1fr 1fr;
	}

	#fixed-page .achievement-grid .article-icon {
		/* width: 80%; */
	}

	#fixed-page .achievement-grid .article-icon img {
		width: 20vw;
	}

	#fixed-page .achievement-grid .article-discription {
		font-size: 1.4rem;
	}

	#fixed-page #achievement-title>h1 {
		font-size: 4rem;
	}

	#fixed-page #achievement-title>h2 {
		font-size: 1.8rem;
	}

	#fixed-page .form-nav-wrapper {
		margin: 0 0;
	}

	#fixed-page .form-nav {
		grid-template-columns: 1fr 0.5fr 1fr 0.5fr 1fr;
		font-size: 1.2rem;
	}

	#fixed-page .form-nav .item-num {
		width: 2rem;
		height: 2rem;
		font-size: 1.2rem;
		line-height: 2rem;
		margin-right: 0.2rem;
	}

	#fixed-page .contactpage-form {
		margin-top: 5vh;
	}

	#fixed-page .contactpage-form ul {
		grid-template-rows: 5vh 5vh 5vh 5vh;
	}

	#fixed-page .contactpage-form .odd,
	#fixed-page .contactpage-form .even {
		grid-column: 1 / 3;
	}

	#fixed-page .contactpage-form .form-line {
		margin-top: 4vh;
	}

	#fixed-page .contactpage-form .required-name {
		padding-top: 1.5rem;
	}

	#fixed-page .contactpage-form .required-name label {
		padding: 0 1.5rem;
	}

	#fixed-page .contactpage-form .in-text,
	#fixed-page .contactpage-form .in-textarea {
		width: 93%;
	}

	#fixed-page .contactpage-form .form-button-wrapper {
		margin: 6vh 0;
		height: 10vh;
	}

	#fixed-page .contactpage-form .btns {
		padding: 4.5vh 16.2vw;
	}


	#fixed-page .flow-grid {
		grid-template-columns: 1fr 1fr;
	}

	#fixed-page .flow-grid .article {
		grid-column: 1 / 3;
	}

	#fixed-page .flow-grid .article-space p {
		transform: rotate(90deg);
	}

	#fixed-page .achievement-grid .article-icon img,
	#fixed-page .flow-grid .article-icon img {
		width: 27vw;
	}

	/* 投稿記事ページ */
	#single-page .wp-post-image {
		padding: 3rem 0;
		max-width: 50%;
	}

	#single-page .single-content img {
		margin: 1vh 0;
	}

	#single-page .nav-links img {
		vertical-align: middle;
		padding: 0 3.6rem;
	}

	#single-page #single-thumb img {
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
	}

	/* トップメッセージ画面 */
	.top-message-content .top-history h3 {
		font-size: 3.3rem;
	}


}