@charset "UTF-8";

/*
Theme Name: child
Theme URI:
Description:
Template: twentytwentyone
Author: makesview
Author URI: https://makes-view.co.jp/
Version: 1.0.0
*/

body {
	color: #000000;
	font-size: 16px;
	line-height: 1.7;
}

a[href $='.pdf'] {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	text-decoration: underline;
	color: #000;
	line-height: 1.5;
}

a[href $='.pdf']::before {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 30px;
	height: 38px;
	background-image: url(/wp-content/themes/child/image/icon/icon_pdf.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	margin-right: 15px;
}

a[href $='.pdf']:hover {
	text-decoration: none;
}

.wrap {
	width: 1140px;
	margin: 0 auto;
}

/* PC固定ページ 共通設定 */
.common_page_wrap {
	padding: 100px 0;
}

.not_found .text {
	text-align: center;
}

.common_page_title {
	text-align: center;
	margin-bottom: 2em;
}

.common_page_title h2 {
	font-size: 30px;
}

.common_page_title .sub_title {
	font-size: 14px;
	letter-spacing: .1em;
}

.reserve_text {
	text-align: center;
	font-size: 30px;
}

/* パンくず */
.breadcrumb {
	font-size: 12px;
}

.breadcrumb a {
	text-decoration: none;
	color: initial;
}

/* PC固定ページ 会社概要 */
.company_profile {
	margin-bottom: 100px;
}

.company_profile table {
	width: 100%;
	border-collapse: collapse;
}

.company_profile table th,
.company_profile table td {
	padding: 1em;
	border-bottom: 1px solid;
	font-size: 14px;
}

.company_profile table th {
	width: 20%;
}

.company_profile table td {
	width: 80%;
}

.company_access .map {
	height: 350px;
}

.company_access .map iframe {
	width: 100%;
	height: 100%;
}

/* PC固定ページ お問い合わせ */
#page_contact table {
	width: 74%;
	border-collapse: collapse;
	margin: 0 auto 50px;
	border-right: solid 1px #dfdfdf;
}

#page_contact table th,
#page_contact table td {
	padding: 20px;
	font-size: 14px;
	border-top: solid 1px #dfdfdf;
	border-bottom: solid 1px #dfdfdf;
	border-left: solid 1px #dfdfdf;
	vertical-align: middle;
}

#page_contact table th {
	width: 25%;
	background: #f7f7f7;
	white-space: nowrap;
	letter-spacing: .05em;
}

#page_contact table th .hissu,
#page_contact table th .ninni {
	background: #c70000;
	margin-right: 15px;
	color: #fff;
	padding: 5px 15px;
	font-size: 10px;
	letter-spacing: .08em;
	border-radius: 30px;
}

#page_contact table th .ninni {
	background: #333;
}

#page_contact table td {
	width: 75%;
}

#page_contact input[type="text"],
#page_contact input[type="email"],
#page_contact #zip {
	width: 85%;
	height: 44px;
	border: 1.2px solid #a4a4a4;
	border-radius: 4px;
	padding: 1em;
}

#page_contact input.tel {
	padding: 1em;
	width: 29.5%;
	border: 1.2px solid #a4a4a4;
}

#page_contact select {
	outline: none;
	background: transparent;
	padding: 1em;
	width: 50%;
	border: 1.2px solid #a4a4a4;
}

#page_contact textarea {
	width: 85%;
	padding: 1em;
	height: 200px;
	border: 1.2px solid #a4a4a4;
}

#page_contact .attention {
	font-size: 12px;
}

#page_contact #btn_wrap {
	justify-content: center;
	text-align: right;
	width: 74%;
	margin: auto;
}

#page_contact #btn_wrap button {
	background-color: #ff8001;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	color: #fff;
	display: block;
	width: 300px;
	line-height: 50px;
	border-radius: 5px;
	font-weight: 600;
	transition: .3s;
	text-align: center;
	letter-spacing: .08em;
	margin: auto;
}

#page_contact #btn_wrap button[name="submitBack"] {
	background: #333;
	margin-top: 20px;
}

#page_contact #btn_wrap button:hover {
	opacity: .8;
}

.contact_form_disc {
	width: 74%;
	font-size: 15px;
	margin: 0 auto 50px;
	letter-spacing: .02em;
}

.contact_form_disc .caution {
	font-size: 14px;
	color: #373636;
}

.contact_form_disc .text {
	margin-bottom: 10px;
}

.privacy_term_outer .privacy_term_inner {
	height: 138px;
	margin: auto;
	overflow: auto;
}

.privacy_term_outer .privacy_term_inner .privacy_index {
	font-size: 14px;
}

.privacy_term_outer .privacy_term_inner .main_text {
	font-size: 13px;
	margin-bottom: 25px;
}

.privacy_term_outer .privacy_term_inner dl dt {
	font-size: 13px;
	border-left: solid 3px #ccc;
	padding-left: 12px;
	margin-bottom: 5px;
}

.privacy_term_outer .privacy_term_inner dl dd {
	font-size: 13px;
	margin-bottom: 30px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar {
	width: 8px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-track {
	background: transparent;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-thumb {
	background-color: #333;
	border-radius: 10px;
}

.privacy_term_outer {
	border-top: solid 1px #e3e3e3;
	padding: 30px 0;
	border-bottom: solid 1px #e3e3e3;
	width: 60%;
	margin: 0 auto 50px;
}

.privacy_check_list .mwform-checkbox-field-text {
	padding-right: 0;
}

.privacy_check_list .error {
	font-size: 12px;
}

.privacy_term_detail {
	text-align: center;
	font-size: 13px;
	padding-bottom: 15px;
	margin: 20px 0;
	position: relative;
	font-weight: 600;
}

.privacy_term_detail::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	border-top: solid 2px #333;
	border-right: solid 2px #333;
	width: 10px;
	height: 10px;
	transform: rotate(135deg);
	bottom: 0;
}

.mw_wp_form_confirm .privacy_check_list,
.mw_wp_form_confirm .privacy_term_detail {
	display: none;
}


/* ラジオボタン デザイン */
/* ラジオボタンを隠す */
.radio_btns input[type=radio].radio_btns__item {
	display: none;
}

.radio_btns label {
	display: inline-block;
}

/* spanの左側にボタンを配置するスペースを作る */
.radio_btns .radio_btns__item+span {
	padding-left: 2em;
	display: inline-block;
	position: relative;
}

/* 各パーツを作成 */
.radio_btns .radio_btns__item+span::after,
.radio_btns .radio_btns__item+span::before {
	content: '';
	display: block;
	position: absolute;
	border: 1px solid #AAAAAA;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	top: 0;
	left: 0;
	border: 1.2px solid #a4a4a4;
	bottom: 0;
	margin: auto;
}

/* after上書き */
.radio_btns .radio_btns__item+span::after {
	width: 12px;
	height: 12px;
	top: 0px;
	left: 4px;
	border: none;
	background: #333;
	-webkit-transform: scale(0);
	/*--ここを0にすることで下線は非表示となる--*/
	-ms-transform: scale(0);
	/*--ここを0にすることで下線は非表示となる--*/
	transform: scale(0);
	transition: all .3s;
	/*--0.3秒かけて下線が表示される--*/
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.radio_btns .radio_btns__item:checked+span {
	font-weight: 600;
}

.radio_btns .radio_btns__item:checked+span::after {
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
}

/* チェックボックス デザイン */
#page_contact input[type="checkbox"] {
	/* デフォルトcheckボックス非表示*/
	display: none;
}

.mwform-checkbox-field-text {
	display: inline-block;
	position: relative;
	padding: 0 36px 0 36px;
}

.mwform-checkbox-field-text::before,
.mwform-checkbox-field-text::after {
	content: "";
	position: absolute;
	display: block;
}

.mwform-checkbox-field-text::before {
	background: #fff;
	border: 2px solid #ccc;
	border-radius: 2px;
	width: 20px;
	height: 20px;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
	border-width: 3px;
	border-color: transparent transparent #333 #333;
	border-style: solid;
	width: 20px;
	height: 10px;
	margin-top: -0.2em;
	top: 50%;
	left: 0;
	transform: translateY(-50%) rotate(-45deg);
	opacity: 0;
}

input[type="checkbox"]:checked+.mwform-checkbox-field-text::after {
	opacity: 1;
}

.mw_wp_form .horizontal-item {
	margin-right: 10px;
	margin-bottom: 10px;
	display: inline-block;
}

/* サンクスページ */

#page_contact .thanks_textArea .name {
	font-size: 16px;
	line-height: 2;
	text-align: center;
	margin-bottom: 20px;
}

#page_contact .thanks_textArea .contact_text {
	margin: 0 auto 50px;
	width: 62%;
}

#page_contact .thanks_textArea .ichiran_link {
	background-color: #ff8001;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	color: #fff;
	display: block;
	width: 300px;
	line-height: 50px;
	border-radius: 4px;
	font-size: 16px;
	transition: .3s;
	margin: 0 auto;
	text-decoration: none;
	font-weight: 600;
	letter-spacing: .08em;
	text-align: center;
}

#page_contact .thanks_textArea .ichiran_link:hover {
	opacity: .8;
}

#page_contact .thanks_textArea .contact_text .space {
	display: block;
}

#page_contact .thanks_textArea .contact_text .space {
	display: block;
	margin-top: 10px;
}

/* ステップバー デザイン */
#page_contact .progressbar {
	margin-bottom: 60px;
	justify-content: center;
}

#page_contact .progressbar .item {
	position: relative;
	width: 18%;
	text-align: center;
	position: relative;
	align-items: center;
	justify-content: center;
	padding: 43px 0 13px;
	line-height: 1.5;
	letter-spacing: .05em;
}

#page_contact .progressbar .item .en {
	display: block;
	color: #7b7b7b;
	font-size: 14px;
}

#page_contact .progressbar .item::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: 30px;
	height: 30px;
	border: solid 1px #a5a5a5;
	border-radius: 50%;
	margin: auto;
}

#page_contact .progressbar .item.active::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 8px;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: #333;
	margin: auto;
}

#page_contact .progressbar #step_2 .en {
	position: relative;
}

#page_contact .progressbar #step_2 .en::before,
#page_contact .progressbar #step_2 .en::after {
	content: "";
	height: 1px;
	width: 100px;
	background: #a5a5a5;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: -47px;
}

#page_contact .progressbar #step_2 .en::after {
	left: auto;
	right: -47px;
}

.privacy_check_list {
	justify-content: center;
	align-items: center;
	margin-bottom: 25px;
}

.privacy_check_list .hissu {
	background: #c70200;
	color: #fff;
	padding: 2px 15px;
	font-size: 10px;
	letter-spacing: .08em;
	border-radius: 30px;
	font-weight: 600;
}

.mw_wp_form .privacy_check_list .horizontal-item {
	margin: 0;
}

/* PC固定ページ 個人情報保護方針 */
#page_privacy .main_text {
	font-size: 16px;
	line-height: 2;
	margin-bottom: 3em;
}

#page_privacy dl {
	margin-bottom: 50px;
}

#page_privacy dl:last-child {
	margin-bottom: 0;
}

#page_privacy dl dt {
	font-weight: 600;
	font-size: 16px;
	margin-bottom: .5em;
	border-left: 3px solid #ccc;
	padding-left: 1em;
}

#page_privacy dl dd {
	font-size: 14px;
	line-height: 2;
}

/* PC固定ページ 404ページ */
#page_404 {
	text-align: center;
}

#page_404 .num {
	font-size: 100px;
	font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#page_404 .text {
	margin-bottom: 1em;
	font-size: 16px;
}

/* PC固定ページ アーカイブページ */
/* 投稿リスト表示 */
.archive_page_list>article {
	padding-bottom: 15px;
	padding-top: 15px;
	border-bottom: 1px dashed #eee;
	padding-right: 30px;
}

.archive_page_list>article:after {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	top: 0;
	right: 5px;
	bottom: 0;
	margin: auto;
	border: solid #ccc;
	border-width: 2px 2px 0 0;
	transform: rotate(45deg);
}

.archive_page_list>article .date {
	font-weight: bold;
	font-size: 80%;
	width: 100px;
}

.archive_page_list>article .content_area {
	width: calc(100% - 100px);
}

.archive_page_list>article .content_area .ttl {
	font-weight: bold;
}

.archive_page_list>article .content_area .content {
	font-size: 80%;
}

/* wp-pagenavi base */
.wp-pagenavi {
	clear: both;
	text-align: center;
	margin-top: 50px;
}

.wp-pagenavi a,
.wp-pagenavi span {
	color: #999;
	background-color: #FFF;
	border: solid 1px #e0e0d2;
	padding: 8px 15px;
	margin: 0 2px;
	white-space: nowrap;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	text-decoration: none;
}

.wp-pagenavi a:hover {
	color: #FFF;
	background-color: #66cccc;
	border-color: #66cccc;
}

.wp-pagenavi .current {
	color: #FFF;
	background-color: #66cccc;
	border-color: #66cccc;
	font-weight: bold;
}

/* PC投稿ページ シングルページ */
#single_page .fl_wrap {
	align-items: flex-start;
	flex-wrap: nowrap;
	justify-content: flex-end;
}

.single_main_img {
	width: 300px;
	height: 300px;
	position: relative;
	margin: 0 auto 40px auto;
}

.singleContent .single_title::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 30px;
	margin: auto;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: #333;
}

.singleContent .title_area {
	border-bottom: solid 1px #ccc;
	padding: 100px 0 30px;
	margin-bottom: 40px;
	position: relative;
}

.singleContent .single_title {
	font-size: 30px;
	line-height: 1.4;
	font-weight: 600;
}

.single_main_img img {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	object-fit: cover;
	width: 100% !important;
	height: 100% !important;
}

.singleContent .single_title time {
	font-size: 12px;
	font-weight: 600;
}

.singleContent .single_title time i {
	margin-right: .5em;
}

.singleContent .category_list ul {
	gap: 10px;
}

.singleContent .category_list ul li {
	background-color: #333;
	color: #fff;
	font-size: 12px;
	padding: 2px 20px;
	letter-spacing: .08em;
}

.singleContent article h2 {
	font-size: 20px;
	border: solid 1px #333;
	padding: 15px;
	margin: 1.5em 0 1em;
	position: relative;
	line-height: 1.4;
}

.site_single_latest {
	border-left: solid 1px #333;
	border-bottom: solid 3px #333;
	padding: 0 0 35px 0;
	margin-bottom: 80px;
}

.site_single_latest .en {
	font-size: 13px;
	letter-spacing: .08em;
	text-align: center;
}

.singleContent article h2::before {
	top: 0px;
}

.singleContent article h2::after {
	bottom: 0;
}

.singleContent article h3 {
	position: relative;
	padding: 0.7rem 1rem;
	font-size: 18px;
	margin: 1.5em 0 1.5em;
	background-color: #ccc;
}

.singleContent article h4 {
	padding: 2px 10px;
	margin: 1.5em 0 1em;
	color: #333;
	border-left: 5px solid #5b5959;
	font-size: 17px;
	position: relative;
}

.singleContent article h5:before {
	content: '■';
	padding-right: 10px;
}

.singleContent article h5 {
	font-size: 18px;
	/* padding-left: 1em; */
	margin: 1.5em 0;
}

.singleContent h6 {
	font-size: 17px;
	border-bottom: 1px solid;
	padding-bottom: 3px;
	margin: 1.5em 0 1em;
}

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

#single_page .singleContent {
	width: 60%;
	flex-shrink: 0;
	margin-right: 50px;
}

#single_page .singleContent .ichiran_link {
	display: block;
	width: 300px;
	line-height: 50px;
	text-align: center;
	color: #333;
	border: solid 1px #333;
	margin: 50px auto 0 auto;
	font-size: 16px;
	transition: .3s;
	border-bottom: solid 3px #333;
	border-right: solid 3px #333;
}

#single_page .singleContent .ichiran_link:hover {
	opacity: .7;
}

#single_page .singleSidebar {
	width: 27%;
}

#single_page aside#info_side {
	background-color: #fff;
	padding: 20px;
}

#single_page aside#info_side p#news-not_found {
	text-align: center;
}

#single_page aside#info_side ul li+li {
	margin-top: 12px;
}

#single_page aside#info_side ul li a {
	color: initial;
	align-items: center;
	font-size: 14px;
	transition: .3s;
}

#single_page aside#info_side ul li a:hover {
	opacity: .7;
}

#single_page aside#info_side ul li a time {
	font-size: 12px;
	font-weight: 600;
}

#single_page aside#info_side ul li a time i {
	margin-right: .5em;
}

#single_page aside#info_side ul li a h3 {
	font-size: 14px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}

.singleContent .title_area .en {
	font-size: 12px;
	top: 0;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.singleContent .day_cat {
	align-items: center;
	margin-bottom: 40px;
}

#toc_container a {
	color: #333;
}

.singleContent .day_cat .day {
	color: #6c6c6c;
	font-size: 13px;
	padding-right: 20px;
	border-right: solid 1px #ccc;
	margin-right: 20px;
}

.site_single_latest .topic {
	text-align: center;
	font-size: 14px;
	letter-spacing: .08em;
	font-weight: 600;
}

.site_single_latest .img {
	width: 120px;
	margin: 20px auto;
}

.site_single_latest .disc {
	text-align: center;
	font-size: 14px;
}

.aside_article_type .ttl {
	font-size: 15px;
	margin-bottom: 20px;
	border-bottom: solid 2px;
	padding-bottom: 5px;
}

.aside_article_type li .img {
	height: 70px;
	width: 100px;
	position: relative;
}

.aside_article_type .inner_ttl {
	font-size: 13px;
	line-height: 1.4;
	margin-top: 2px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.aside_article_type li .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.aside_article_type .cat_wrap {
	gap: 5px;
}

.aside_article_type .cat_wrap .label {
	background: #333;
	padding: 0px 10px;
	color: #fff;
	font-size: 10px;
}

.aside_article_type .cat_wrap ul {
	display: flex;
	column-gap: 5px;
	row-gap: 5px;
	padding-left: 0;
}

.aside_article_type ul {
	padding-left: 20px;
	position: relative;
}

.aside_article_type .cat_wrap ul::before {
	display: none;
}

.aside_article_type ul::before {
	content: "∟";
	position: absolute;
	left: 2px;
	font-size: 14px;
	color: #333;
}

.recommend_post_area {
	width: 92%;
	margin: 50px 0 0 auto;
}

.recommend_post_area ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 30px;
}

.recommend_post_area .ttl {
	font-size: 18px;
	letter-spacing: .08em;
	border-bottom: solid #ccc 1px;
	padding-bottom: 20px;
	margin-bottom: 30px;
	font-weight: 600;
}

.recommend_post_area .ttl .en {
	font-weight: 400;
	letter-spacing: .08em;
	font-size: 14px;
	display: block;
}

.recommend_post_area a {
	color: #000;
}

.recommend_post_area .inner_ttl {
	font-size: 13px;
	line-height: 1.4;
	margin-top: 2px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	margin-bottom: 10px;
}

.recommend_post_area .day_cat .day {
	font-size: 12px;
	color: #6c6c6c;
	padding-right: 10px;
	border-right: solid 1px #ccc;
	margin-right: 10px;
}

.recommend_post_area .day_cat {
	margin: auto 0 0;
	flex-wrap: nowrap;
	align-items: flex-start;
}

.recommend_post_area .category_list .cat_wrap {
	padding: 0;
	gap: 5px;
}


.recommend_post_area .category_list .cat {
	font-size: 12px;
	text-align: center;
	background: #333;
	color: #fff;
	padding: 0 10px;
}

.recommend_post_area .category_list {
	width: 100%;
}

.recommend_post_area .img {
	position: relative;
	height: 145px;
	margin-bottom: 12px;
	overflow: hidden;
}

.recommend_post_area .img img {
	transition: .3s;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.recommend_post_area a:hover .img img {
	transform: scale(1.1);
}

.aside_article_type+.aside_article_type {
	margin-top: 35px;
}

.a2a_kit.a2a_kit_size_32.a2a_floating_style.a2a_vertical_style {
	top: 280px !important;
}

.a2a_kit.a2a_kit_size_32.a2a_floating_style.a2a_vertical_style::before {
	content: "";
	width: 1px;
	height: 100px;
	background: #ccc;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: -103px;
}

.a2a_kit.a2a_kit_size_32.a2a_floating_style.a2a_vertical_style::after {
	content: "SHARE ON";
	position: absolute;
	top: -169px;
	font-size: 11px;
	writing-mode: vertical-lr;
	text-align: center;
	left: 8px;
	right: 0;
	margin: auto;
}

.singleContent_links {
	margin-top: 150px;
	align-items: center;
	position: relative;
}

.singleContent_links ul {
	width: 40%;
}

.singleContent_links ul.prev li {
	padding-left: 30px;
}

.singleContent_links ul.next li {
	padding-right: 30px;
}

.singleContent_links .btn {
	margin-bottom: 23px;
	border-bottom: solid 1px #ccc;
	font-size: 15px;
	position: relative;
}

.singleContent_links::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: 1px;
	background: #ccc;
	height: 100%;
	margin: auto;
}

.singleContent_links a {
	color: #333;
	font-size: 14px;
}

.singleContent_links a .ttl {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
}

.singleContent_links .img {
	margin-bottom: 15px;
	position: relative;
	height: 150px;
}

.singleContent_links .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.singleContent_links ul.next .btn {
	text-align: right;
}

.singleContent_links ul.next .img {
	margin-left: auto;
}

.breadcrumb.single {
	margin-top: 70px;
	text-align: right;
}

.aside_article_type .text_box {
	width: calc(100% - 100px);
	padding-left: 10px;
}

#toc_container li {
	position: relative;
	padding-left: 20px;
}

#toc_container li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	background: url(/wp-content/themes/child/image/article_arrow.png) center no-repeat;
	background-size: contain;
	width: 13px;
	height: 14px;
	bottom: auto;
}

.singleContent article h2::before,
.singleContent article h3::before {
	content: "";
	position: absolute;
	right: -35px;
	top: 0px;
	bottom: 0px;
	height: 1px;
	width: 50px;
	background: rgb(0, 0, 0);
	margin: auto;
}

.singleContent ol {
	border: solid 1px #333;
	padding: 20px 10px;
	counter-reset: count 0;
	position: relative;
	background-image: url(/wp-content/themes/child/image/grid.gif);
}

.singleContent ol li {
	position: relative;
}

.singleContent ol li::before {
	content: "";
	content: counter(count) ". ";
	counter-increment: count 1;
}

.singleContent ol li+li {
	margin-top: 7px;
}

.singleContent ol::before {
	content: "";
	position: absolute;
	right: -2px;
	top: -2px;
	border-width: 0 30px 30px 0;
	border-style: solid;
	border-color: #333 #fff #333;
}

.singleContent ol::after {
	content: "";
}

.singleContent #toc_container {
	margin-bottom: 50px;
}

.singleContent_links ul li+li {
	margin-top: 10px;
}

.singleContent_links ul li.btn::before {
	content: "";
	position: absolute;
	background: url(/wp-content/themes/child/image/icon/arrow.svg) center no-repeat;
	background-size: contain;
	background-position: center;
	width: 20px;
	height: 20px;
	right: 0;
	top: 5px;
}

.singleContent_links ul.prev li.btn::before {
	transform: scale(-1, 1);
	right: auto;
	left: 0;
}

#toc_container.no_bullets li,
#toc_container.no_bullets ul,
#toc_container.no_bullets ul li,
.toc_widget_list.no_bullets,
.toc_widget_list.no_bullets li {
	border: none;
}

.singleContent .category_list ul li::before {
	display: none;
}

.singleContent .category_list ul {
	border: none;
}


/* ------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
↓↓↓↓↓ GNI ホームの css (pc) ↓↓↓↓↓
---------------------------------------------------------------------------------------------------------------------------
/* ------------------------------------------------------------------------------------------------------------------------ */

@font-face {
	font-weight: 700;
	src: url("/wp-content/themes/child/font/Helvetica-Bold.woff") format("woff");
	font-family: "Helvetica";
}

@font-face {
	font-weight: 400;
	src: url("/wp-content/themes/child/font/Helvetica.woff") format("woff");
	font-family: "Helvetica";
}

@font-face {
	src: url("/wp-content/themes/child/font/Holland.woff") format("woff");
	font-family: "Holland";
}

.font_helvetica {
	font-family: "Helvetica", sans-serif;
}

.font_holland {
	font-family: "Holland", sans-serif;
}

.font_notosans {
	font-family: "Noto Sans JP", serif;
}

.font_inter {
	font-family: "Inter", serif;
}

body.body {
	-webkit-text-size-adjust: 100%;
	min-width: 1440px;
	color: #333;
	font-family: "source-han-sans-japanese", sans-serif;
}

main {
	overflow: hidden;
	background-color: #F5F5F5;
}

main.top_page {
	background-color: transparent;
}

html {
	scroll-behavior: smooth;
}

html.active {
	overflow: hidden;
}

/* 共通部分 (pc) ------------------------------------------------------------------------------------------------------ */

span,
a {
	display: inline-block;
	font-weight: inherit;
}

body figure {
	margin: 0;
}

img {
	-o-object-fit: cover;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* btn 共通クラス (pc) */

a.common_btn {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-transition: background 0.3s ease 0s;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 310/70;
	width: 310px;
	border-radius: 6px;
	background-color: #333;
	color: #FFF;
	color: #FFF;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 0.11em;
	transition: background 0.3s ease 0s;
}

a.common_btn:hover {
	background-color: #2AADA2;
}

/* 下層ページ fv 共通クラス (pc) */

.common_fv {
	margin-top: 100px;
	padding: 20px 0 100px;
}

.common_fv .wrap {
	width: 1340px;
}

.common_fv .common_fv_items {
	-ms-flex-wrap: wrap;
	-webkit-column-gap: 5px;
	-moz-column-gap: 5px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	column-gap: 5px;
	flex-wrap: wrap;
	color: #777;
	font-weight: 500;
	font-size: 13px;
}

.common_fv .common_fv_items span a span {
	-webkit-transition: color 0.3s ease 0s;
	color: #777;
	transition: color 0.3s ease 0s;
}

.common_fv .common_fv_items span a span:hover {
	color: #2AADA2;
}

.common_fv .common_fv_items span>span {
	color: #2AADA2;
}

.common_fv .common_fv_heading_ja {
	margin-top: 100px;
	font-weight: 500;
	font-size: 32px;
	text-align: center;
}

.common_fv .common_fv_heading_en {
	margin-top: 5px;
	color: #2AADA2;
	font-weight: 700;
	font-size: 20px;
	text-align: center;
}

.common_fv .common_fv_heading_en::first-letter {
	text-transform: uppercase;
}

.common_fv .common_fv_text {
	max-width: 720px;
	margin: 40px auto 0;
	font-weight: 400;
	font-size: 16px;
	letter-spacing: 0.06em;
	text-align: center;
}

/* アーカイブページ共通クラス (pc) */

.common_archive {
	padding: 100px 0;
}

.common_archive .archive_category {
	-webkit-column-gap: 5px;
	-moz-column-gap: 5px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	column-gap: 5px;
}

.common_archive .archive_category span {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 0 10px;
	border-radius: 5px;
	background-color: #2AADA2;
	color: #FFF;
	font-size: 14px;
}

.common_archive .archive_time {
	color: #333;
	font-weight: 400;
	font-size: 13px;
	letter-spacing: 0.05em;
}

.common_archive .archive_title {
	-webkit-box-orient: vertical;
	-webkit-transition: color 0.3s ease 0s;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	overflow: hidden;
	color: #333;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.05em;
	transition: color 0.3s ease 0s;
}

.common_archive .archive_text {
	-webkit-box-orient: vertical;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	margin-top: 10px;
	padding-top: 10px;
	overflow: hidden;
	border-top: 1px dashed #333;
	color: #777;
	font-size: 14px;
	line-height: 1.64;
	letter-spacing: 0.03em;
}

.common_archive .archive_news_item+.archive_news_item {
	margin-top: 30px;
}

.common_archive .archive_news_item:hover .archive_title {
	color: #2AADA2;
}

.common_archive .archive_img {
	aspect-ratio: 1/1;
	width: 100%;
	overflow: hidden;
	border-radius: 10px;
}

.common_archive .archive_img img {
	-webkit-transition: -webkit-transform 0.3s ease 0s;
	transition: -webkit-transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

.common_archive .archive_report_item {
	-webkit-column-gap: 20px;
	-moz-column-gap: 20px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: grid;
	grid-template-columns: 200px 1fr;
	column-gap: 20px;
	align-items: center;
	padding: 28px 0;
	border-bottom: 1px solid #D3D3D3;
}

.common_archive .archive_report_item:first-child {
	padding-top: 0;
}

.common_archive .archive_report_item:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.common_archive .archive_report_item:hover .archive_img img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.common_archive .archive_report_item:hover .archive_title {
	color: #2AADA2;
}

/* pagenavi (pc) -------------------------------------------------------------------------------------------------------------------- */

.wp-pagenavi a,
.wp-pagenavi span {
	border: 1px solid #2AADA2;
	background-color: transparent;
	color: #2AADA2;
}

.wp-pagenavi a:hover {
	border: 1px solid transparent !important;
	background-color: #2AADA2 !important;
	color: #FFF;
}

.wp-pagenavi span.current {
	border: 1px solid transparent !important;
	background-color: #2AADA2;
	color: #FFF;
}

/* header (pc) ------------------------------------------------------------------------------------------------------ */

.header {
	-webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
	z-index: 20;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	min-width: 1440px;
	padding: 0 0 0 50px;
	background-color: #FFF;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
}

.header .header_inner {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.header .header_logo {
	-webkit-transition: opacity 0.3s ease 0s;
	transition: opacity 0.3s ease 0s;
}

.header .header_logo img {
	aspect-ratio: 201/31;
	width: 201px;
	margin-top: 10px;
}

.header .header_logo:hover {
	opacity: 0.7;
}

.header .header_text {
	color: #333;
	font-weight: 500;
	font-size: 13px;
}

.header .header_wrapper {
	margin-left: auto;
	padding-top: 20px;
}

.header .header_info {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}

.header .header_tel {
	color: #2AADA2;
	font-weight: 500;
	font-size: 28px;
	line-height: 1;
}

.header .header_tel span {
	margin-right: 5px;
	font-size: 16px;
}

.header .header_time {
	margin-left: 15px;
	font-weight: 500;
	font-size: 13px;
}

.header .header_items {
	-webkit-column-gap: 50px;
	-moz-column-gap: 50px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	column-gap: 50px;
	align-items: center;
	margin-top: 10px;
}

.header .header_item>a,
.header .header_item .header_head {
	position: relative;
	padding: 5px 0 20px;
	color: #333;
	font-weight: 500;
	font-size: 15px;
	line-height: 1;
	letter-spacing: 0.03em;
}

.header .header_item>a {
	-webkit-transition: color 0.3s ease 0s;
	transition: color 0.3s ease 0s;
}

.header .header_item>a::before {
	position: absolute;
	top: 5px;
	left: -25px;
	width: 1px;
	height: 16px;
	background-color: #333;
	content: "";
}

.header .header_item>a:hover {
	color: #2AADA2;
}

.header .header_item .header_head::before {
	display: none;
}

.header .header_trigger {
	position: relative;
}

.header .header_drawer {
	-webkit-transform: translateX(-50%);
	-webkit-box-shadow: 2px 0 3px rgba(0, 0, 0, 0.16);
	display: none;
	position: absolute;
	left: 50%;
	width: 270px;
	padding: 10px 20px;
	transform: translateX(-50%);
	background-color: #FFF;
	box-shadow: 2px 0 3px rgba(0, 0, 0, 0.16);
}

.header .drawer_item a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-transition: color 0.3s ease 0s;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid #333;
	color: #333;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.05em;
	transition: color 0.3s ease 0s;
}

.header .drawer_item a::before {
	aspect-ratio: 1/1;
	width: 50px;
	margin-right: 20px;
	background-size: contain;
	background-repeat: no-repeat;
	content: "";
}

.header .drawer_item a:hover {
	color: #2AADA2;
}

.header .drawer_item:nth-child(1) a::before {
	background-image: url(/wp-content/themes/child/image/common_icon_menu1.webp);
}

.header .drawer_item:nth-child(2) a::before {
	background-image: url(/wp-content/themes/child/image/common_icon_menu2.webp);
}

.header .drawer_item:nth-child(3) a::before {
	background-image: url(/wp-content/themes/child/image/common_icon_menu3.webp);
}

.header .drawer_item:nth-child(4) a::before {
	background-image: url(/wp-content/themes/child/image/common_icon_menu4.webp);
}

.header .drawer_item:nth-child(5) a::before {
	background-image: url(/wp-content/themes/child/image/common_icon_menu5.webp);
}

.header .drawer_item:last-child a {
	padding: 20px 0 20px 10px;
	border-bottom: none;
}

.header .drawer_item:last-child a::before {
	display: none;
}

.header .header_contact {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-transition: opacity 0.3s ease 0s;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	aspect-ratio: 200/100;
	width: 200px;
	margin-left: 40px;
	background-color: #2AADA2;
	color: #FFF;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.03em;
	transition: opacity 0.3s ease 0s;
	padding-top: 10px;
}

.header .header_contact:hover {
	opacity: 0.7;
}

.header .header_contact::before {
	aspect-ratio: 36/26;
	width: 36px;
	margin-bottom: 10px;
	background-image: url(/wp-content/themes/child/image/common_icon_mail.svg);
	background-size: contain;
	background-repeat: no-repeat;
	content: "";
}

/* about (pc) ------------------------------------------------------------------------------------------------------ */

.about {
	overflow: hidden;
	background-color: #FDFBF4;
}

.about .about_wrapper {
	display: grid;
	grid-template-columns: 710px 1fr;
	/* margin-right: calc(50% - 50vw); */
	width: calc(100% + 150px);
}

.about .about_body {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-right: 60px;
}

.about .about_heading {
	font-weight: 700;
	font-size: 26px;
	letter-spacing: 0.07em;
}

.about .about_heading span {
	color: #2AADA2;
}

.about .about_text {
	margin-top: 20px;
	color: #5A5A5A;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.8;
}

.about .about_btn {
	aspect-ratio: 230/60;
	width: 230px;
	margin-top: 40px;
	font-size: 16px;
}

.about .about_img {
	height: 500px;
}

/* footer (pc) ------------------------------------------------------------------------------------------------------ */

.footer {
	padding: 120px 0 90px;
}

.footer .footer_wrapper {
	-webkit-column-gap: 113px;
	-moz-column-gap: 113px;
	display: grid;
	grid-template-columns: 330px 1fr;
	column-gap: 113px;
}

.footer .footer_logo {
	-webkit-transition: opacity 0.3s ease 0s;
	aspect-ratio: 259/40;
	width: 259px;
	transition: opacity 0.3s ease 0s;
	display: block;
}

.footer .footer_logo:hover {
	opacity: 0.7;
}

.footer .footer_address {
	margin-top: 25px;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.05em;
}

.footer .footer_map {
	aspect-ratio: 330/180;
	width: 100%;
	margin-top: 5px;
	overflow: hidden;
	border-radius: 10px;
}

.footer .footer_map iframe {
	width: 100%;
	height: 100%;
}

.footer .footer_tel {
	margin-top: 20px;
	color: #2AADA2;
	font-weight: 500;
	font-size: 28px;
	line-height: 1;
}

.footer .footer_tel span {
	margin-right: 5px;
	font-size: 16px;
}

.footer .footer_time {
	font-weight: 500;
	font-size: 13px;
}

.footer .footer_fax {
	font-weight: 500;
	font-size: 14px;
}

.footer .footer_fax a {
	color: #333;
}

.footer .footer_btn {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-box-shadow: 0 4px 0 #047C72;
	-webkit-transition: -webkit-transform 0.3s, -webkit-box-shadow 0.3s ease 0s;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 310/78;
	width: 310px;
	margin-top: 20px;
	border-radius: 6px;
	background-color: #2AADA2;
	box-shadow: 0 4px 0 #047C72;
	color: #FFF;
	font-weight: 900;
	font-size: 18px;
	letter-spacing: 0.11em;
	transition: -webkit-transform 0.3s, -webkit-box-shadow 0.3s ease 0s;
	transition: transform 0.3s, box-shadow 0.3s ease 0s;
	transition: transform 0.3s, box-shadow 0.3s ease 0s, -webkit-transform 0.3s, -webkit-box-shadow 0.3s ease 0s;
}

.footer .footer_btn:hover {
	-webkit-box-shadow: none;
	-webkit-transform: translateY(4px);
	transform: translateY(4px);
	box-shadow: none;
}

.footer .footer_btn::before {
	aspect-ratio: 32/22;
	width: 32px;
	margin-right: 20px;
	background-image: url(/wp-content/themes/child/image/common_icon_mail.svg);
	background-size: contain;
	background-repeat: no-repeat;
	content: "";
}

.footer .footer_btn::after {
	-webkit-transform: rotate(-45deg);
	aspect-ratio: 1/1;
	width: 10px;
	margin-top: 2px;
	margin-left: 30px;
	transform: rotate(-45deg);
	border: 3px solid #FFF;
	border-top: none;
	border-left: none;
	content: "";
}

.footer .footer_lead {
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	font-weight: 700;
	font-size: 20px;
}

.footer .footer_lead::after {
	width: 515px;
	height: 1px;
	margin-left: 20px;
	background-color: #333;
	content: "";
}

.footer .footer_items {
	-webkit-column-gap: 50px;
	-moz-column-gap: 50px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	column-gap: 50px;
	margin-top: 30px;
	padding-left: 30px;
}

.footer .footer_text {
	font-weight: 500;
	font-size: 16px;
}

.footer .footer_link {
	font-weight: 400;
	font-size: 13px;
	line-height: 1.85;
	letter-spacing: 0.04em;
}

.footer .footer_text,
.footer .footer_link {
	-webkit-transition: color 0.3s ease 0s;
	display: block;
	color: #333;
	transition: color 0.3s ease 0s;
}

.footer .footer_text:hover,
.footer .footer_link:hover {
	color: #2AADA2;
}

.footer .footer_link+.footer_text,
.footer .footer_text+.footer_text {
	margin-top: 25px;
}

.footer .footer_text+.footer_link {
	margin-top: 10px;
}

.footer .footer_area {
	z-index: 10;
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 40px;
	margin-left: 30px;
	padding: 0 10px;
	background-color: #FFF;
	font-weight: 700;
	font-size: 16px;
}

.footer .footer_message {
	margin-top: -13px;
	padding: 22px 0 13px 30px;
	border: 1px solid #333;
	border-radius: 6px;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.64;
}

.footer .footer_bottom {
	margin-top: 50px;
}

.footer .footer_copy {
	font-weight: 400;
	font-size: 12px;
}

.footer .footer_copy small {
	font-size: 100%;
}

.footer .footer_others {
	margin-left: auto;
}

.footer .footer_other {
	-webkit-transition: color 0.3s ease 0s;
	color: #333;
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.04em;
	transition: color 0.3s ease 0s;
}

.footer .footer_other:hover {
	color: #2AADA2;
}

.footer .footer_other:not(:first-child) {
	position: relative;
	margin-left: 10px;
}

.footer .footer_other:not(:first-child)::before {
	-webkit-transform: translateY(-50%);
	position: absolute;
	top: 50%;
	left: -7px;
	width: 1px;
	height: 12px;
	transform: translateY(-50%);
	background-color: #333;
	content: "";
}

/* top_fv (pc) -------------------------------------------------------------------------------------------------------------------- */

.top_fv {
	margin-top: 100px;
}

.top_fv .wrap {
	width: 1340px;
}

.top_fv .fv_wrapper {
	position: relative;
	/* margin-right: calc(50% - 50vw); */
	padding: 60px 0 150px;
	width: calc(100% + 50px);
}

.top_fv .fv_wrapper::before {
	z-index: -10;
	position: absolute;
	top: 0;
	right: 0;
	width: calc(100% - 100px);
	height: calc(100% - 90px);
	background-image: url(/wp-content/themes/child/image/top_fv_img.webp);
	background-position: center center;
	background-size: cover;
	content: "";
}

.top_fv .fv_head {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.top_fv .fv_item {
	aspect-ratio: 1/1;
	width: 120px;
}

.top_fv .fv_lead {
	margin-left: 20px;
	font-weight: 500;
	font-size: 28px;
	line-height: 1.2;
	letter-spacing: 0.07em;
}

.top_fv .fv_lead>span {
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	font-size: 20px;
	letter-spacing: 0;
}

.top_fv .fv_lead>span::after {
	width: 170px;
	height: 2px;
	margin-left: 20px;
	background-color: #333;
	content: "";
}

.top_fv .fv_lead>span span {
	margin-bottom: 5px;
	font-weight: 400;
	font-size: 30px;
}

.top_fv .fv_heading {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 20px;
	padding: 15px 20px 10px;
	background-color: rgba(255, 255, 255, 0.8);
	font-weight: 500;
	font-size: 34px;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

.top_fv .fv_heading span:nth-child(1) {
	display: block;
	position: absolute;
	font-size: 16px;
}

.top_fv .fv_heading span:nth-child(2) {
	margin-left: 5px;
	color: #2AADA2;
	font-weight: 400;
	font-size: 60px;
	letter-spacing: 0;
}

.top_fv .fv_heading span:nth-child(3) {
	-webkit-transform: translateY(-2px);
	margin-left: 2px;
	transform: translateY(-2px);
	color: #2AADA2;
	font-size: 50px;
	letter-spacing: 0.04em;
}

.top_fv .fv_text {
	margin-top: 10px;
	padding-left: 20px;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.86;
	letter-spacing: 0.03em;
}

.top_fv .fv_btn {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-box-shadow: 0 4px 0 #047C72;
	-webkit-transition: -webkit-transform 0.3s, -webkit-box-shadow 0.3s ease 0s;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 310/78;
	width: 310px;
	margin-top: 50px;
	margin-left: 20px;
	border-radius: 6px;
	background-color: #2AADA2;
	box-shadow: 0 4px 0 #047C72;
	color: #FFF;
	font-weight: 900;
	font-size: 18px;
	letter-spacing: 0.11em;
	transition: -webkit-transform 0.3s, -webkit-box-shadow 0.3s ease 0s;
	transition: transform 0.3s, box-shadow 0.3s ease 0s;
	transition: transform 0.3s, box-shadow 0.3s ease 0s, -webkit-transform 0.3s, -webkit-box-shadow 0.3s ease 0s;
}

.top_fv .fv_btn:hover {
	-webkit-box-shadow: none;
	-webkit-transform: translateY(4px);
	transform: translateY(4px);
	box-shadow: none;
}

.top_fv .fv_btn::before {
	aspect-ratio: 32/22;
	width: 32px;
	margin-right: 20px;
	background-image: url(/wp-content/themes/child/image/common_icon_mail.svg);
	background-size: contain;
	background-repeat: no-repeat;
	content: "";
}

.top_fv .fv_btn::after {
	-webkit-transform: rotate(-45deg);
	aspect-ratio: 1/1;
	width: 10px;
	margin-top: 2px;
	margin-left: 30px;
	transform: rotate(-45deg);
	border: 3px solid #FFF;
	border-top: none;
	border-left: none;
	content: "";
}

.top_fv .fv_scroll {
	-webkit-backdrop-filter: blur(3px);
	z-index: 10;
	position: absolute;
	right: 50px;
	bottom: 12px;
	aspect-ratio: 1/1;
	width: 150px;
	border-radius: 50%;
	backdrop-filter: blur(3px);
	background-color: rgba(255, 255, 255, 0.14);
	transition: opacity 0.3s ease 0s;
	cursor: pointer;
}

.top_fv .fv_scroll:hover {
	opacity: 0.7;
}

.top_fv .fv_scroll::before {
	-webkit-transform: translate(-50%, -50%);
	-webkit-animation: animation_rotate 30s linear infinite;
	position: absolute;
	top: 50%;
	left: 50%;
	aspect-ratio: 1/1;
	width: 170px;
	transform: translate(-50%, -50%);
	background-image: url(/wp-content/themes/child/image/top_fv_scroll.svg);
	background-position: center center;
	background-size: cover;
	content: "";
	animation: animation_rotate 30s linear infinite;
}

.top_fv .fv_scroll::after {
	-webkit-transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
	aspect-ratio: 28/30;
	width: 28px;
	transform: translate(-50%, -50%);
	background-image: url(/wp-content/themes/child/image/top_fv_arrow.svg);
	background-size: contain;
	background-repeat: no-repeat;
	content: "";
}

/* top_banner (pc) -------------------------------------------------------------------------------------------------------------------- */

.top_banner {
	position: relative;
	padding-top: 85px;
}

.top_banner::after {
	z-index: -20;
	position: absolute;
	top: -410px;
	left: 0;
	aspect-ratio: 720/665;
	width: 720px;
	background-color: #F5F5F5;
	content: "";
}

.top_banner .banner_img {
	-webkit-transition: opacity 0.3s ease 0s;
	aspect-ratio: 1140/360;
	width: 100%;
	transition: opacity 0.3s ease 0s;
}

.top_banner .banner_img:hover {
	opacity: 0.7;
}

/* top_reform (pc) -------------------------------------------------------------------------------------------------------------------- */

.top_reform {
	padding: 140px 0 120px;
}

.top_reform .reform_heading_en {
	color: #2AADA2;
	font-weight: 700;
	font-size: 40px;
	line-height: 1;
	text-align: center;
}

.top_reform .reform_heading_ja {
	margin-top: 10px;
	font-weight: 500;
	font-size: 18px;
	letter-spacing: 0.03em;
	text-align: center;
}

.top_reform .reform_items {
	-webkit-column-gap: 30px;
	-moz-column-gap: 30px;
	display: grid;
	grid-template-columns: 360px 360px 360px;
	column-gap: 30px;
	row-gap: 40px;
	margin-top: 30px;
}

.top_reform .reform_item {
	color: #333;
	display: flex;
	flex-direction: column;
}

.top_reform .reform_img {
	aspect-ratio: 360/210;
	width: 100%;
	overflow: hidden;
	border-radius: 10px;
	flex-shrink: 0;
}

.top_reform .reform_img img {
	-webkit-transition: -webkit-transform 0.3s ease 0s;
	transition: -webkit-transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

.top_reform .reform_body {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.top_reform .reform_head {
	position: absolute;
	top: -50px;
	color: #F2EEE4;
	font-weight: 700;
	font-size: 44px;
	line-height: 1;
	opacity: 0.7;
}

.top_reform .reform_title {
	margin-top: 25px;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 0.05em;
}

.top_reform .reform_text {
	margin-top: 15px;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.06em;
	margin-bottom: 35px;
}

.top_reform .reform_link {
	-webkit-transition: color 0.3s ease 0s;
	position: relative;
	padding-bottom: 20px;
	border-bottom: 1px solid #333;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.03em;
	transition: color 0.3s ease 0s;
	margin-top: auto;
}

.top_reform .reform_link::after {
	-webkit-transform: scale(0);
	-webkit-transition: -webkit-transform 0.3s ease 0s;
	-webkit-transform-origin: center left;
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 2px;
	transform: scale(0);
	transform-origin: center left;
	background-color: #2AADA2;
	content: "";
	transition: -webkit-transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

.top_reform .reform_item:hover .reform_img img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.top_reform .reform_item:hover .reform_link {
	color: #2AADA2;
}

.top_reform .reform_item:hover .reform_link::after {
	-webkit-transform: scale(1);
	transform: scale(1);
}

/* top_order (pc) -------------------------------------------------------------------------------------------------------------------- */

.top_order {
	padding: 70px 0;
	background-color: #FDFBF4;
	position: relative;
}

.top_order::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	background-color: #F2EEE4;
	bottom: 50px;
	left: 0;
}

.top_order::before {
	position: absolute;
	content: "";
	width: 1px;
	height: 100%;
	background-color: #F2EEE4;
	top: 0;
	left: calc(50% - 620px);
	transform: translateX(-50%);
}

.top_order .order_heading {
	font-weight: 700;
	font-size: 24px;
	letter-spacing: 0.03em;
}

.top_order .order_items {
	-webkit-column-gap: 20px;
	-moz-column-gap: 20px;
	display: grid;
	grid-template-columns: 560px 560px;
	column-gap: 20px;
	margin-top: 30px;
}

.top_order .order_item {
	display: grid;
	grid-template-columns: 220px 1fr;
	overflow: hidden;
	border-radius: 10px;
	color: #333;
}

.top_order .order_img {
	aspect-ratio: 220/240;
	width: 100%;
	overflow: hidden;
}

.top_order .order_img img {
	-webkit-transition: -webkit-transform 0.3s ease 0s;
	transition: -webkit-transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

.top_order .order_body {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	padding: 25px 20px 20px;
	background-color: #FFF;
}

.top_order .order_lead {
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.05em;
}

.top_order .order_lead span {
	font-size: 14px;
}

.top_order .order_text {
	margin-top: 15px;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.57;
	letter-spacing: 0.06em;
}

.top_order .order_text span {
	color: #2AADA2;
	font-weight: 500;
}

.top_order .order_link {
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	-webkit-transition: color 0.3s ease 0s;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: auto;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.03em;
	transition: color 0.3s ease 0s;
}

.top_order .order_link::after {
	-webkit-transform: rotate(-45deg);
	-webkit-transition: border 0.3s ease 0s;
	aspect-ratio: 1/1;
	width: 10px;
	margin-top: 2px;
	margin-left: 15px;
	transform: rotate(-45deg);
	border: 3px solid #333;
	border-top: none;
	border-left: none;
	content: "";
	transition: border 0.3s ease 0s;
}

.top_order .order_item:hover .order_img img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.top_order .order_item:hover .order_link {
	color: #2AADA2;
}

.top_order .order_item:hover .order_link::after {
	border: 3px solid #2AADA2;
	border-top: none;
	border-left: none;
}

/* top_works (pc) -------------------------------------------------------------------------------------------------------------------- */

.top_works {
	padding: 130px 0;
}

.top_works .works_heading {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.top_works .works_heading_en {
	color: #2AADA2;
	font-weight: 700;
	font-size: 40px;
}

.top_works .works_heading_ja {
	margin-left: 20px;
	font-weight: 500;
	font-size: 18px;
	letter-spacing: 0.03em;
}

.top_works .works_items {
	-webkit-column-gap: 30px;
	-moz-column-gap: 30px;
	display: grid;
	grid-template-columns: 360px 360px 360px;
	column-gap: 30px;
	margin-top: 10px;
}

.top_works .works_item {
	display: flex;
	flex-direction: column;
}

.top_works .works_img {
	aspect-ratio: 360/210;
	width: 100%;
	overflow: hidden;
	border-radius: 10px;
	flex-shrink: 0;
}

.top_works .works_img img {
	-webkit-transition: -webkit-transform 0.3s ease 0s;
	transition: -webkit-transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

.top_works .works_body {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.top_works .works_title {
	-webkit-box-orient: vertical;
	-webkit-transition: color 0.3s ease 0s;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	margin-top: 20px;
	overflow: hidden;
	color: #333;
	font-weight: 700;
	font-size: 17px;
	line-height: 1.59;
	letter-spacing: 0.05em;
	transition: color 0.3s ease 0s;
}

.top_works .works_text {
	-webkit-box-orient: vertical;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	margin-top: 15px;
	margin-bottom: 30px;
	overflow: hidden;
	color: #777;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

.top_works .works_time {
	display: block;
	margin-top: auto;
	color: #333;
	font-weight: 400;
	font-size: 15px;
	letter-spacing: 0.05em;
}

.top_works .works_item:hover .works_img img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.top_works .works_item:hover .works_title {
	color: #2AADA2;
}

.top_works .works_btn {
	margin: 50px auto 0;
}

/* top_member (pc) -------------------------------------------------------------------------------------------------------------------- */

.top_member {
	padding: 70px 0 80px;
	background-color: #FDFBF4;
}

.top_member .member_heading {
	-webkit-transform: rotate(-2deg);
	transform: rotate(-2deg);
	color: #2AADA2;
	font-weight: 400;
	font-size: 100px;
}

.top_member .member_items {
	-webkit-column-gap: 20px;
	-moz-column-gap: 20px;
	display: grid;
	grid-template-columns: 270px 270px 270px 270px;
	column-gap: 20px;
}

.top_member .member_img {
	aspect-ratio: 270/320;
	width: 100%;
}

.top_member .member_name {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	margin-top: 15px;
}

.top_member .member_name_ja {
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.13em;
}

.top_member .member_name_en {
	margin-left: 15px;
	color: #2AADA2;
	font-weight: 400;
	font-size: 15px;
	letter-spacing: 0.05em;
}

.top_member .member_statas {
	margin-top: 20px;
	font-weight: 400;
	font-size: 14px;
	letter-spacing: 0.1em;
}

.top_member .member_btn {
	margin: 50px auto 0;
}

/* top_flow (pc) -------------------------------------------------------------------------------------------------------------------- */

.top_flow {
	padding: 110px 0 120px;
}

.top_flow .flow_heading_en {
	color: #2AADA2;
	font-weight: 700;
	font-size: 40px;
	line-height: 1;
	text-align: center;
}

.top_flow .flow_heading_ja {
	font-weight: 500;
	font-size: 18px;
	letter-spacing: 0.03em;
	text-align: center;
}

.top_flow .flow_items {
	-webkit-column-gap: 48px;
	-moz-column-gap: 48px;
	display: grid;
	position: relative;
	grid-template-columns: repeat(6, 150px);
	column-gap: 48px;
	margin-top: 45px;
}

.top_flow .flow_items::after {
	-webkit-transform: translateX(-50%);
	position: absolute;
	top: 75px;
	left: 50%;
	width: calc(100% - 10px);
	height: 3px;
	transform: translateX(-50%);
	background-color: #333;
	content: "";
}

.top_flow .flow_head {
	z-index: 10;
	position: relative;
	position: relative;
	aspect-ratio: 1/1;
	width: 150px;
	border: 3px solid #333;
	border-radius: 50%;
	background-color: #FDFBF5;
}

.top_flow .flow_head::before {
	-webkit-transform: translate(-50%, 100%);
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 3px;
	height: 30px;
	transform: translate(-50%, 100%);
	background-color: #333;
	content: "";
}

.top_flow .flow_icon {
	-webkit-transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.top_flow .flow_item:nth-child(1) .flow_icon {
	aspect-ratio: 60/75;
	width: 60px;
}

.top_flow .flow_item:nth-child(3) .flow_icon {
	aspect-ratio: 77/67;
	width: 77px;
}

.top_flow .flow_item:nth-child(4) .flow_icon {
	aspect-ratio: 98/67;
	width: 98px;
}

.top_flow .flow_item:nth-child(5) .flow_icon {
	aspect-ratio: 77/67;
	width: 77px;
}

.top_flow .flow_item:nth-child(6) .flow_icon {
	aspect-ratio: 1/1;
	width: 80px;
}

.top_flow .flow_number {
	margin-top: 30px;
	color: #2AADA2;
	font-weight: 700;
	font-size: 22px;
	text-align: center;
}

.top_flow .flow_title {
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.33;
	letter-spacing: 0.05em;
	text-align: center;
	white-space: nowrap;
}

.top_flow .flow_btn {
	margin: 70px auto 0;
}

/* top_faq (pc) -------------------------------------------------------------------------------------------------------------------- */

.top_faq {
	padding: 130px 0 100px;
	background-color: #FAFAFA;
}

.top_faq .faq_heading_en {
	color: #2AADA2;
	font-weight: 700;
	font-size: 40px;
	line-height: 1;
	text-align: center;
}

.top_faq .faq_heading_ja {
	font-weight: 500;
	font-size: 18px;
	letter-spacing: 0.03em;
	text-align: center;
}

.top_faq .faq_items {
	margin-top: 60px;
}

.top_faq .faq_item:not(:first-child) {
	margin-top: 15px;
	transition: margin 0.3s ease 0s;
}

.top_faq .faq_item.is_open {
	margin-top: 60px;
}

.top_faq .faq_item.is_open+.faq_item {
	margin-top: 60px;
}

.top_faq .faq_item dt,
.top_faq .faq_wrapper {
	-webkit-box-align: start;
	-ms-flex-align: start;
	-webkit-column-gap: 40px;
	-moz-column-gap: 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	column-gap: 40px;
	align-items: flex-start;
	padding-left: 20px;
}

.top_faq .faq_item dt span,
.top_faq .faq_wrapper span {
	margin-top: -10px;
	font-weight: 700;
	font-size: 32px;
}

.top_faq .faq_item dt span {
	color: #2AADA2;
}

.top_faq .faq_wrapper span {
	color: #E30000;
}

.top_faq .faq_item dt {
	position: relative;
	padding-right: 100px;
	border-bottom: 1px dashed #333;
	cursor: pointer;
}

.top_faq .faq_item dt::after {
	-webkit-transition: -webkit-transform 0.3s ease 0s;
	position: absolute;
	top: 8px;
	right: 20px;
	aspect-ratio: 1/1;
	width: 15px;
	background-image: url(/wp-content/themes/child/image/top_faq_icon.svg);
	background-size: contain;
	background-repeat: no-repeat;
	content: "";
	transition: -webkit-transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

.top_faq .faq_item dt.is_open::after {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.top_faq .faq_q {
	font-weight: 700;
	font-size: 16px;
	line-height: 1.88;
	letter-spacing: 0.05em;
}

.top_faq .faq_item dd {
	display: none;
	padding-top: 15px;
}

.top_faq .faq_a {
	padding-right: 50px;
	color: #777;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.71;
}

.top_faq .faq_btn {
	margin: 70px auto 0;
}

/* top_archive (pc) -------------------------------------------------------------------------------------------------------------------- */

.top_archive {
	padding: 150px 0 130px;
}

.top_archive .archive_wrapper {
	-webkit-column-gap: 50px;
	-moz-column-gap: 50px;
	display: grid;
	grid-template-columns: 545px 545px;
	column-gap: 50px;
}

.top_archive .archive_outer {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.top_archive .archive_heading {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}

.top_archive .archive_heading_en {
	color: #2AADA2;
	font-weight: 700;
	font-size: 36px;
	line-height: 1;
}

.top_archive .archive_heading_ja {
	margin-left: 15px;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.03em;
}

.top_archive .archive_btn {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-transition: background 0.3s ease 0s;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 160/44;
	width: 160px;
	margin-left: auto;
	border-radius: 22px;
	background-color: #333;
	color: #FFF;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.03em;
	transition: background 0.3s ease 0s;
}

.top_archive .archive_btn::after {
	-webkit-transform: rotate(-45deg);
	aspect-ratio: 1/1;
	width: 10px;
	margin-top: 2px;
	margin-left: 40px;
	transform: rotate(-45deg);
	border: 3px solid #FFF;
	border-top: none;
	border-left: none;
	content: "";
}

.top_archive .archive_btn:hover {
	background-color: #2AADA2;
}

.top_archive .archive_items {
	margin-top: 25px;
}

.top_archive .archive_item {
	display: block;
	color: #333;
}

.top_archive .archive_time {
	font-weight: 400;
	font-size: 13px;
	letter-spacing: 0.05em;
}

.top_archive .archive_title {
	-webkit-box-orient: vertical;
	-webkit-transition: color 0.3s ease 0s;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	overflow: hidden;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.05em;
	transition: color 0.3s ease 0s;
}

.top_archive .archive_text {
	-webkit-box-orient: vertical;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	margin-top: 10px;
	padding-top: 10px;
	overflow: hidden;
	border-top: 1px dashed #333;
	color: #777;
	font-size: 14px;
	line-height: 1.64;
	letter-spacing: 0.03em;
}

.top_archive .archive_item:hover .archive_title {
	color: #2AADA2;
}

.top_archive .news .archive_item+.archive_item {
	margin-top: 15px;
}

.top_archive .news .archive_title {
	margin-top: 5px;
}

.top_archive .report .archive_item {
	-webkit-column-gap: 20px;
	-moz-column-gap: 20px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: grid;
	grid-template-columns: 150px 1fr;
	column-gap: 20px;
	align-items: center;
	padding: 28px 0;
	border-bottom: 1px solid #D3D3D3;
}

.top_archive .report .archive_item:first-child {
	padding-top: 0;
}

.top_archive .report .archive_item:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.top_archive .report .archive_item:hover .archive_img img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.top_archive .report .archive_img {
	aspect-ratio: 1/1;
	width: 100%;
	overflow: hidden;
	border-radius: 10px;
}

.top_archive .report .archive_img img {
	-webkit-transition: -webkit-transform 0.3s ease 0s;
	transition: -webkit-transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

/* page_reform (pc) ------------------------------------------------------------------------------------------------------ */

#page_reform .reform {
	padding: 50px 0 100px;
}

#page_reform .reform .reform_contents {
	-webkit-column-gap: 40px;
	-moz-column-gap: 40px;
	-webkit-box-align: end;
	-ms-flex-align: end;
	display: grid;
	grid-template-columns: 540px 560px;
	column-gap: 40px;
	align-items: flex-end;
	padding: 50px 0;
	border-bottom: 1px solid #777;
}

#page_reform .reform .reform_contents:last-child {
	border-bottom: none;
}

#page_reform .reform .reform_contents:nth-child(2n) {
	grid-template-columns: 560px 540px;
}

#page_reform .reform .reform_contents:nth-child(2n) .reform_img {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
}

#page_reform .reform .reform_img {
	aspect-ratio: 540/350;
	width: 100%;
	overflow: hidden;
	border-radius: 10px;
}

#page_reform .reform .reform_body {
	padding-bottom: 10px;
}

#page_reform .reform .reform_heading {
	color: #2AADA2;
	font-weight: 700;
	font-size: 24px;
	letter-spacing: 0.05em;
}

#page_reform .reform .reform_text {
	margin-top: 20px;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.36;
	letter-spacing: 0.06em;
}

#page_reform .reform .reform_btn {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-transition: background 0.3s ease 0s;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 320/58;
	width: 320px;
	margin-top: 50px;
	border-radius: 30px;
	background-color: #333;
	color: #FFF;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.04em;
	transition: background 0.3s ease 0s;
}

#page_reform .reform .reform_btn:hover {
	background-color: #2AADA2;
}

/* page_order (pc) ------------------------------------------------------------------------------------------------------ */

#page_order .custom {
	padding: 90px 0 150px;
}

#page_order .custom .custom_heading {
	color: #56AAA1;
	font-weight: 500;
	font-size: 33px;
	letter-spacing: 0.05em;
	text-align: center;
}

#page_order .custom .custom_text {
	margin-top: 20px;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.56;
	letter-spacing: 0.05em;
	text-align: center;
}

#page_order .custom .custom_img {
	aspect-ratio: 1140/570;
	margin-top: 60px;
	overflow: hidden;
	border-radius: 15px;
}

#page_order .custom .custom_items {
	margin-top: 150px;
}

#page_order .custom .custom_item.item {
	-webkit-column-gap: 70px;
	-moz-column-gap: 70px;
	display: grid;
	grid-template-columns: 570px 500px;
	column-gap: 70px;
}

#page_order .custom .custom_item.item:not(:first-child) {
	margin-top: 100px;
}

#page_order .custom .custom_item.item:nth-child(2n) {
	grid-template-columns: 500px 570px;
}

#page_order .custom .custom_item.item:nth-child(2n) .item_body {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
}

#page_order .custom .custom_item.item .item_body {
	padding-top: 30px;
}

#page_order .custom .custom_item.item .item_heading {
	color: #56AAA1;
	font-weight: 500;
	font-size: 25px;
	letter-spacing: 0.05em;
}

#page_order .custom .custom_item.item .item_text {
	margin-top: 25px;
	color: #000;
	font-weight: 400;
	font-size: 16px;
	letter-spacing: 0.05em;
}

#page_order .custom .custom_item.item .item_text+.item_text {
	margin-top: 20px;
}

#page_order .custom .custom_item.item .item_img {
	aspect-ratio: 1/1;
	overflow: hidden;
	border-radius: 15px;
}

#page_order .order {
	padding: 70px 0 120px;
	background-color: #FDFBF4;
}

#page_order .order .order_heading {
	color: #56AAA1;
	font-weight: 500;
	font-size: 25px;
	letter-spacing: 0.05em;
	text-align: center;
}

#page_order .order .order_items {
	-webkit-column-gap: 20px;
	-moz-column-gap: 20px;
	display: grid;
	grid-template-columns: 560px 560px;
	column-gap: 20px;
	margin-top: 50px;
}

#page_order .order .order_item {
	display: grid;
	grid-template-columns: 220px 1fr;
	overflow: hidden;
	border-radius: 10px;
	color: #333;
}

#page_order .order .order_img {
	aspect-ratio: 220/240;
	width: 100%;
	overflow: hidden;
}

#page_order .order .order_img img {
	-webkit-transition: -webkit-transform 0.3s ease 0s;
	transition: -webkit-transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

#page_order .order .order_body {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	padding: 25px 20px 20px;
	background-color: #FFF;
}

#page_order .order .order_lead {
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.05em;
}

#page_order .order .order_lead span {
	font-size: 14px;
}

#page_order .order .order_text {
	margin-top: 15px;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.57;
	letter-spacing: 0.06em;
}

#page_order .order .order_text span {
	color: #2AADA2;
	font-weight: 500;
}

#page_order .order .order_link {
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	-webkit-transition: color 0.3s ease 0s;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: auto;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.03em;
	transition: color 0.3s ease 0s;
}

#page_order .order .order_link::after {
	-webkit-transform: rotate(-45deg);
	-webkit-transition: border 0.3s ease 0s;
	aspect-ratio: 1/1;
	width: 10px;
	margin-top: 2px;
	margin-left: 15px;
	transform: rotate(-45deg);
	border: 3px solid #333;
	border-top: none;
	border-left: none;
	content: "";
	transition: border 0.3s ease 0s;
}

#page_order .order .order_item:hover .order_img img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

#page_order .order .order_item:hover .order_link {
	color: #2AADA2;
}

#page_order .order .order_item:hover .order_link::after {
	border: 3px solid #2AADA2;
	border-top: none;
	border-left: none;
}

/* page_antioxidant (pc) ------------------------------------------------------------------------------------------------------ */

#page_antioxidant .antioxidant {
	padding: 100px 0;
}

#page_antioxidant .antioxidant .antioxidant_contents {
	-webkit-column-gap: 5%;
	-moz-column-gap: 5%;
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: grid;
	grid-template-columns: 35% 60%;
	column-gap: 5%;
	align-items: center;
}

#page_antioxidant .antioxidant .antioxidant_contents+.antioxidant_contents {
	margin-top: 60px;
}

#page_antioxidant .antioxidant .antioxidant_contents:nth-child(2n) {
	grid-template-columns: 60% 35%;
}

#page_antioxidant .antioxidant .antioxidant_contents:nth-child(2n) .antioxidant_img {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
}

#page_antioxidant .antioxidant .antioxidant_img {
	aspect-ratio: 4/3;
	border-radius: 10px;
	overflow: hidden;
}

#page_antioxidant .antioxidant .antioxidant_img img {
	transform: scale(1.1);
}

#page_antioxidant .antioxidant .antioxidant_heading {
	font-weight: 700;
	font-size: 21px;
}

#page_antioxidant .antioxidant .antioxidant_text {
	margin-top: 15px;
	font-size: 16px;
}

#page_antioxidant .antioxidant .antioxidant_text+.antioxidant_text {
	margin-top: 10px;
}

#page_antioxidant .antioxidant .antioxidant_text span {
	display: inline;
	color: #2AADA2;
	font-weight: 700;
}

#page_antioxidant .merit {
	padding: 100px 0;
	background-color: #FFF;
}

#page_antioxidant .merit .merit_heading {
	color: #2AADA2;
	font-weight: 700;
	font-size: 24px;
	text-align: center;
}

#page_antioxidant .merit .merit_message {
	margin-top: 15px;
	font-size: 16px;
	text-align: center;
}

#page_antioxidant .merit .merit_img {
	aspect-ratio: 3/2;
	max-width: 800px;
	margin: 40px auto 0;
	border-radius: 10px;
	overflow: hidden;
}

#page_antioxidant .merit .merit_items {
	margin-top: 40px;
}

#page_antioxidant .merit .merit_item+.merit_item {
	margin-top: 20px;
}

#page_antioxidant .merit .merit_lead {
	color: #2AADA2;
	font-weight: 700;
	font-size: 18px;
}

#page_antioxidant .merit .merit_text {
	font-size: 16px;
}

/* page_magic (pc) ------------------------------------------------------------------------------------------------------ */

#page_magic .magic {
	padding: 100px 0;
}

#page_magic .magic+.magic {
	background-color: #FFF;
}

#page_magic .magic:last-child {
	padding: 50px 0 150px;
}

#page_magic .magic .magic_contents.mt {
	margin-top: 30px;
}

#page_magic .magic .magic_contents+.magic_contents {
	margin-top: 80px;
}

#page_magic .magic .magic_heading {
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	font-weight: 700;
	font-size: 24px;
}

#page_magic .magic .magic_heading::before {
	width: 5px;
	height: 30px;
	margin-right: 10px;
	background-color: #2AADA2;
	content: "";
}

#page_magic .magic .magic_wrapper {
	-webkit-column-gap: 5%;
	-moz-column-gap: 5%;
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: grid;
	grid-template-columns: 35% 60%;
	column-gap: 5%;
	align-items: center;
	margin-top: 30px;
}

#page_magic .magic .magic_wrapper.reverse {
	grid-template-columns: 60% 35%;
}

#page_magic .magic .magic_wrapper.reverse .magic_img {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
}

#page_magic .magic .magic_title {
	font-size: 18px;
	line-height: 2;
	padding-left: 20px;
}

#page_magic .magic .magic_lead {
	font-weight: 700;
	font-size: 21px;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
	color: #2AADA2;
}

#page_magic .magic .magic_text {
	margin-top: 20px;
	font-size: 16px;
}

#page_magic .magic .magic_figure {
	max-width: 800px;
	margin: 30px auto 0;
}

#page_magic .magic .magic_figure.size {
	max-width: 600px;
}

#page_magic .magic .magic_message {
	font-size: 16px;
}

#page_magic .magic .magic_message+.magic_message {
	margin-top: 20px;
}

#page_magic .magic .magic_title span,
#page_magic .magic .magic_text span,
#page_magic .magic .magic_message span {
	display: inline;
	font-weight: 700;
}

#page_magic .magic .magic_table {
	margin-top: 40px;
}

#page_magic .magic .magic_table table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

#page_magic .magic .magic_table table th,
#page_magic .magic .magic_table table td {
	height: 40px;
	border: 1px solid #000;
	font-size: 16px;
	text-align: center;
	vertical-align: middle;
}

#page_magic .magic .magic_table table th {
	background-color: rgba(0, 0, 0, 0.1);
}

#page_magic .magic .magic_table.heat_cut table tbody td:nth-child(3) {
	width: 12%;
}

#page_magic .magic .magic_table.heat_cut table tbody td:nth-child(5),
#page_magic .magic .magic_table.heat_cut table tbody td:nth-child(6) {
	width: 10%;
}

#page_magic .magic .magic_table.temperature {
	max-width: 800px;
	margin: 40px auto 0;
}

#page_magic .magic .magic_youtube {
	aspect-ratio: 3/2;
	max-width: 700px;
	margin: 40px auto 0;
}

#page_magic .magic .magic_youtube iframe {
	width: 100%;
	height: 100%;
}

/* page_works (pc) -------------------------------------------------------------------------------------------------------------------- */

#page_works .links {
	padding-top: 120px;
}

#page_works .links .links_items {
	display: flex;
	flex-wrap: wrap;
	column-gap: 20px;
	justify-content: center;
}

#page_works .links .links_item {
	padding: 10px 25px;
	color: #2AADA2;
	border: 2px solid #2AADA2;
	border-radius: 5px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.05em;
	transition: color 0.3s, background 0.3s ease 0s;
}

#page_works .links .links_item:hover {
	color: #FFF;
	background-color: #2AADA2;
}

#page_works .works {
	padding: 120px 0;
}

#page_works .works .works_items {
	-webkit-column-gap: 30px;
	-moz-column-gap: 30px;
	display: grid;
	grid-template-columns: 360px 360px 360px;
	column-gap: 30px;
	row-gap: 50px;
}

#page_works .works .works_img {
	aspect-ratio: 360/210;
	width: 100%;
	overflow: hidden;
	border-radius: 10px;
}

#page_works .works .works_img img {
	-webkit-transition: -webkit-transform 0.3s ease 0s;
	transition: -webkit-transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

#page_works .works .works_title {
	-webkit-box-orient: vertical;
	-webkit-transition: color 0.3s ease 0s;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	margin-top: 20px;
	overflow: hidden;
	color: #333;
	font-weight: 700;
	font-size: 17px;
	line-height: 1.59;
	letter-spacing: 0.05em;
	transition: color 0.3s ease 0s;
}

#page_works .works .works_text {
	-webkit-box-orient: vertical;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	margin-top: 15px;
	overflow: hidden;
	color: #777;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

#page_works .works .works_category {
	-webkit-column-gap: 5px;
	-moz-column-gap: 5px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	column-gap: 5px;
	margin-top: 30px;
}

#page_works .works .works_category span {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 0 10px;
	border-radius: 5px;
	background-color: #2AADA2;
	color: #FFF;
	font-size: 14px;
}

#page_works .works .works_time {
	display: block;
	margin-top: 5px;
	color: #333;
	font-weight: 400;
	font-size: 15px;
	letter-spacing: 0.05em;
}

#page_works .works .works_item:hover .works_img img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

#page_works .works .works_item:hover .works_title {
	color: #2AADA2;
}

/* page_faq (pc) -------------------------------------------------------------------------------------------------------------------- */

#page_faq .faq {
	padding: 60px 0 120px;
}

#page_faq .faq .faq_items {
	margin-top: 60px;
}

#page_faq .faq .faq_item:not(:first-child) {
	margin-top: 15px;
	transition: margin 0.3s ease 0s;
}

#page_faq .faq .faq_item.is_open {
	margin-top: 60px;
}

#page_faq .faq .faq_item.is_open+.faq_item {
	margin-top: 60px;
}

#page_faq .faq .faq_item dt,
#page_faq .faq .faq_wrapper {
	-webkit-box-align: start;
	-ms-flex-align: start;
	-webkit-column-gap: 40px;
	-moz-column-gap: 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	column-gap: 40px;
	align-items: flex-start;
	padding-left: 20px;
}

#page_faq .faq .faq_item dt span,
#page_faq .faq .faq_wrapper span {
	margin-top: -10px;
	font-weight: 700;
	font-size: 32px;
}

#page_faq .faq .faq_item dt span {
	color: #2AADA2;
}

#page_faq .faq .faq_wrapper span {
	color: #E30000;
}

#page_faq .faq .faq_item dt {
	position: relative;
	padding-right: 100px;
	border-bottom: 1px dashed #333;
	cursor: pointer;
}

#page_faq .faq .faq_item dt::after {
	-webkit-transition: -webkit-transform 0.3s ease 0s;
	position: absolute;
	top: 8px;
	right: 20px;
	aspect-ratio: 1/1;
	width: 15px;
	background-image: url(/wp-content/themes/child/image/top_faq_icon.svg);
	background-size: contain;
	background-repeat: no-repeat;
	content: "";
	transition: -webkit-transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s;
	transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

#page_faq .faq .faq_item dt.is_open::after {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#page_faq .faq .faq_q {
	font-weight: 700;
	font-size: 16px;
	line-height: 1.88;
	letter-spacing: 0.05em;
}

#page_faq .faq .faq_item dd {
	display: none;
	padding-top: 15px;
}

#page_faq .faq .faq_a {
	padding-right: 50px;
	color: #777;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.71;
}

/* page_flow (pc) -------------------------------------------------------------------------------------------------------------------- */

#page_flow .flow {
	padding: 100px 0;
}

#page_flow .flow .flow_items {
	position: relative;
}

#page_flow .flow .flow_items::after {
	-webkit-transform: translateY(-50%);
	position: absolute;
	top: 50%;
	left: 175px;
	width: 2px;
	height: calc(100% - 10px);
	transform: translateY(-50%);
	background-color: #000;
	content: "";
}

#page_flow .flow .flow_item {
	-webkit-column-gap: 40px;
	-moz-column-gap: 40px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: grid;
	z-index: 10;
	position: relative;
	grid-template-columns: 350px 1fr;
	column-gap: 40px;
	align-items: center;
}

#page_flow .flow .flow_item+.flow_item {
	margin-top: 50px;
}

#page_flow .flow .flow_head {
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: grid;
	grid-template-columns: 50px 50px 1fr;
	align-items: center;
	aspect-ratio: 350/75;
	width: 350px;
	padding-left: 20px;
	border: 2px solid #000;
	border-radius: 10px;
	background-color: #FDFBF5;
}

#page_flow .flow .flow_item:nth-child(1) .flow_icon {
	width: 42px;
}

#page_flow .flow .flow_item:nth-child(2) .flow_icon {
	width: 40px;
}

#page_flow .flow .flow_item:nth-child(3) .flow_icon {
	width: 44px;
}

#page_flow .flow .flow_item:nth-child(4) .flow_icon {
	width: 47px;
}

#page_flow .flow .flow_item:nth-child(5) .flow_icon {
	width: 44px;
}

#page_flow .flow .flow_item:nth-child(6) .flow_icon {
	width: 49px;
}

#page_flow .flow .flow_icon img {
	height: auto;
}

#page_flow .flow .flow_number {
	margin-top: 4px;
	color: #2AADA2;
	font-weight: 700;
	font-size: 24px;
	text-align: center;
}

#page_flow .flow .flow_title {
	font-weight: 700;
	font-size: 18px;
}

#page_flow .flow .flow_text {
	font-size: 16px;
}

/* page_staff (pc) -------------------------------------------------------------------------------------------------------------------- */

#page_staff .staff {
	padding: 70px 0;
}

#page_staff .staff .staff_list {
	padding: 50px 0;
	border-bottom: 1px solid #000;
}

#page_staff .staff .staff_list:nth-child(2n) .staff_wrapper {
	grid-template-columns: 1fr 350px;
}

#page_staff .staff .staff_list:nth-child(2n) .staff_img {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
}

#page_staff .staff .staff_list:last-child {
	border-bottom: none;
}

#page_staff .staff .staff_wrapper {
	-webkit-column-gap: 40px;
	-moz-column-gap: 40px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: grid;
	grid-template-columns: 350px 1fr;
	column-gap: 40px;
	align-items: center;
	margin-top: 20px;
}

#page_staff .staff .staff_img {
	aspect-ratio: 270/320;
	width: 100%;
	overflow: hidden;
	border-radius: 10px;
}

#page_staff .staff .staff_name {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

#page_staff .staff .staff_name_ja {
	font-weight: 700;
	font-size: 32px;
	letter-spacing: 0.13em;
}

#page_staff .staff .staff_name_en {
	margin-top: 5px;
	margin-left: 10px;
	color: #2AADA2;
	font-weight: 400;
	font-size: 18px;
}

#page_staff .staff .staff_outer {
	-webkit-column-gap: 10px;
	-moz-column-gap: 10px;
	column-gap: 10px;
}

#page_staff .staff .staff_statas {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 0 10px;
	border-radius: 10px;
	background-color: #2AADA2;
	color: #FFF;
	font-weight: 500;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.05em;
}

#page_staff .staff .staff_item dt {
	color: #2AADA2;
	font-weight: 700;
	font-size: 18px;
}

#page_staff .staff .staff_item dd {
	font-size: 16px;
}

#page_staff .staff .staff_item+.staff_item {
	margin-top: 15px;
}

/* page_company (pc) -------------------------------------------------------------------------------------------------------------------- */

#page_company {
	padding: 100px 0;
}

#page_company .company .company_item {
	display: grid;
	grid-template-columns: 200px 1fr;
	padding: 20px 0;
	border-bottom: 1px solid #000;
}

#page_company .company .company_item:first-child {
	border-top: 1px solid #000;
}

#page_company .company .company_item>dt {
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	padding-left: 15px;
	font-weight: 700;
	font-size: 16px;
}

#page_company .company .company_item>dd {
	font-weight: 400;
	font-size: 16px;
}

#page_company .company .company_item>dd a {
	color: #333;
}

#page_company .company .company_skills {
	display: grid;
	grid-template-columns: 450px 1fr;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 5px 10px;
	border-bottom: 1px dashed #000;
}

#page_company .company .company_skills:last-child {
	border-bottom: none;
}

#page_company .company .company_skills>dt {
	font-weight: 400;
	font-size: 16px;
}

#page_company .company .company_skills>dd {
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	font-weight: 400;
	font-size: 16px;
}

#page_company .company .company_map {
	aspect-ratio: 3/2;
	max-width: 800px;
	margin: 80px auto 0;
}

#page_company .company .company_map iframe {
	width: 100%;
	height: 100%;
}

.single_main .singleSidebar .site_single_latest .img {
	width: 180px;
}

.single_main #single_page aside#info_side {
	background-color: transparent;
}

/* page_sitemap (pc) ------------------------------------------------------------------------------------------------------ */

#page_sitemap {
	padding: 120px 0;
}

#page_sitemap #sitemap_list {
	background: transparent;
}

/* page_error (pc) ------------------------------------------------------------------------------------------------------ */

#page_error {
	padding: 120px 0;
}

#page_error .error_text {
	font-size: 18px;
}

#page_error .common_btn.error_btn {
	margin-top: 30px;
}

.top_reform .reform_heading {
	margin-bottom: 1em;
}

.top_reform .column {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.top_reform .column .sell {
	display: grid;
	grid-template-rows: subgrid;
}

.top_reform .js_custom_prev,
.top_reform .js_custom_next {
	display: none;
}

.contact_note_text {
    font-size: 15px;
    text-align: center;
    color: #787878;
    letter-spacing: .03em;
    margin: 0.3em 0 6.3em;
}

.common_fv.contact {
    padding-bottom: 0;
}

@media (max-width: 750px) {
	.wrap {
		max-width: 90%;
	}

	a[href $='.pdf']::before {
		width: 7vw;
		height: 8vw;
		margin-right: 2.5vw;
	}

	a[href $='.pdf']:hover {
		text-decoration: underline;
	}

	body {
		font-size: 13px;
		padding-top: 55px;
	}

	/* SPヘッダー */
	#sp_header {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		background: #fff;
		box-shadow: 1px 1px #ccc;
		z-index: 999;
		height: 55px;
	}

	#sp_header .logo {
		position: absolute;
		left: 10px;
		top: 10px;
		line-height: 0;
	}

	#sp_header .logo img {
		height: 40px;
	}

	#sp_header .icon {
		color: #000;
		position: absolute;
	}

	#sp_header .mail {
		right: 70px;
		top: 13px;
		font-size: 25px;
	}

	#sp_header .tel {
		right: 110px;
		top: 15px;
		font-size: 20px;
	}

	/* SP固定ページ 共通設定 */
	.common_page_wrap {
		padding: 20vw 0;
	}

	.common_page_title h2 {
		font-size: 5vw;
	}

	.common_page_title .sub_title {
		font-size: 3vw;
	}

	.reserve_text {
		font-size: 6vw;
	}

	/* パンくず */
	.breadcrumb {
		font-size: 2.5vw;
	}

	/* SP固定ページ 会社概要 */
	.company_profile {
		margin-bottom: 20vw;
	}

	.company_profile table th,
	.company_profile table td {
		font-size: 3.2vw;
		width: 100%;
		display: block;
	}

	.company_profile table {
		border-top: 1px solid;
	}

	.company_profile table th {
		width: 100%;
		background-color: #f2f2f2;
	}

	.company_profile table td {
		width: 100%;
	}

	.company_access .map {
		height: 50vw;
	}

	/* SP固定ページ お問い合わせ */
	#page_contact table {
		margin-bottom: 10vw;
		width: 100%;
	}

	#page_contact table th,
	#page_contact table td {
		font-size: 4vw;
		display: block;
		border-bottom: none;
		padding: 5vw 4vw;
	}

	#page_contact table th {
		width: 100%;
		text-align: left;
		padding: 3vw;
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		align-items: center;
	}

	#page_contact table td {
		width: 100%;
	}

	#page_contact input[type="text"],
	#page_contact input[type="email"],
	#page_contact #zip {
		width: 100%;
		height: 12vw;
	}

	#page_contact input.tel {
		width: 29%;
	}

	#page_contact select {
		width: 100%;
	}

	#page_contact textarea {
		width: 100%;
		height: 60vw;
	}

	#page_contact #btn_wrap button {
		width: 80%;
		line-height: 12vw;
		border-radius: 4px;
		font-size: 4vw;
	}

	#page_contact #btn_wrap button[name="submitBack"] {
		margin-top: 4vw;
	}

	.mwform-checkbox-field.horizontal-item {
		display: block;
	}

	.mw_wp_form .horizontal-item+.horizontal-item {
		margin-left: 0;
		margin-top: 2vw;
	}

	#page_contact .attention {
		font-size: 3vw;
	}

	#page_contact .progressbar #step_2 .en::before,
	#page_contact .progressbar #step_2 .en::after {
		width: 8vw;
	}

	#page_contact .progressbar #step_2 .en::before {
		left: -4vw;
	}

	#page_contact .progressbar {
		margin-bottom: 7vw;
	}

	.contact_form_disc {
		width: 100%;
		font-size: 3.5vw;
		letter-spacing: .02em;
	}

	.contact_form_disc .caution {
		font-size: 3.4vw;
	}

	.contact_form_disc .text {
		margin-bottom: 3vw;
	}

	#page_contact table th .hissu,
	#page_contact table th .ninni {
		display: block;
		width: 13vw;
		padding: 0.2vw 0;
		text-align: center;
		font-size: 3vw;
		margin-right: 0;
	}

	#page_contact table {
		border-bottom: solid 1px #dfdfdf;
	}

	#page_contact #btn_wrap {
		width: 100%;
		text-align: center;
	}

	.privacy_check_list .mwform-checkbox-field-text {
		font-size: 3.8vw;
		padding-left: 11vw;
	}

	.mw_wp_form .privacy_check_list .horizontal-item {
		margin-right: 4vw;
	}

	.privacy_check_list .hissu {
		padding: 0.3vw 4vw;
	}

	.privacy_check_list {
		margin-bottom: 6vw;
	}

	.privacy_term_detail {
		font-size: 3.4vw;
		padding-bottom: 4vw;
		margin: 5vw 0;
	}

	.privacy_term_outer {
		width: 96%;
		padding: 5vw 0;
	}

	.privacy_term_outer .privacy_term_inner .main_text {
		font-size: 3.4vw;
		line-height: 1.6;
		margin-bottom: 5vw;
	}

	.privacy_term_outer .privacy_term_inner dl dt {
		font-size: 3.5vw;
	}

	.privacy_term_outer .privacy_term_inner dl dd {
		font-size: 3.5vw;
		line-height: 1.6;
	}

	.privacy_term_detail::before {
		width: 2.5vw;
		height: 2.5vw;
	}

	/* サンクスページ */
	#page_contact .thanks_textArea p {
		font-size: 4vw;
	}

	#page_contact .thanks_textArea .contact_text {
		margin-bottom: 2em;
		width: 100%;
	}

	#page_contact .thanks_textArea .ichiran_link {
		width: 80%;
		line-height: 12vw;
		font-size: 4vw;
	}

	/* ステップバー デザイン */
	#page_contact .progressbar .item {
		font-size: 4vw;
		line-height: 1.4;
		padding: 13vw 0px 2vw;
		width: 31%;
	}

	#page_contact .progressbar .item .en {
		display: block;
		color: #7b7b7b;
		font-size: 3.5vw;
		margin-bottom: 1vw;
	}

	#page_contact .progressbar .item::before {
		width: 8vw;
		height: 8vw;
	}

	#page_contact .progressbar .item.active::after {
		top: 2vw;
		width: 4vw;
		height: 4vw;
	}

	#page_contact .progressbar #step_2 .en {
		position: relative;
	}

	#page_contact .progressbar #step_2 .en::before,
	#page_contact .progressbar #step_2 .en::after {
		content: "";
		position: absolute;
		left: -47px;
		height: 1px;
		width: 100px;
		background: #a4a5a4;
	}

	#page_contact .progressbar #step_2 .en::after {
		left: auto;
		right: -4vw;
	}

	#page_contact .progressbar #step_2 .en::before,
	#page_contact .progressbar #step_2 .en::after {
		width: 8vw;
	}

	#page_contact .progressbar #step_2 .en::before {
		left: -4vw;
	}

	/* SP固定ページ 個人情報保護方針 */
	#page_privacy .main_text {
		font-size: 3.5vw;
	}

	#page_privacy dl {
		margin-bottom: 10vw;
	}

	#page_privacy dl dt {
		font-size: 4vw;
	}

	#page_privacy dl dd {
		font-size: 3.5vw;
		margin-left: 5vw;
	}

	/* SP固定ページ 404ページ */
	#page_404 .num {
		font-size: 20vw;
		line-height: 1.5;
	}

	#page_404 .text {
		font-size: 3.5vw;
	}

	/* SP投稿ページ アーカイブページ */
	.archive_page_list>article {
		padding-right: 20px;
	}

	.archive_page_list>article .date {
		width: 80px;
	}

	.archive_page_list>article .content_area {
		width: calc(100% - 80px);
	}

	.archive_page_list>article:after {
		width: 7px;
		height: 7px;
	}

	/* SP投稿ページ シングルページ */
	.singleContent .single_title::before {
		width: 3vw;
		height: 3vw;
		top: 7vw;
	}

	.singleContent .title_area .en {
		font-size: 3vw;
	}

	.single_main_img {
		width: 47vw;
		height: 47vw;
		margin: 0 auto 5vw auto;
	}

	.singleContent .day_cat {
		flex-wrap: nowrap;
		margin-bottom: 10vw;
	}

	.singleContent .day_cat .day {
		font-size: 3.2vw;
		margin-right: 3vw;
		padding-right: 3vw;
		flex-shrink: 0;
	}

	.singleContent .day_cat ul {
		gap: 2vw;
	}

	.singleContent .day_cat .category_list {
		width: 100%;
	}

	.singleContent h1 {
		font-size: 4.5vw;
		padding: 2vw;
	}

	.singleContent .title_area {
		margin-bottom: 10vw;
		padding: 20vw 0 5vw;
	}

	.singleContent .single_title {
		font-size: 4.5vw;
		letter-spacing: .05em;
	}

	.singleContent .single_title time {
		font-size: 3vw;
	}

	.singleContent .category_list ul li {
		font-size: 2.5vw;
		padding: 1vw 3vw;
	}

	.singleContent article h2 {
		font-size: 4.2vw;
		padding: 2vw;
	}

	.singleContent article h3 {
		font-size: 4vw;
		padding: 2vw;
		margin: 1.5em 0 1em;
	}

	.singleContent article h4 {
		font-size: 4vw;
		padding: 2vw;
		margin: 1.5em 0 1em;
	}

	.singleContent article h5 {
		font-size: 4vw;
	}

	.singleContent h6 {
		font-size: 3.8vw;
	}

	.singleContent p {
		font-size: 3.5vw;
	}

	#single_page .singleContent {
		width: 100%;
		margin: 0;
	}

	#single_page .singleContent .ichiran_link {
		width: 80%;
		line-height: 12vw;
		margin: 10vw auto 0 auto;
		font-size: 4vw;
	}

	#single_page .singleContent .ichiran_link:hover {
		opacity: 1;
	}

	#single_page .singleSidebar {
		display: none;
	}

	.singleContent_links {
		margin-top: 25vw;
	}

	.singleContent_links .btn {
		margin-bottom: 4vw;
		font-size: 3.4vw;
	}

	.singleContent_links a .ttl {
		font-size: 3.2vw;
	}

	.singleContent_links ul {
		width: 40%;
	}

	.recommend_post_area {
		width: 100%;
		margin: 14vw 0 0;
	}

	.recommend_post_area .ttl {
		font-size: 4.2vw;
		letter-spacing: .05em;
		padding-bottom: 2vw;
		margin-bottom: 5vw;
	}

	.recommend_post_area .ttl .en {
		font-size: 3vw;
	}

	.recommend_post_area .img {
		height: 25vw;
	}

	.recommend_post_area ul {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 3vw;
		row-gap: 5vw;
	}

	.recommend_post_area .day_cat {
		display: block;
	}

	.recommend_post_area .category_list .cat {
		font-size: 2vw;
		padding: 0 2vw;
	}

	.article_flame_wrap .text_box {
		height: auto;
		position: relative;
		padding-top: 4vw;
	}

	.recommend_post_area .day_cat .day {
		font-size: 3vw;
		margin-right: 0;
		padding-right: 0;
		border-right: none;
		position: absolute;
		left: 0;
		top: 0;
	}

	.recommend_post_area .inner_ttl {
		font-size: 3vw;
		margin-top: 1vw;
		-webkit-line-clamp: 1;
		height: 4.8vw;
	}

	.breadcrumb.single {
		text-align: left;
		margin-top: 25vw;
	}

	.singleContent_links .img {
		margin-bottom: 3vw;
		height: 25vw;
	}

	#toc_container li::before {
		width: 3vw;
		height: 3vw;
		top: 1vw;
	}

	#toc_container li {
		padding-left: 4vw;
	}

	.singleContent .singleContent_links ul li {
		padding: 0;
	}

	.singleContent_links ul li+li {
		margin-top: 3vw;
	}

	.singleContent_links ul li {
		padding-left: 6vw;
	}

	.singleContent article ul {
		padding: 4vw 3vw;
	}

	.singleContent_links ul::before {
		width: 4vw;
		height: 4vw;
	}

	.singleContent ol::before {
		border-width: 0 18px 18px 0;
	}

	.singleContent ol {
		padding: 6vw 3vw;
	}

	.singleContent #toc_container {
		margin-bottom: 8vw;
	}

	/* SP固定ページ サイトマップ */
	ul#sitemap_list li {
		margin: 0;
	}

	body #sitemap_list li a {
		font-size: 4vw;
		padding: 1vw 2vw;
		line-height: 9vw;
		margin-bottom: 1vw;
	}

	body #sitemap_list li.home-item {
		margin-bottom: 4vw;
	}

	body #sitemap_list {
		padding: 0;
	}


	/* ------------------------------------------------------------------------------------------------------------------------
    ---------------------------------------------------------------------------------------------------------------------------
    ↓↓↓↓↓ GNI ホームの css (sp) ↓↓↓↓↓
    ---------------------------------------------------------------------------------------------------------------------------
    /* ------------------------------------------------------------------------------------------------------------------------ */

	body.body {
		min-width: initial;
		padding-top: 0;
	}

	/* btn 共通クラス (sp) */

	a.common_btn {
		aspect-ratio: 220/50;
		width: 55vw;
		font-size: 3.5vw;
		letter-spacing: 0;
	}

	a.common_btn:hover {
		background-color: #333;
	}

	/* 下層ページ fv 共通クラス (pc) */

	.common_fv {
		margin-top: 18vw;
		padding: 5vw 0 15vw;
	}

	.common_fv .common_fv_items {
		font-size: 3vw;
	}

	.common_fv .common_fv_items span a span:hover {
		color: #777;
	}

	.common_fv .common_fv_heading_ja {
		margin-top: 20vw;
		font-size: 5.3vw;
	}

	.common_fv .common_fv_heading_en {
		margin-top: 2vw;
		font-size: 4vw;
	}

	.common_fv.antioxidant .common_fv_text {
		text-align: center;
	}

	.common_fv .common_fv_text {
		margin: 10vw auto 0;
		font-size: 3.3vw;
		text-align: left;
	}

	/* アーカイブページ共通クラス (pc) */

	.common_archive {
		padding: 15vw 0;
	}

	.common_archive .archive_category {
		-webkit-column-gap: 1vw;
		-moz-column-gap: 1vw;
		column-gap: 1vw;
	}

	.common_archive .archive_category span {
		padding: 0 2vw;
		font-size: 3.5vw;
	}

	.common_archive .archive_time {
		font-size: 3vw;
	}

	.common_archive .archive_title {
		-webkit-line-clamp: 2;
		font-size: 4vw;
	}

	.common_archive .archive_text {
		-webkit-line-clamp: 3;
		margin-top: 2vw;
		padding-top: 2vw;
		font-size: 3vw;
	}

	.common_archive .archive_news_item+.archive_news_item {
		margin-top: 5vw;
	}

	.common_archive .archive_news_item:hover .archive_title {
		color: #333;
	}

	.common_archive .archive_report_item {
		-webkit-column-gap: 3.5vw;
		-moz-column-gap: 3.5vw;
		grid-template-columns: 28vw 1fr;
		column-gap: 3.5vw;
		padding: 0;
		border-bottom: none;
	}

	.common_archive .archive_report_item:not(:first-child) {
		margin-top: 6vw;
	}

	.common_archive .archive_report_item:hover .archive_img img {
		-webkit-transform: initial;
		transform: initial;
	}

	.common_archive .archive_report_item:hover .archive_title {
		color: #333;
	}

	.common_archive .archive_report_item .archive_title {
		font-size: 3.5vw;
		line-height: 1.4;
	}

	.common_archive .archive_report_item .archive_text {
		-webkit-line-clamp: 2;
	}

	/* header (sp) ------------------------------------------------------------------------------------------------------ */

	.header {
		min-width: initial;
		padding: 0 0 0 5vw;
	}

	.header .header_logo {
		width: 33vw;
	}

	.header .header_logo img {
		width: 100%;
		margin: 0;
	}

	.header .header_logo:hover {
		opacity: 1;
	}

	.header .header_tel_sp,
	.header .header_contact_sp {
		aspect-ratio: 1/1;
		width: 12.5vw;
		background-size: contain;
		background-repeat: no-repeat;
	}

	.header .header_tel_sp {
		margin-left: auto;
		background-image: url(/wp-content/themes/child/image/common_icon_tel_sp.svg);
	}

	.header .header_contact_sp {
		margin-left: 1.5vw;
		background-image: url(/wp-content/themes/child/image/common_icon_mail_sp.svg);
	}

	.header .header_btn {
		position: relative;
		aspect-ratio: 1/1;
		width: 18vw;
		margin-left: 2.5vw;
		background-color: #2AADA2;
		cursor: pointer;
	}

	.header .header_btn span {
		-webkit-transform: translateX(-50%);
		-webkit-transition: -webkit-transform 0.3s ease 0s;
		position: absolute;
		left: 50%;
		width: 7vw;
		height: 3px;
		transform: translateX(-50%);
		border-radius: 5px;
		background-color: #FFF;
		transition: -webkit-transform 0.3s ease 0s;
		transition: transform 0.3s ease 0s;
		transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
	}

	.header .header_btn span:nth-child(1) {
		top: 4vw;
	}

	.header .header_btn span:nth-child(2) {
		top: 6.2vw;
	}

	.header .header_btn span:nth-child(3) {
		top: 8.4vw;
	}

	.header .header_btn .header_menu {
		-webkit-transform: translateX(-50%);
		-webkit-transition: opacity 0.3s ease 0s;
		position: absolute;
		bottom: 1.5vw;
		left: 50%;
		transform: translateX(-50%);
		color: #FFF;
		font-weight: 400;
		font-size: 3.5vw;
		transition: opacity 0.3s ease 0s;
	}

	.header .header_btn .header_menu+.header_menu {
		opacity: 0;
	}

	.header .header_btn.active span:nth-child(1) {
		-webkit-transform: translateX(-50%) rotate(-135deg);
		top: 6.2vw;
		transform: translateX(-50%) rotate(-135deg);
	}

	.header .header_btn.active span:nth-child(2) {
		display: none;
	}

	.header .header_btn.active span:nth-child(3) {
		-webkit-transform: translateX(-50%) rotate(135deg);
		top: 6.2vw;
		transform: translateX(-50%) rotate(135deg);
	}

	.header .header_btn.active .header_menu {
		opacity: 0;
	}

	.header .header_btn.active .header_menu+.header_menu {
		opacity: 1;
	}

	/* drawer (sp) ------------------------------------------------------------------------------------------------------ */

	.drawer {
		-webkit-transition: opacity 0.3s ease 0s;
		visibility: hidden;
		opacity: 0;
		z-index: 15;
		position: fixed;
		top: 18vw;
		right: 0;
		left: 0;
		height: calc(100dvh - 18vw);
		height: calc(100vh - 18vw);
		padding-bottom: 10vw;
		overflow: scroll;
		background-color: #FDFBF4;
		transition: opacity 0.3s ease 0s;
	}

	.drawer.active {
		visibility: visible;
		opacity: 1;
	}

	.drawer::-webkit-scrollbar {
		display: none;
	}

	.drawer .drawer_items {
		-webkit-column-gap: 10vw;
		-moz-column-gap: 10vw;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		column-gap: 10vw;
		justify-content: center;
		padding-top: 10vw;
	}

	.drawer .drawer_text,
	.drawer .drawer_link {
		display: block;
		color: #333;
	}

	.drawer .drawer_text {
		font-weight: 500;
		font-size: 4vw;
		padding: 1vw 0;
	}

	.drawer .drawer_link {
		font-weight: 400;
		font-size: 3.5vw;
		padding: 1vw 0;
	}

	.drawer .drawer_text+.drawer_link {
		margin-top: 3vw;
	}

	.drawer .drawer_link+.drawer_link {
		margin-top: 1.5vw;
	}

	.drawer .drawer_link+.drawer_text {
		margin-top: 8vw;
	}

	.drawer .drawer_text+.drawer_text {
		margin-top: 3.5vw;
	}

	.drawer .drawer_info {
		margin-top: 15vw;
	}

	.drawer .drawer_logo {
		display: block;
		width: 48vw;
		margin: 0 auto;
	}

	.drawer .drawer_address {
		margin-top: 3vw;
		font-weight: 500;
		font-size: 3.5vw;
		text-align: center;
	}

	.drawer .drawer_tel {
		display: block;
		margin-top: 3vw;
		color: #333;
		font-weight: 500;
		font-size: 7vw;
		line-height: 1;
		text-align: center;
	}

	.drawer .drawer_tel span {
		margin-right: 1vw;
		font-size: 4vw;
	}

	.drawer .drawer_time {
		margin-top: 3vw;
		font-weight: 500;
		font-size: 3.5vw;
		text-align: center;
	}

	.drawer .drawer_fax {
		font-weight: 500;
		font-size: 3.5vw;
		text-align: center;
	}

	.drawer .drawer_fax a {
		color: #333;
	}

	.drawer .drawer_others {
		-webkit-column-gap: 5vw;
		-moz-column-gap: 5vw;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		column-gap: 5vw;
		justify-content: center;
		margin-top: 10vw;
	}

	.drawer .drawer_other {
		color: #333;
		font-size: 3.5vw;
	}

	/* about (sp) ------------------------------------------------------------------------------------------------------ */

	.about {
		z-index: 0;
		position: relative;
		padding-bottom: 10vw;
		background-color: #FFF;
	}

	.about::before {
		z-index: -10;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: calc(100% - 30vw);
		background-color: #FDFBF4;
		content: "";
	}

	.about .about_wrapper {
		grid-template-columns: 1fr;
		margin-right: 0;
		width: 100%;
	}

	.about .about_body {
		padding-right: 0;
	}

	.about .about_heading {
		margin-top: 3vw;
		font-size: 4.5vw;
	}

	.about .about_text {
		margin-top: 5vw;
		font-size: 3.1vw;
		line-height: 1.67;
	}

	.about .about_btn {
		aspect-ratio: 220/50;
		width: 55vw;
		margin: 10vw auto 0;
		font-size: 3.5vw;
	}

	.about .about_img {
		-webkit-box-ordinal-group: 0;
		-ms-flex-order: -1;
		order: -1;
		aspect-ratio: 350/240;
		width: 100%;
		height: auto;
	}

	/* footer (sp) ------------------------------------------------------------------------------------------------------ */

	.footer {
		padding: 18vw 0;
	}

	.footer .footer_wrapper {
		grid-template-columns: 1fr;
	}

	.footer .footer_logo {
		width: 48vw;
		margin: 0 auto;
	}

	.footer .footer_logo:hover {
		opacity: 1;
	}

	.footer .footer_address {
		margin-top: 4vw;
		font-size: 3.5vw;
		text-align: center;
	}

	.footer .footer_map {
		aspect-ratio: 310/160;
		width: 80vw;
		margin: 4vw auto 0;
	}

	.footer .footer_tel {
		display: block;
		margin-top: 4vw;
		font-size: 7vw;
		text-align: center;
	}

	.footer .footer_tel span {
		margin-right: 1vw;
		font-size: 4vw;
	}

	.footer .footer_time {
		margin-top: 1vw;
		font-size: 3.5vw;
		text-align: center;
	}

	.footer .footer_fax {
		font-size: 3.5vw;
		text-align: center;
	}

	.footer .footer_btn {
		aspect-ratio: 350/68;
		width: 100%;
		margin-top: 4vw;
		font-size: 4vw;
	}

	.footer .footer_btn:hover {
		-webkit-box-shadow: 0 4px 0 #047C72;
		-webkit-transform: initial;
		transform: initial;
		box-shadow: 0 4px 0 #047C72;
	}

	.footer .footer_btn::before {
		width: 8vw;
		margin-right: 4vw;
	}

	.footer .footer_btn::after {
		width: 2.5vw;
		margin-top: 0.5vw;
		margin-left: 20vw;
	}

	.footer .footer_area {
		margin-top: 10vw;
		margin-left: 5vw;
		padding: 0 2.5vw;
		font-size: 4vw;
	}

	.footer .footer_message {
		margin-top: -3.5vw;
		padding: 5vw 5vw 4vw;
		font-size: 3vw;
		line-height: 1.5;
	}

	.footer .footer_bottom {
		margin-top: 7vw;
	}

	.footer .footer_copy {
		font-size: 3vw;
		line-height: 1.67;
		text-align: center;
	}

	/* top_fv (sp) -------------------------------------------------------------------------------------------------------------------- */

	.top_fv {
		margin-top: 18vw;
		padding-top: 5vw;
	}

	.top_fv .fv_wrapper {
		display: contents;
	}

	.top_fv .fv_wrapper::before {
		display: none;
	}

	.top_fv .fv_img {
		aspect-ratio: 350/370;
	}

	.top_fv .fv_head {
		display: contents;
	}

	.top_fv .fv_item {
		width: 24vw;
		margin: -19vw -5vw 0 auto;
	}

	.top_fv .fv_lead {
		margin: 2vw 0 0 0;
		font-size: 6vw;
		line-height: 1.2;
	}

	.top_fv .fv_lead>span {
		font-size: 4vw;
	}

	.top_fv .fv_lead>span::after {
		width: 40vw;
		margin-left: 2.5vw;
	}

	.top_fv .fv_lead>span span {
		margin-bottom: 0;
		font-size: 6.5vw;
	}

	.top_fv .fv_heading {
		margin-top: 6vw;
		padding: 0;
		background-color: transparent;
		font-size: 6vw;
		letter-spacing: 0;
		white-space: nowrap;
	}

	.top_fv .fv_heading span:nth-child(1) {
		font-size: 3.5vw;
	}

	.top_fv .fv_heading span:nth-child(2) {
		-webkit-transform: translateY(0.5vw);
		margin-left: 1vw;
		transform: translateY(0.5vw);
		font-size: 11vw;
	}

	.top_fv .fv_heading span:nth-child(3) {
		-webkit-transform: translateY(0);
		margin-left: 0.5vw;
		transform: translateY(0);
		font-size: 10vw;
	}

	.top_fv .fv_text {
		margin-top: 2.5vw;
		padding-left: 0;
		font-size: 3.3vw;
		line-height: 1.62;
		letter-spacing: 0;
	}

	.top_fv .fv_btn {
		aspect-ratio: 350/68;
		width: 100%;
		margin-top: 5vw;
		font-size: 4vw;
		margin-left: 0;
	}

	.top_fv .fv_btn:hover {
		-webkit-box-shadow: 0 4px 0 #047C72;
		-webkit-transform: initial;
		transform: initial;
		box-shadow: 0 4px 0 #047C72;
	}

	.top_fv .fv_btn::before {
		width: 8vw;
		margin-right: 4vw;
	}

	.top_fv .fv_btn::after {
		width: 2.5vw;
		margin-top: 0.5vw;
		margin-left: 20vw;
	}

	/* top_banner (sp) -------------------------------------------------------------------------------------------------------------------- */

	.top_banner {
		padding-top: 15vw;
	}

	.top_banner::after {
		top: -112vw;
		aspect-ratio: 195/619;
		width: 49vw;
	}

	.top_banner .banner_img {
		aspect-ratio: 350/220;
	}

	.top_banner .banner_img:hover {
		opacity: 1;
	}

	/* top_reform (sp) -------------------------------------------------------------------------------------------------------------------- */

	.top_reform {
		padding: 15vw 0;
	}

	.top_reform .reform_heading_en {
		font-size: 8vw;
		text-align: left;
	}

	.top_reform .reform_heading_ja {
		margin-top: 1vw;
		font-size: 4vw;
		text-align: left;
	}

	.top_reform .reform_swiper {
		margin-top: 5vw;
		padding-bottom: 10vw;
	}

	.top_reform .reform_item+.reform_item {
		margin-top: 5vw;
	}

	.top_reform .reform_item {
		padding-bottom: 5vw;
		border-bottom: 1px solid #333;
	}

	.top_reform .reform_item:last-child {
		border-bottom: none;
	}

	.top_reform .reform_img {
		aspect-ratio: 350/170;
	}

	.top_reform .reform_body {
		position: relative;
	}

	.top_reform .reform_head {
		top: -45vw;
		right: 2vw;
		font-size: 8.5vw;
	}

	.top_reform .reform_title {
		-webkit-box-align: center;
		-ms-flex-align: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		align-items: center;
		margin-top: 3vw;
		font-size: 4.5vw;
	}

	.top_reform .reform_title::after {
		-webkit-transform: rotate(-45deg);
		aspect-ratio: 1/1;
		width: 2.5vw;
		margin: 0.5vw 3vw 0 auto;
		transform: rotate(-45deg);
		border: 3px solid #333;
		border-top: none;
		border-left: none;
		content: "";
	}

	.top_reform .reform_text {
		margin-top: 3vw;
		font-size: 3.3vw;
		line-height: 1.54;
		letter-spacing: 0;
	}

	.top_reform .reform_item:hover .reform_img img {
		-webkit-transform: initial;
		transform: initial;
	}

	.top_reform .swiper-pagination {
		-webkit-column-gap: 1.5vw;
		-moz-column-gap: 1.5vw;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		bottom: 0;
		column-gap: 1.5vw;
		justify-content: center;
	}

	.top_reform .swiper-pagination-bullet {
		aspect-ratio: 60/6;
		width: 15vw;
		margin: 0 !important;
		border-radius: 0;
		background-color: #E3E3E3;
		opacity: 1;
	}

	.top_reform .swiper-pagination-bullet.swiper-pagination-bullet-active {
		background-color: #2AADA2;
	}

	/* top_order (sp) -------------------------------------------------------------------------------------------------------------------- */

	.top_order {
		padding: 12vw 0 10vw;
	}

	.top_order::after,
	.top_order::before {
		display: none;
	}

	.top_order .order_heading {
		font-size: 5vw;
		text-align: center;
	}

	.top_order .order_items {
		grid-template-columns: 1fr;
		row-gap: 4vw;
		margin-top: 5vw;
	}

	.top_order .order_item {
		grid-template-columns: 1fr;
		overflow: hidden;
		border-radius: 10px;
		color: #333;
	}

	.top_order .order_body {
		padding: 4vw 4vw 5vw;
	}

	.top_order .order_lead {
		-webkit-box-align: center;
		-ms-flex-align: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		align-items: center;
		font-size: 4vw;
	}

	.top_order .order_lead::before {
		aspect-ratio: 1/1;
		width: 15vw;
		margin-right: 4.5vw;
		background-size: contain;
		background-repeat: no-repeat;
		content: "";
	}

	.top_order .order_lead span {
		-webkit-transform: translateY(0.5vw);
		margin-left: 2vw;
		transform: translateY(0.5vw);
		font-size: 2.5vw;
	}

	.top_order .order_item:nth-child(1) .order_lead::before {
		background-image: url(/wp-content/themes/child/image/top_order_img1_sp.webp);
	}

	.top_order .order_item:nth-child(2) .order_lead::before {
		background-image: url(/wp-content/themes/child/image/top_order_img2_sp.webp);
	}

	.top_order .order_text {
		margin-top: 4vw;
		font-size: 3.3vw;
		line-height: 1.54;
		letter-spacing: 0;
	}

	.top_order .order_item:hover .order_img img {
		-webkit-transform: initial;
		transform: initial;
	}

	/* top_works (sp) -------------------------------------------------------------------------------------------------------------------- */

	.top_works {
		padding: 14vw 0 28vw;
	}

	.top_works .works_heading {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.top_works .works_heading_en {
		font-size: 8vw;
		line-height: 1;
	}

	.top_works .works_heading_ja {
		margin-top: 2vw;
		margin-left: 0;
		font-size: 4vw;
	}

	.top_works .works_swiper {
		margin-top: 5vw;
	}

	.top_works .works_img {
		aspect-ratio: 280/160;
		border-radius: 6px;
	}

	.top_works .works_title {
		margin-top: 3vw;
		font-size: 3.8vw;
		line-height: 1.47;
		letter-spacing: 0.03em;
	}

	.top_works .works_text {
		margin-top: 3vw;
		font-size: 3.3vw;
		line-height: 1.31;
		letter-spacing: 0;
	}

	.top_works .works_time {
		margin-top: 5vw;
		font-size: 3.3vw;
	}

	.top_works .works_item:hover .works_img img {
		-webkit-transform: initial;
		transform: initial;
	}

	.top_works .works_item:hover .works_title {
		color: #333;
	}

	.top_works .works_btn {
		margin: 10vw auto 0;
	}

	/* top_member (sp) -------------------------------------------------------------------------------------------------------------------- */

	.top_member {
		padding: 0 0 14vw;
	}

	.top_member .member_heading {
		-webkit-transform: translateY(-16vw);
		transform: translateY(-16vw);
		font-size: 17vw;
	}

	.top_member .member_items {
		-webkit-column-gap: 2.5vw;
		-moz-column-gap: 2.5vw;
		grid-template-columns: 42vw 42vw;
		column-gap: 2.5vw;
		row-gap: 5vw;
		margin-top: -15vw;
	}

	.top_member .member_img {
		aspect-ratio: 170/220;
		overflow: hidden;
		border-radius: 6px;
	}

	.top_member .member_name {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		-webkit-box-align: start;
		-ms-flex-align: start;
		flex-direction: column-reverse;
		align-items: flex-start;
		margin-top: 2vw;
	}

	.top_member .member_name_ja {
		font-size: 4.5vw;
	}

	.top_member .member_name_en {
		margin-left: 0;
		font-size: 3vw;
	}

	.top_member .member_statas {
		margin-top: 3vw;
		font-size: 3vw;
	}

	.top_member .member_btn {
		margin: 7vw auto 0;
	}

	/* top_flow (sp) -------------------------------------------------------------------------------------------------------------------- */

	.top_flow {
		padding: 15vw 0 20vw;
	}

	.top_flow .flow_heading_en {
		font-size: 8vw;
	}

	.top_flow .flow_heading_ja {
		margin-top: 2vw;
		font-size: 4vw;
	}

	.top_flow .flow_items {
		display: block;
		margin-top: 5vw;
	}

	.top_flow .flow_items::after {
		-webkit-transform: translate(-50%, -50%);
		top: 50%;
		left: 50%;
		width: 2px;
		height: calc(100% - 10px);
		transform: translate(-50%, -50%);
	}

	.top_flow .flow_item {
		-webkit-box-align: center;
		-ms-flex-align: center;
		display: grid;
		z-index: 10;
		position: relative;
		grid-template-columns: 19vw 1fr;
		align-items: center;
		aspect-ratio: 350/80;
		width: 100%;
		padding-left: 5vw;
		border: 2px solid #333;
		border-radius: 6px;
		background-color: #FDFBF5;
	}

	.top_flow .flow_item.flow_item {
		margin-top: 4vw;
	}

	.top_flow .flow_head {
		display: contents;
	}

	.top_flow .flow_head::before {
		display: none;
	}

	.top_flow .flow_icon {
		-webkit-transform: initial;
		position: static;
		top: auto;
		left: auto;
		transform: initial;
	}

	.top_flow .flow_item:nth-child(1) .flow_icon {
		width: 10vw;
	}

	.top_flow .flow_item:nth-child(2) .flow_icon {
		aspect-ratio: 26/34;
		width: 10vw;
	}

	.top_flow .flow_item:nth-child(3) .flow_icon {
		width: 11vw;
	}

	.top_flow .flow_item:nth-child(4) .flow_icon {
		width: 12vw;
	}

	.top_flow .flow_item:nth-child(5) .flow_icon {
		width: 11vw;
	}

	.top_flow .flow_item:nth-child(6) .flow_icon {
		width: 12vw;
	}

	.top_flow .flow_body {
		-webkit-box-align: center;
		-ms-flex-align: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		align-items: center;
	}

	.top_flow .flow_number {
		margin-top: 0;
		font-size: 5.5vw;
		text-align: center;
	}

	.top_flow .flow_title {
		min-height: initial;
		margin-left: 5vw;
		font-size: 4vw;
	}

	.top_flow .flow_btn {
		margin: 10vw auto 0;
	}

	/* top_faq (sp) -------------------------------------------------------------------------------------------------------------------- */

	.top_faq {
		padding: 15vw 0;
	}

	.top_faq .faq_heading_en {
		font-size: 8vw;
	}

	.top_faq .faq_heading_ja {
		margin-top: 2vw;
		font-size: 4vw;
	}

	.top_faq .faq_items {
		margin-top: 10vw;
	}

	.top_faq .faq_item:not(:first-child) {
		margin-top: 3vw;
	}

	.top_faq .faq_item.is_open {
		margin-top: 10vw;
	}

	.top_faq .faq_item.is_open+.faq_item {
		margin-top: 10vw;
	}

	.top_faq .faq_item dt,
	.top_faq .faq_wrapper {
		-webkit-column-gap: 5vw;
		-moz-column-gap: 5vw;
		column-gap: 5vw;
		padding-left: 0;
	}

	.top_faq .faq_item dt span,
	.top_faq .faq_wrapper span {
		margin-top: 0;
		font-size: 7vw;
		line-height: 1;
	}

	.top_faq .faq_item dt {
		padding-right: 10vw;
		padding-bottom: 3vw;
	}

	.top_faq .faq_item dt::after {
		top: 1vw;
		right: 0;
		width: 4vw;
	}

	.top_faq .faq_q {
		font-size: 3.5vw;
		line-height: 1.8;
		letter-spacing: 0.01em;
	}

	.top_faq .faq_item dd {
		padding-top: 3vw;
	}

	.top_faq .faq_a {
		padding-right: 0;
		font-size: 3vw;
		line-height: 1.5;
		letter-spacing: 0.03em;
	}

	.top_faq .faq_btn {
		margin: 12vw auto 0;
	}

	/* top_archive (sp) -------------------------------------------------------------------------------------------------------------------- */

	.top_archive {
		padding: 15vw 0 20vw;
	}

	.top_archive .archive_wrapper {
		display: grid;
		grid-template-columns: 1fr;
	}

	.top_archive .archive_outer {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}

	.top_archive .archive_heading {
		-webkit-box-align: start;
		-ms-flex-align: start;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		align-items: flex-start;
	}

	.top_archive .archive_heading_en {
		font-size: 8vw;
	}

	.top_archive .archive_heading_ja {
		margin-top: 2vw;
		margin-left: 0;
		font-size: 4vw;
	}

	.top_archive .archive_btn {
		aspect-ratio: 120/38;
		width: 30vw;
		font-size: 3.3vw;
	}

	.top_archive .archive_btn::after {
		display: none;
	}

	.top_archive .archive_btn:hover {
		background-color: #333;
	}

	.top_archive .archive_items {
		margin-top: 7vw;
	}

	.top_archive .archive_time {
		font-size: 3vw;
	}

	.top_archive .archive_title {
		-webkit-line-clamp: 2;
		font-size: 3.8vw;
	}

	.top_archive .archive_text {
		margin-top: 2.5vw;
		padding-top: 2.5vw;
		font-size: 3vw;
		line-height: 1.5;
	}

	.top_archive .archive_item:hover .archive_title {
		color: #333;
	}

	.top_archive .news {
		padding-bottom: 15vw;
		border-bottom: 1px solid #D3D3D3;
	}

	.top_archive .news .archive_item+.archive_item {
		margin-top: 3vw;
	}

	.top_archive .news .archive_title {
		margin-top: 1.5vw;
	}

	.top_archive .report {
		padding-top: 15vw;
	}

	.top_archive .report .archive_item {
		-webkit-column-gap: 3.5vw;
		-moz-column-gap: 3.5vw;
		grid-template-columns: 28vw 1fr;
		column-gap: 3.5vw;
		padding: 0;
		border-bottom: none;
	}

	.top_archive .report .archive_item:hover .archive_img img {
		-webkit-transform: initial;
		transform: initial;
	}

	.top_archive .report .archive_item:not(:first-child) {
		margin-top: 5vw;
	}

	.top_archive .report .archive_title {
		font-size: 3.3vw;
		line-height: 1.46;
	}

	.top_archive .report .archive_text {
		-webkit-line-clamp: 2;
		margin-top: 1vw;
		padding-top: 1vw;
	}

	/* page_reform (sp) ------------------------------------------------------------------------------------------------------ */

	#page_reform .reform {
		padding: 0 0 10vw 0;
	}

	#page_reform .reform .reform_contents {
		display: grid;
		grid-template-columns: 1fr;
		padding: 10vw 0;
		border-bottom: 1px solid #777;
	}

	#page_reform .reform .reform_contents:last-child {
		border-bottom: none;
	}

	#page_reform .reform .reform_contents:nth-child(2n) {
		grid-template-columns: 1fr;
	}

	#page_reform .reform .reform_contents:nth-child(2n) .reform_img {
		-webkit-box-ordinal-group: 0;
		-ms-flex-order: -1;
		order: -1;
	}

	#page_reform .reform .reform_img {
		aspect-ratio: 350/180;
	}

	#page_reform .reform .reform_body {
		padding-bottom: 0;
	}

	#page_reform .reform .reform_heading {
		margin-top: 4vw;
		font-size: 4.5vw;
	}

	#page_reform .reform .reform_text {
		margin-top: 4vw;
		font-size: 3.3vw;
		line-height: 1.38;
	}

	#page_reform .reform .reform_btn {
		aspect-ratio: 280/48;
		width: 70vw;
		margin: 7.5vw auto 0;
		font-size: 3.5vw;
	}

	#page_reform .reform .reform_btn:hover {
		background-color: #333;
	}

	/* page_order (sp) ------------------------------------------------------------------------------------------------------ */

	#page_order .custom {
		padding: 15vw 0 20vw;
	}

	#page_order .custom .custom_heading {
		font-size: 6vw;
	}

	#page_order .custom .custom_text {
		margin-top: 4vw;
		font-size: 3.5vw;
	}

	#page_order .custom .custom_img {
		aspect-ratio: 3/2;
		margin-top: 5vw;
		border-radius: 10px;
	}

	#page_order .custom .custom_items {
		margin-top: 15vw;
	}

	#page_order .custom .custom_item.item {
		grid-template-columns: 1fr;
	}

	#page_order .custom .custom_item.item:not(:first-child) {
		margin-top: 12vw;
	}

	#page_order .custom .custom_item.item:nth-child(2n) {
		grid-template-columns: 1fr;
	}

	#page_order .custom .custom_item.item:nth-child(2n) .item_body {
		-webkit-box-ordinal-group: 0;
		-ms-flex-order: -1;
		order: -1;
	}

	#page_order .custom .custom_item.item .item_body {
		padding-top: 0;
	}

	#page_order .custom .custom_item.item .item_heading {
		font-size: 5vw;
	}

	#page_order .custom .custom_item.item .item_text {
		margin-top: 4vw;
		font-size: 3.3vw;
	}

	#page_order .custom .custom_item.item .item_text+.item_text {
		margin-top: 3vw;
	}

	#page_order .custom .custom_item.item .item_img {
		aspect-ratio: 5/4;
		margin-top: 5vw;
	}

	#page_order .order {
		padding: 12vw 0 15vw;
	}

	#page_order .order .order_heading {
		font-size: 5vw;
		text-align: center;
	}

	#page_order .order .order_items {
		grid-template-columns: 1fr;
		row-gap: 4vw;
		margin-top: 6vw;
	}

	#page_order .order .order_item {
		grid-template-columns: 1fr;
		overflow: hidden;
		border-radius: 10px;
		color: #333;
	}

	#page_order .order .order_body {
		padding: 4vw 4vw 5vw;
	}

	#page_order .order .order_lead {
		-webkit-box-align: center;
		-ms-flex-align: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		align-items: center;
		font-size: 4vw;
	}

	#page_order .order .order_lead::before {
		aspect-ratio: 1/1;
		width: 15vw;
		margin-right: 4.5vw;
		background-size: contain;
		background-repeat: no-repeat;
		content: "";
	}

	#page_order .order .order_lead span {
		-webkit-transform: translateY(0.5vw);
		margin-left: 2vw;
		transform: translateY(0.5vw);
		font-size: 2.5vw;
	}

	#page_order .order .order_item:nth-child(1) .order_lead::before {
		background-image: url(/wp-content/themes/child/image/top_order_img1_sp.webp);
	}

	#page_order .order .order_item:nth-child(2) .order_lead::before {
		background-image: url(/wp-content/themes/child/image/top_order_img2_sp.webp);
	}

	#page_order .order .order_text {
		margin-top: 4vw;
		font-size: 3.3vw;
		line-height: 1.54;
		letter-spacing: 0;
	}

	#page_order .order .order_item:hover .order_img img {
		-webkit-transform: initial;
		transform: initial;
	}

	/* page_antioxidant (sp) ------------------------------------------------------------------------------------------------------ */

	#page_antioxidant .antioxidant {
		padding: 15vw 0;
	}

	#page_antioxidant .antioxidant .antioxidant_contents {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		-webkit-box-align: start;
		-ms-flex-align: start;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	#page_antioxidant .antioxidant .antioxidant_contents+.antioxidant_contents {
		margin-top: 12vw;
	}

	#page_antioxidant .antioxidant .antioxidant_contents:nth-child(2n) {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		flex-direction: column;
	}

	#page_antioxidant .antioxidant .antioxidant_contents:nth-child(2n) .antioxidant_img {
		-webkit-box-ordinal-group: 1;
		-ms-flex-order: 0;
		order: 0;
	}

	#page_antioxidant .antioxidant .antioxidant_body {
		display: contents;
	}

	#page_antioxidant .antioxidant .antioxidant_img {
		margin-top: 4vw;
		aspect-ratio: 5/3;
	}

	#page_antioxidant .antioxidant .antioxidant_heading {
		width: 100%;
		font-size: 5vw;
		text-align: center;
		margin-top: 4vw;
	}

	#page_antioxidant .antioxidant .antioxidant_text {
		margin-top: 4vw;
		font-size: 3.5vw;
	}

	#page_antioxidant .antioxidant .antioxidant_text+.antioxidant_text {
		margin-top: 3vw;
	}

	#page_antioxidant .merit {
		padding: 15vw 0;
	}

	#page_antioxidant .merit .merit_heading {
		font-size: 5vw;
	}

	#page_antioxidant .merit .merit_message {
		margin-top: 4vw;
		font-size: 3.5vw;
		text-align: left;
	}

	#page_antioxidant .merit .merit_img {
		margin: 6vw auto 0;
	}

	#page_antioxidant .merit .merit_items {
		margin-top: 8vw;
	}

	#page_antioxidant .merit .merit_item+.merit_item {
		margin-top: 5vw;
	}

	#page_antioxidant .merit .merit_lead {
		font-size: 4.5vw;
	}

	#page_antioxidant .merit .merit_text {
		font-size: 3.5vw;
	}

	/* page_magic (sp) ------------------------------------------------------------------------------------------------------ */

	#page_magic .magic {
		padding: 15vw 0;
	}

	#page_magic .magic:last-child {
		padding: 5vw 0 30vw;
	}

	#page_magic .magic:last-child .magic_heading {
		font-size: 4.2vw;
	}

	#page_magic .magic .magic_contents.mt {
		margin-top: 5vw;
	}

	#page_magic .magic .magic_contents+.magic_contents {
		margin-top: 18vw;
	}

	#page_magic .magic .magic_heading {
		font-size: 5vw;
	}

	#page_magic .magic .magic_heading::before {
		width: 1vw;
		height: 6vw;
		margin-right: 2vw;
	}

	#page_magic .magic .magic_wrapper {
		grid-template-columns: 1fr;
		margin-top: 5vw;
	}

	#page_magic .magic .magic_wrapper.reverse {
		grid-template-columns: 1fr;
	}

	#page_magic .magic .magic_wrapper.reverse .magic_img {
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		order: 1;
	}

	#page_magic .magic .magic_title {
		margin-top: 5vw;
		font-size: 3.5vw;
		text-align: center;
		padding-left: 0;
		line-height: 1.7;
	}

	#page_magic .magic .magic_img {
		width: 80%;
		margin: 5vw auto 0;
	}

	#page_magic .magic .magic_lead {
		font-size: 4.5vw;
	}

	#page_magic .magic .magic_text {
		margin-top: 4vw;
		font-size: 3.5vw;
	}

	#page_magic .magic .magic_figure {
		max-width: initial;
		margin: 5vw auto 0;
	}

	#page_magic .magic .magic_figure.size {
		max-width: initial;
	}

	#page_magic .magic .magic_message {
		font-size: 3.5vw;
	}

	#page_magic .magic .magic_message+.magic_message {
		margin-top: 4vw;
	}

	#page_magic .magic .magic_table {
		margin-top: 10vw;
	}

	#page_magic .magic .magic_table+.magic_table+.magic_table {
		margin-top: 3vw;
	}

	#page_magic .magic .magic_table table th,
	#page_magic .magic .magic_table table td {
		height: 8vw;
		font-size: 3.5vw;
	}

	#page_magic .magic .magic_table.heat_cut table tbody th {
		width: 15vw;
	}

	#page_magic .magic .magic_table.heat_cut table tbody td:nth-child(3) {
		width: initial;
	}

	#page_magic .magic .magic_table.heat_cut table tbody td:nth-child(5),
	#page_magic .magic .magic_table.heat_cut table tbody td:nth-child(6) {
		width: initial;
	}

	#page_magic .magic .magic_table.heat_cut.n1 table tbody td:nth-child(3) {
		width: 40%;
	}

	#page_magic .magic .magic_table.temperature {
		margin: 5vw auto 0;
	}

	#page_magic .magic .magic_youtube {
		max-width: initial;
		margin: 5vw auto 0;
	}

	/* page_works (pc) -------------------------------------------------------------------------------------------------------------------- */

	#page_works .links {
		padding-top: 15vw;
	}

	#page_works .links .links_items {
		column-gap: 3vw;
		row-gap: 3vw;
		justify-content: flex-start;
	}

	#page_works .links .links_item {
		padding: 1vw 3vw;
		width: calc(50% - 1.5vw);
		display: flex;
		justify-content: center;
		font-size: 3.8vw;
	}

	#page_works .links .links_item:hover {
		color: #2AADA2;
		background-color: transparent;
	}

	#page_works .works {
		padding: 15vw 0;
	}

	#page_works .works .works_items {
		grid-template-columns: 1fr;
		row-gap: 10vw;
	}

	#page_works .works .works_title {
		margin-top: 4vw;
		font-size: 4vw;
	}

	#page_works .works .works_text {
		margin-top: 3vw;
		font-size: 3.5vw;
	}

	#page_works .works .works_category {
		-webkit-column-gap: 1vw;
		-moz-column-gap: 1vw;
		column-gap: 1vw;
		margin-top: 5vw;
	}

	#page_works .works .works_category span {
		padding: 0 2vw;
		font-size: 3.5vw;
	}

	#page_works .works .works_time {
		margin-top: 1vw;
		font-size: 3.5vw;
	}

	#page_works .works .works_item:hover .works_img img {
		-webkit-transform: initial;
		transform: initial;
	}

	#page_works .works .works_item:hover .works_title {
		color: #333;
	}

	/* page_faq (sp) -------------------------------------------------------------------------------------------------------------------- */

	#page_faq .faq {
		padding: 5vw 0 15vw;
	}

	#page_faq .faq .faq_items {
		margin-top: 10vw;
	}

	#page_faq .faq .faq_item:not(:first-child) {
		margin-top: 3vw;
	}

	#page_faq .faq .faq_item.is_open {
		margin-top: 10vw;
	}

	#page_faq .faq .faq_item.is_open+.faq_item {
		margin-top: 10vw;
	}

	#page_faq .faq .faq_item dt,
	#page_faq .faq .faq_wrapper {
		-webkit-column-gap: 5vw;
		-moz-column-gap: 5vw;
		column-gap: 5vw;
		padding-left: 0;
	}

	#page_faq .faq .faq_item dt span,
	#page_faq .faq .faq_wrapper span {
		margin-top: 0;
		font-size: 7vw;
		line-height: 1;
	}

	#page_faq .faq .faq_item dt {
		padding-right: 10vw;
		padding-bottom: 3vw;
	}

	#page_faq .faq .faq_item dt::after {
		top: 1vw;
		right: 0;
		width: 4vw;
	}

	#page_faq .faq .faq_q {
		font-size: 3.5vw;
		line-height: 1.8;
		letter-spacing: 0.01em;
	}

	#page_faq .faq .faq_item dd {
		padding-top: 3vw;
	}

	#page_faq .faq .faq_a {
		padding-right: 0;
		font-size: 3vw;
		line-height: 1.5;
		letter-spacing: 0.03em;
	}

	/* page_flow (sp) -------------------------------------------------------------------------------------------------------------------- */

	#page_flow .flow {
		padding: 15vw 0;
	}

	#page_flow .flow .flow_items::after {
		display: none;
	}

	#page_flow .flow .flow_item {
		grid-template-columns: 1fr;
	}

	#page_flow .flow .flow_item+.flow_item {
		margin-top: 10vw;
	}

	#page_flow .flow .flow_head {
		grid-template-columns: 12vw 15vw 1fr;
		aspect-ratio: 350/70;
		width: 100%;
		padding-left: 5vw;
	}

	#page_flow .flow .flow_item:nth-child(1) .flow_icon {
		width: 10vw;
	}

	#page_flow .flow .flow_item:nth-child(2) .flow_icon {
		aspect-ratio: 26/34;
		width: 10vw;
	}

	#page_flow .flow .flow_item:nth-child(3) .flow_icon {
		width: 11vw;
	}

	#page_flow .flow .flow_item:nth-child(4) .flow_icon {
		width: 12vw;
	}

	#page_flow .flow .flow_item:nth-child(5) .flow_icon {
		width: 11vw;
	}

	#page_flow .flow .flow_item:nth-child(6) .flow_icon {
		width: 12vw;
	}

	#page_flow .flow .flow_number {
		color: #2AADA2;
		font-weight: 700;
		font-size: 24px;
		text-align: center;
	}

	#page_flow .flow .flow_title {
		font-size: 4vw;
	}

	#page_flow .flow .flow_text {
		margin-top: 3vw;
		font-size: 3.5vw;
	}

	/* page_staff (sp) -------------------------------------------------------------------------------------------------------------------- */

	#page_staff .staff {
		padding: 8vw 0 12vw;
	}

	#page_staff .staff .staff_list {
		padding: 10vw 0;
	}

	#page_staff .staff .staff_list:nth-child(2n) .staff_wrapper {
		grid-template-columns: 1fr;
	}

	#page_staff .staff .staff_list:nth-child(2n) .staff_img {
		-webkit-box-ordinal-group: 0;
		-ms-flex-order: -1;
		order: -1;
	}

	#page_staff .staff .staff_wrapper {
		grid-template-columns: 1fr;
		margin-top: 3vw;
	}

	#page_staff .staff .staff_name_ja {
		font-size: 6vw;
	}

	#page_staff .staff .staff_name_en {
		margin-top: 1vw;
		margin-left: 2vw;
		font-size: 4vw;
	}

	#page_staff .staff .staff_outer {
		-webkit-column-gap: 2vw;
		-moz-column-gap: 2vw;
		column-gap: 2vw;
	}

	#page_staff .staff .staff_statas {
		padding: 0 2vw;
		border-radius: 5px;
		font-size: 3.5vw;
	}

	#page_staff .staff .staff_img {
		margin: 0 auto;
		aspect-ratio: 5/4;
	}

	#page_staff .staff .staff_img img {
		object-position: top center;
	}

	#page_staff .staff .staff_body {
		margin-top: 4vw;
	}

	#page_staff .staff .staff_item dt {
		font-size: 4vw;
	}

	#page_staff .staff .staff_item dd {
		font-size: 3.5vw;
	}

	#page_staff .staff .staff_item+.staff_item {
		margin-top: 3vw;
	}

	/* page_company (sp) -------------------------------------------------------------------------------------------------------------------- */

	#page_company {
		padding: 15vw 0;
	}

	#page_company .company .company_item {
		grid-template-columns: 1fr;
		padding: 5vw 2vw;
	}

	#page_company .company .company_item>dt {
		padding-left: 0;
		color: #2AADA2;
		font-size: 4vw;
	}

	#page_company .company .company_item>dd {
		margin-top: 1vw;
		font-size: 3.5vw;
	}

	#page_company .company .company_skills {
		grid-template-columns: 70vw 1fr;
		padding: 2vw;
	}

	#page_company .company .company_skills>dt {
		font-size: 3.5vw;
	}

	#page_company .company .company_skills>dd {
		font-size: 3.5vw;
	}

	#page_company .company .company_map {
		margin: 12vw auto 0;
	}

	/* page_sitemap (sp) ------------------------------------------------------------------------------------------------------ */

	#page_sitemap {
		padding: 15vw 0;
	}

	/* page_error (sp) ------------------------------------------------------------------------------------------------------ */

	#page_error {
		padding: 15vw 0;
	}

	#page_error .error_text {
		font-size: 4vw;
	}

	#page_error .error_btn {
		margin: 8vw auto 0;
	}

	.top_reform .column {
		display: block;
	}

	.top_reform  .scroll-hint.is-right-scrollable{
		overflow: initial !important;
		background: none;
	}

	.top_reform .reform_text {
		min-height: 60px;
	}

	.top_reform_inner {
		position: relative;
	}

	.top_reform .js_customer_slide .slick-slide {
		margin: 0 5px;
	}

	.top_reform .js_customer_slide .slick-list {
		margin: 0 -5px;
	}

	.top_reform .js_custom_prev,
	.top_reform .js_custom_next {
		border-radius: 50%;
		background-color: #2AADA2;
		width: 20px;
		aspect-ratio: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		position: absolute;
		top: 22%;
		transform: translateY(-50%);
		z-index: 4;
	}

	.top_reform .js_custom_prev {
		left: -3%;
	}

	.top_reform .js_custom_next {
		right: -3%;
	}

	.top_reform .js_custom_prev svg,
	.top_reform .js_custom_next svg {
		width: 80%;
		aspect-ratio: 1;
		stroke: #fff;
	}

	.top_reform .slick-dots {
		bottom: -8%;
	}

	.top_reform .slick-dots li button::before {
		display: none;
	}

	.top_reform .slick-dots li button {
		width: 25px;
		height: 6px;
		background-color: #ccc;
		padding: 0;
		border: none;
	}

	.top_reform .slick-dots li.slick-active button {
		background-color: #2AADA2;
	}

	.top_reform .reform_item:hover .reform_link {
		color: #333;
	}

	.top_reform .reform_item:hover .reform_link::after {
		-webkit-transform: scale(0);
		transform: scale(0);
	}

	.contact_note_text {
    font-size: 3.6vw;
    margin: 0.8em 0 4em;
}
}

@media screen and (min-width: 751px) {

	.pc_tel {
		pointer-events: none;
	}

}

@-webkit-keyframes animation_rotate {

	0% {
		-webkit-transform: translate(-50%, -50%) rotate(0);
		transform: translate(-50%, -50%) rotate(0);
	}

	100% {
		-webkit-transform: translate(-50%, -50%) rotate(360deg);
		transform: translate(-50%, -50%) rotate(360deg);
	}

}

@keyframes animation_rotate {

	0% {
		-webkit-transform: translate(-50%, -50%) rotate(0);
		transform: translate(-50%, -50%) rotate(0);
	}

	100% {
		-webkit-transform: translate(-50%, -50%) rotate(360deg);
		transform: translate(-50%, -50%) rotate(360deg);
	}

}