/*!
Theme Name: 株式会社ペン益塗装店 個人向けウェブサイト
Theme URI: https://penmasu.com
Author: 株式会社ペン益塗装店 Web制作チーム
Author URI: https://www.penmasu.co.jp
Description: 三重県桑名市を中心とした個人向け塗装サービスサイト
Version: html5, CSS3, destyle v4.0.1 
*/

/*--------------------------------------------------------------
株式会社ペン益塗装店（個人住宅用サイト）
Site URl:https://www.penmasu.com
--------------------------------------------------------------*/
/* font */
@font-face {
    font-family: 'Shippori Mincho';
    src: url('../fonts/ShipporiMincho-Regular.woff') format('woff');
    font-weight: 400; 
}
@font-face {
    font-family: 'Shippori Mincho';
    src: url('../fonts/ShipporiMincho-Medium.woff') format('woff');
    font-weight:500; 
}
@font-face {
    font-family: 'Shippori Mincho';
    src: url('../fonts/ShipporiMincho-SemiBold.woff') format('woff');
    font-weight: 600; 
}
.font-shippori {
	font-family: "Shippori Mincho", serif;
}
.font-serif {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/* Basic */
html { 
	font-size: 62.5%;
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
 }
body {
	background: url(assets/images/background01.jpg);
	color: #221815;
	font-family: "Helvetica Neue",Arial,
				"Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", 
				"メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.06rem;
	line-height: 150%;
	text-align: justify;
	margin: 0;
}
/* Color & Background */
:root {
    --primary-color: #1D4366;
    --secondary-color: #a72126;
	--secondary-color-bright: #d21e24;
	--sub-color: #0d3988;
    --line-color: #06c755;
	--text-link-color: #0068b7;
	--text-link-color-reset: #221815;
	--main-border-color: #221815;
	--border-color: #dcdddd;
	--primary-background: url(assets/images/background_02.jpg);
}

/* PC
--------------------------------------------- */
/* Common
--------------------------------------------- */
.pc-only { display: block !important; }
.sp-only { display: none !important; }
p {
	margin-bottom: 10px;
}
a,
a:hover,
a:visited {
	color: var(--text-link-color-reset);
	text-decoration: var(--text-link-color-reset);
}
a img:hover {
	opacity: 0.8;
}
a[href*="tel:"] {
	pointer-events: none;
}
ol {
	margin: 0;
	padding: 0;
}
ul {
	margin: 0;
	padding: 0;
}
li {
	list-style: none;
}
/* Layout */
.l-wrap {
	overflow: hidden;
	width: 100%;
}
.l-container {
	width:1200px;
    margin: 0 auto;
	padding: 0;
}
.l-flex {
    display: flex;
}
.l-background-line {
	position: relative;
}
.l-background-line::before {
	position: absolute;
	content: "";
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 600px;
	height: 500px;
	background: url(assets/images/background_wh-line.svg) no-repeat;
	background-position: center top;
	background-size: contain;
	z-index: -1;
}
/* Link Button */
.button-link {
	position: relative;
	display: inline-block;
	min-width: 250px;
	max-width: 80%;
	background: transparent;
	border: 1px solid var(--primary-color);
	color: var(--primary-color);
	font-weight: 600;
	text-align: center;
	padding: 15px 40px;
	overflow: hidden;
	transition: color 0.3s ease;
}
.button-link::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background-color: var(--primary-color);
	transform: translateX(-100%);
	transition: transform 0.2s ease;
	z-index: 1;
}
.button-link::after {
	content: '';
	position: absolute;
	top: calc(50% - 4px);
	right: 10%;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 8px solid var(--primary-color);
	border-right: 0;
	transition: 0.2s;
	z-index: 2;
}
.button-link:hover::before {
	transform: translateX(0);
}
.button-link:hover::after {
	border-left-color: #fff;
	right: 8%;
}
.button-link span {
	position: relative;
	z-index: 2;
	transition: color 0.3s ease;
}
.button-link:hover span {
	color: #fff;
}
/* Page Nav */
.page-nav  {
	padding: 100px 0 60px;
}
.page-nav__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.page-nav__list li {
	position: relative;
	margin: 0 2rem;
	transition: .5s;
}
.page-nav__list li a {
	letter-spacing: 1px;
}
.page-nav__list li::before {
	position: absolute;
	content: "";
	top: calc(50% - 0.8rem);
	left: -2rem;
	width: 1px;
	height: 60%;
	background: var(--main-border-color);
}
.page-nav__list li:first-child::before{
	display: none;
}
.page-nav__list li::after {
	position: absolute;
	content: "";
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: var(--main-border-color);
	opacity: 0;
	transition: opacity 0.3s ease;
}
.page-nav__list li:hover::after {
	opacity: 1;
}

/* Title
--------------------------------------------- */
/* common-title */
/* nomal-main */
.primary-title {
	color: var(--primary-color);
	font-family: "Shippori Mincho", serif;
	font-size: 5rem;
	font-weight: 500;
	line-height: 130%;
	margin-bottom: 40px;
}
/* underline */
.title-area--main {
	position: relative;
	display: block;
	text-align: center;
	margin-bottom: 60px;
}
.title-area--main::before {
	position: absolute;
	content: "";
	bottom: -20px;
	left: calc(50% - 15px);
	width: 30px;
	height: 3px;
	background: var(--sub-color);
}
.title-area--main .title-area__title {
	font-family: "Shippori Mincho", serif;
	font-size: 4.5rem;
	font-weight: 600;
	line-height: 130%;
}
/* brush */
.title-area--brush {
	margin-bottom: 35px;
}
.title-area--brush .title-area__title {
	position: relative;
	display: inline-block;
	color: var(--primary-color);
	font-family: "Shippori Mincho", serif;
	font-size: 4rem;
	font-weight: 500;
	line-height: 130%;
}
.title-area--brush .title-area__title::before {
	position: absolute;
	content: "";
	bottom: -35px;
	left: -20px;
	width: 330px;
	height: 75px;
	background: url(assets/images/icon/point-title.svg) no-repeat;
	background-size: contain;
	z-index: -1;
}
.title-area--brush .title-area__title-note {
    color: var(--primary-color);
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 0;
    padding: 5px 5px 0;
}
/* sub */
.title-area--sub {
	text-align: justify;
	margin-bottom: 30px;
}
.title-area--sub .title-area__title {
	font-family: "Shippori Mincho", serif;
	font-size: 2.8rem;
	font-weight: 400;
	line-height: 125%;
	text-align: justify;
}
/* dashed */
.title-area--dashed {
	border-bottom: 1px dashed #a7a8a9;
    font-family: "Shippori Mincho", serif;
    font-size: 3rem;
    line-height: 130%;
    margin-bottom: 20px;
    padding-bottom: 10px;
}

/* Page Title-header */
.title-header {
	width: 100%;
	height: 300px;
}
.title-header--reason {
	background: url(assets/images/page-header/page-header_reason.jpg) no-repeat #595757;
	background-size: 125%;
	background-position: center center; 
}
.title-header--service {
	background: url(assets/images/page-header/page-header_service.jpg) no-repeat #595757;
	background-size: 125%;
	background-position: center center; 
}
.title-header--work {
	background: url(assets/images/page-header/page-header_work.jpg) no-repeat #595757;
	background-size: 125%;
	background-position: center center; 
}
.title-header--company {
	background: url(assets/images/page-header/page-header_company.jpg) no-repeat #595757;
	background-size: 125%;
	background-position: center center; 
}
.title-header--useful-info {
	background: url(assets/images/page-header/page-header_useful-info.jpg) no-repeat #595757;
	background-size: 125%;
	background-position: center center; 
}
.title-header--other {
	background: url(assets/images/page-header/page-header_other.jpg) no-repeat #595757;
	background-size: 125%;
	background-position: center center; 
}
.title-header__title {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 20px 0;
    text-align: center;
}
.title-header h1 {
	color: #fff;
    font-size: 3.5rem;
	font-weight: 600;
	letter-spacing: 2px;
	line-height: 130%;
	margin: 0;
}


/* Header
--------------------------------------------- */
.header {
	position: sticky;
	position: -webkit-sticky;
	top: 0;
	left: 0;
	background: url(assets/images/background01.jpg);
	border-bottom: 1px solid var(--border-color);
	z-index: 500;
}
.header__wrap {
	display: flex;
	justify-content: space-between;
}
/* header__left */
.header__left {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-bottom: 5px;
}
.header__lead {
	font-size: 1.2rem;
	line-height: 1.2rem;
	margin-bottom: 5px !important;
	padding-top: 5px;
}
.header__logo-text {
	font-size: 1.4rem;
	line-height: 1.4rem;
	text-align: center;
	margin-bottom: 6px !important;
}
.header__logo-link {
	display: flex;
	align-items: center;
}
.header__logo-symbol {
	margin-right: 5px;
}
/* header__right */
.header__right {
	display: flex;
	justify-content: end;
}
/* header__nav-area */
.header__nav-area {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: right;
	margin-right: 20px;
	padding-bottom: 6px;
}
.header__item-tel {
	position: relative;
	display: inline-block;
	font-size: 3rem;
	font-weight: 600;
	line-height: 3rem;
	margin: 12px 0 4px;
}
.header__item-tel::before {
	position: absolute;
	content: "";
	top: calc(50% - 8px);
	left: -22px;
	width: 20px;
	height: 20px;
	background: url(assets/images/icon/icon-tel.svg) no-repeat;
	background-size: contain;
	background-position: center;
}
.header__item-lead {
	display: block;
	width: 200px;
	font-size: 1.4rem;
	line-height: 1.4rem;
	text-align: center;
	margin-bottom: 0;
	margin-left: auto;
}
/* header__mail */
.header__mail {
	display: block;
	background: var(--secondary-color);
	text-align: center;
	padding: 10px 12px;
	transition: .3s;
}
.header__mail:hover {
	opacity: 0.8;
}
.header__mail-icon {
	margin-bottom: 8px;
}
.header__mail-icon:hover {
	opacity: 1;
}
.header__mail-text {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.8rem;
	margin-bottom: 0;
}
/* Global navigation */
.header__nav-list {
	justify-content: flex-end;
}
.header__nav-item {
	margin-left: 25px;
}
.header__nav-item a {
	position: relative;
	display: inline-block;
	padding: 0 1px;
}
.header__nav-item a::after {
	position: absolute;
	bottom: -3px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: var(--primary-color);
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .3s;
}
.header__nav-item a:hover {
	color: var(--text-link-color-reset);
}
.header__nav-item a:hover::after {
	transform: scale(1, 1);
}

/* Breadcrumb
--------------------------------------------- */
.breadcrumb {
	position: relative;
	background: linear-gradient(to right, transparent calc(50% + 600px), #fff calc(50% - 600px)),
	var(--primary-background);
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.4rem;
	overflow: hidden;
}
.breadcrumb__scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin-right: 160px;
}
/* スクロールバー調整 */
.breadcrumb__scroll::-webkit-scrollbar {
  	height: 5px;
}
.breadcrumb__scroll::-webkit-scrollbar-track {
  	background: transparent; 
}
.breadcrumb__scroll::-webkit-scrollbar-thumb {
	background-color: #888; 
	background-clip: padding-box; 
	border: 1px solid transparent; 
}
.breadcrumb__scroll ol {
	display: inline-flex;
	min-width: max-content;
	padding: 3px 20px;
	white-space: nowrap;
	margin: 0;
}

.breadcrumb__scroll ol li {
	flex: 0 0 auto;
	margin-right: 35px;
	line-height: 2rem;
}
.breadcrumb a {
	position: relative;
	display: block;
	color: #fff;
	text-decoration: none;
	transition: .3s;
}
.breadcrumb a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #fff;
  transition: .3s;
  opacity: 1;
}
.breadcrumb a:hover::before {
  opacity: 0;
}
.breadcrumb__scroll ol li a::after {
	content: "＞";
	position: absolute;
	top: calc(50% - 10px);
	right: -26px;
	color: #fff;
}
.breadcrumb__wrap {
	position: relative;
}
.breadcrumb__wrap::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 145px;
	height: 100%;
	background: url(assets/images/icon/breadcrumbs_back.svg) no-repeat;
	background-size: cover;
	pointer-events: none;
}

/* Footer
--------------------------------------------- */
.footer {
	position: relative;
	border-top: 2px solid #fff;
}
.footer::before {
	position: absolute;
	content: "";
	top: 0px;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--border-color);
}
/* Site Map */
.footer-menu {
	display: flex;
	justify-content: space-between;
	padding: 80px 0 40px;
}
.footer-menu__section {
	flex-basis: 16%;
}
.footer-menu__section--small {
	flex-basis: 14%;
}
.footer-menu__title {
	display: block;
	border-bottom: 1px solid var(--main-border-color);
	margin-bottom: 10px;
	padding: 0 2px 4px;
}
.footer-menu__title--link {
	display: block;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 2.6rem;
}
.footer-menu__title--link:hover {
	color: var(--primary-color);
}
.footer-menu__list {
	padding-left: 1.6rem;
}
.footer-menu__item {
	position: relative;
	line-height: 140%;
	margin-bottom: 10px;
}
.footer-menu__item::before {
	position: absolute;
	content: "";
	top: calc(50% - 4px);
	left: -12px;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 8px solid var(--primary-color);
	border-right: 0;
}
.footer-menu__link {
	position: relative;
	display: inline-block;
}
.footer-menu__link::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: var(--primary-color);
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .3s;
}
.footer-menu__link:hover {
	color: var(--text-link-color-reset);
}
.footer-menu__link:hover::after {
	transform: scale(1, 1);
}
.footer-menu__section--small .footer-menu__list {
	padding-left: 0;
	margin-bottom: 20px;
}
.footer-menu__section--small .footer-menu__item::before {
	content: none;
}
.footer-menu__section--small .footer-menu__sns-line {
	display: block;
	width: 40px;
	height: 40px;
}
/* Copyright */
.footer__info {
	background: #fff;
	text-align: center;
	padding: 15px 0;
}
.footer__info-link {
	display: block;
}
.footer__info-link img:hover {
	opacity: 1;
}
.footer__logo-symbol {
	display: block;
	width: 60px;
	height: 60px;
	object-fit: contain;
	margin: 0 auto 8px;
}
.footer__logo-mark {
	display: block;
	width: 300px;
	height: 25px;
	object-fit: contain;
	margin: 0 auto 10px;
}
.footer__address {
	font-size: 1.5rem;
	margin-bottom: 10px;
}
.footer__copyright {
	color: #b5b5b6;
	font-size: 1.4rem;
	line-height: 1.4rem;
	margin-bottom: 0;
}

/* Floating-link
--------------------------------------------- */
.floating-link {
    position: fixed;
    right: -10px;
    bottom: 30px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    opacity: 0;
    pointer-events: none;
    transition: all 0.5s ease;
    z-index: 490;
}
.floating-link.show {
    opacity: 1;
    pointer-events: auto;
}
.floating-link__contact {
    position: relative;
	right: -10px;
    width: 94px;
    height: 200px;
    background: var(--secondary-color);
    border: 1px solid #fff;
    border-radius: 10px 0 0 10px;
    color: #fff !important;
    font-size: 1.8rem;
	line-height: 120%;
	font-weight: 500;
    writing-mode: vertical-rl;
    text-align: left;
	margin-bottom: 10px;
    padding: 58px 34px 5px 0;
    transition: right 0.3s;
}
.floating-link__contact::before {
    content: "";
    position: absolute;
    top: 18px;
    left: 20px;
    width: 32px;
    height: 32px;
    background: url(assets/images/icon/icon-mail.svg) no-repeat center/contain;
}
.floating-link__contact:hover {
   right: -1px;
   color: #fff;
}
.floating-link__entry {
    position: relative;
	right: -10px;
    width: 94px;
    height: 200px;
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 10px 0 0 10px;
	color: var(--line-color) !important;
    font-size: 1.8rem;
	line-height: 120%;
    font-weight: 600;
    writing-mode: vertical-rl;
    text-align: left;
	margin-bottom: 80px;
    padding: 60px 34px 5px 0;
    transition: right 0.3s;
}
.floating-link__entry::before {
    content: "";
    position: absolute;
    top: 18px;
    left: 20px;
    width: 32px;
    height: 32px;
    background: url(assets/images/icon/icon-line.svg) no-repeat center/contain;
}
.floating-link__entry a,
.floating-link__entry a:visited {
    color: var(--line-color) !important;
}
.floating-link__entry:hover {
    right: 0;
	color: var(--line-color);
}
span.font-upright {
	color: var(--line-color);
	text-orientation: upright;
	letter-spacing: -1px;
    margin-bottom: 3px;
}
.floating-link__page-top {
	position: relative;
	right: 22px;
    width: 58px;
    height: 58px;
    background: var(--primary-color);
    border: 1px solid #fff;
    position: relative;
}
.floating-link__page-top::before {
    content: "";
    position: absolute;
    top: 22px;
    left: calc(50% - 12px);
    width: 25px;
    height: 25px;
    border: 2px solid #fff;
    border-left: 0;
    border-bottom: 0;
    transform: rotate(-45deg);
}
.floating-link__page-top:hover {
	opacity: 0.8;
}

/* Aside
--------------------------------------------- */
/* Aside Contact */
.contact-tools {
	background: #fff;
	padding: 100px 0;
}
.contact-tools .title-area--main {
	margin-bottom: 80px;
}
.contact-tools .title-area--main::before {
	background: var(--secondary-color) !important;
}
.contact-tools__text {
	text-align: center;
	margin-bottom: 50px;
}
.contact-tools__list {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 20px;
}
.contact-tools__item {
	flex: 1 1 30%;
	gap: 20px;
	border: 2px solid var(--primary-color);
	text-align: center;
	padding: 20px 20px 10px;
}
.contact-tools__item-icon {
	width: 40px;
	height: 40px;
	margin: 0 auto 15px;
}
.contact-tools__item-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.contact-tools__item-title {
	font-size: 2.4rem;
	line-height: 3rem;
	margin-bottom: 10px;
}
.contact-tools__caption {
	margin-bottom: 0;
}
.contact-tools__phone {
	font-size: 4rem;
	line-height: 4.5rem;
	letter-spacing: 1px;
	margin-bottom: 10px;
}
.contact-tools__mail {
	position: relative;
	display: inline-block;
	background: var(--secondary-color);
	margin-bottom: 15px;
	padding: 10px 50px 8px 30px;
}
.contact-tools__mail::before {
	position: absolute;
    content: "";
    top: calc(50% - 4px);
    right: 30px;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 8px solid #fff;
    border-right: 0;
	transition: right 0.3s ease; 
}
.contact-tools__mail:hover {
	opacity: 0.9;
}
.contact-tools__mail:hover:before {
	right: 28px;
}
.contact-tools__mail a,
.contact-tools__mail a:hover,
.contact-tools__mail a:visited {
	color: #fff;
}
.contact-tools__line {
	position: relative;
	display: inline-block;
	background: var(--line-color);
	margin-bottom: 15px;
	padding: 10px 50px 8px 30px;
}
.contact-tools__line::before {
	position: absolute;
    content: "";
    top: calc(50% - 4px);
    right: 30px;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 8px solid #fff;
    border-right: 0;
	transition: right 0.3s ease; 
}
.contact-tools__line:hover {
	opacity: 0.9;
}
.contact-tools__line:hover:before {
	right: 26px;
}
.contact-tools__line a,
.contact-tools__line a:hover,
.contact-tools__line a:visited {
	color: #fff;
}
/* Aside Area */
.service-area {
	position: relative;
    border-top: 2px solid #fff;
}
.service-area::before {
	position: absolute;
    content: "";
    top: 0px;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--border-color);
}
.service-area__wrapper {
	justify-content: space-between;
	align-items: center;
	padding: 80px 0 60px;
}
.service-area__text-area {
	flex-basis: 70%;
	padding-right: 80px;
}
.service-area__text {
	margin-bottom: 50px;
}
.service-area__group {
	margin-bottom: 40px;
}
.service-area__subtitle {
	border-left: 5px solid var(--primary-color);
	color: var(--primary-color);
	font-size: 1.8rem;
	font-weight: 600;
	margin-bottom: 10px;
	padding-left: 10px;
}
.service-area__map {
	flex-basis: 30%;
}
.service-area--page {
	border-top: unset;
	padding: 0 0 100px;
}
.service-area--page::before {
	display: none;
}
.service-area--page .service-area__wrapper {
	background: #fff;
	border-radius: 20px;
	padding: 45px 40px 35px;
}
.service-area--page .service-area__wrapper {
	position: relative;
	display: block;
}
.service-area--page .service-area__text-area  {
	padding-right: 0;
}
.service-area--page .title-area__title {
	border-right: 2px solid var(--primary-color);
	padding-right: 3rem;
}
.service-area--page .service-area__text {
	position: absolute;
	top: 58px;
    left: 30rem;
}
.service-area--page .service-area__group {
	margin-bottom: 20px;
}
.service-area--page .service-area__map {
	display: none;
}
/* Aside Ads */
.ads-contact {
	display: flex;
	justify-content: space-between;
	background: #fff;
	border-radius: 20px;
	box-shadow: 3px 3px 5px 0 #c9caca;
	margin: 50px auto;
}
.ads-contact__text-area {
	flex-basis: 62%;
	padding: 25px 30px;
}
.ads-contact__title {
	font-size: 4rem;
	font-weight: 500;
	line-height: 4.6rem;
	letter-spacing: -0.1rem;
	margin-bottom: 10px;
}
.ads-contact__tag-list {
	display: flex;
	justify-content: center;
	margin-bottom: 15px;
}
.ads-contact__tag {
	background: var(--primary-background);
	color: #fff;
	font-size: 2rem;
	line-height: 2.4rem;
	margin: 0 10px;
	padding: 5px 15px;
}
.ads-contact__note {
	font-size: 2rem;
	line-height: 140%;
	margin-bottom: 20px;
}
.ads-contact__tel-link {
	display: block;
	font-size: 2rem;
	font-weight: 600;
	line-height: 4rem;
	text-align: center;
	margin-bottom: 20px;
}
.ads-contact__tel-number {
	position: relative;
	font-size: 4rem;
	font-weight: 400;
	line-height: 2rem;
	margin-left: 50px;
	vertical-align: middle;
}
.ads-contact__tel-number::before {
	position: absolute;
	content: "";
	width: 40px;
	height: 40px;
	top: calc(50% - 18px);
	left: -40px;
	background: url(assets/images/icon/icon-tel.svg);
	background-size: contain;
}
.ads-contact__mail-link {
	display: block;
	background: var(--secondary-color);
	border-radius: 24px;
	color: #fff100 !important;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 2.4rem;
    text-align: center;
    padding: 12px 20px;
	transition: .3s;
}
.ads-contact__mail {
	position: relative;
	color: #fff;
	font-size: 2.4rem;
	line-height: 2.4rem;
	margin-left: 80px;
	vertical-align: middle;
}
.ads-contact__mail::before {
	position: absolute;
	content: "";
	width: 35px;
	height: 30px;
	top: -2px;
	left: -40px;
	background: url(assets/images/icon/icon-mail.svg) no-repeat;
	background-size: contain;
	background-position: center;
}
.ads-contact__mail-link:hover {
    opacity: 0.9;
	color: #fff100;
}
.ads-contact__image {
	flex-basis: 38%;
	width: 38%;
	height: auto;
	border-radius: 0 20px 20px 0;
	overflow: hidden;
}
.ads-contact__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 60% 100%;
}


/* INDEX
--------------------------------------------- */
/* Maine Image */
.first-view {
	position: relative;
	width: 100%;
	height: 80vh;
	margin: 0 auto;
	overflow: hidden;
	contain: layout;
}
.first-view__title-area {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 2;
}
.first-view__title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 10vw;
	max-width: 200px;
	height: auto;
	max-height: 80%;
}
.first-view__title img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
/* Slide */
.first-view__slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	overflow: hidden; 
}
.first-view__slide-image {
	position: absolute;
    top: 0;
	left: 0;
	width:100%;
    height:100%;
	opacity: 0;
	animation: slider-1 40s linear infinite;
}
.first-view__slide-image:nth-child(1) {
	background: url(assets/images/top/top-main01.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	animation-delay: 0s;
}
.first-view__slide-image:nth-child(2) {
	background: url(assets/images/top/top-main02.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	animation-delay: 10s;
}
.first-view__slide-image:nth-child(3) {
	background: url(assets/images/top/top-main03.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	animation-delay: 20s;
}
.first-view__slide-image:nth-child(4) {
	background: url(assets/images/top/top-main04.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	animation-delay: 30s;
}
@keyframes slider-1 {
	0% {
		opacity: 0;
		transform: scale(1);
	}
	4.16% {
		opacity: 1;
	}
	33.33% {
		opacity: 1;
	}
	41.66% {
		opacity: 0;
		transform: scale(1.1);
	}
		100% {
	opacity: 0;
	}
}
/* News */
.news {
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--primary-background);
	color: #fff;
	padding: 15px 8%;
}
.news__title-area {
	flex-basis: 15%;
	padding-right: 25px;
}
.news__title {
	font-size: 2rem;
	line-height: 2rem;
	text-align: right;
}
.news__list {
	max-width: 76%;
	border-left: 1px solid #fff;
	padding: 2px 50px 2px 25px;
}
.news__item a {
	display: flex;
	color: #fff;
	font-size: 1.5rem;
	transition: .2s;
}
.news__item a:hover {
	opacity: 0.8;
}
.news__headline {
	overflow: hidden;
	display: -webkit-box;
	text-decoration: underline;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	padding-left: 15px;
}
.news__item a:hover .news__headline {
	text-decoration: none;
}
.news__link {
	flex-basis: 9%;
	text-align: right;
}
.news__link-text {
	color: #fff;
	font-size: 1.3rem;
	line-height: 2rem;
	margin-bottom: 0;
}
.news__link-text a {
	position: relative;
	color: #fff;
}
.news__link-text a::before {
	position: absolute;
	content: "";
	left: 0;
	bottom: -4px;
	width: 100%;
	height: 1px;
	background: #fff;
	opacity: 1;
	transition: opacity 0.2s ease;
}
.news__link-text a:hover::before {
	opacity: 0.7;
}
.news__link-text a::after {
	position: absolute;
	content: "";
	top: calc(50% - 4px);
	right: -15px;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 8px solid #ffffff;
	border-right: 0;
	transition: transform 0.2s ease;
}
.news__link-text a:hover::after {
	transform: translateX(3px); 
}
/* Introduction & Closing */
.intro {
	position: relative;
	border-bottom: solid 2px #fff;
}
.closing {
	position: relative;
	border-top: 2px solid #fff;
	padding:  30px 0 100px;
}
.intro::before,
.closing::before {
	position: absolute;
	content: "";
	top: 0;
	left: calc(50% - 630px);
	width: 600px;
	height: 500px;
	background: url(assets/images/background_wh-line.svg) no-repeat;
	background-position: center top -10px;
	background-size: contain;
}
.intro__wrapper,
.closing__wrapper {
	position: relative;
	justify-content: space-between;
	padding-top: 70px;
}
.intro__text-area {
	width: 40%;
}
.intro__text-area--wide {
	width: 1200px;
	margin: 0 auto;
}
.closing__text-area {
	width: 38%;
}
.intro__title,
.closing__title {
	color: var(--primary-color);
	font-family: "Shippori Mincho", serif;
	font-size: 5rem;
	font-weight: 500;
	line-height: 6rem;
	margin-bottom: 40px;
}
.intro__image-area {
	width: 55.85%;
}
.intro__image-area image {
	width: 100%;
	height: auto;
}
.closing__image-area {
	width: 58.5%;
	height: 450px;
}
.closing__image-area img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* Service */
.top-service {
	padding: 100px 0;
}
.top-service__text-area {
	text-align: center;
	margin-bottom: 70px;
}
.top-service__info {
	justify-content: space-between;
	margin-bottom: 80px;
}
.top-service__info:last-child {
	margin-bottom: 0;
}
.top-service__info-image {
	width: 640px;
	height: 400px;
}
.top-service__info-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top-service__info-text {
	flex-basis: 46.6%;
	padding-left: 50px;
}
.top-service__info-description {
	margin-bottom: 80px;
}
.top-service__button {
	text-align: center;
}
.top-service__info--reverse .top-service__info-image {
	order: 2;
}
.top-service__info--reverse .top-service__info-text {
	order: 1;
	padding-right: 50px;
	padding-left: 0;
}
/* Reasone */
.top-reasone {
	background: url(assets/images/top/backglound_logo.svg) #fff;
	background-repeat: no-repeat;
    background-position: top center;
    background-size: 370px 370px;
	padding: 100px 0;
}
.top-reasone__text-area {
	text-align: center;
	margin-bottom: 80px;
}
.top-reasone__list {
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 20px;
}
.top-reasone__item {
	flex-basis: 48%;
	margin-bottom: 40px;
}
.top-reasone__image {
	width: 100%;
	height: auto;
	margin-bottom: 15px;
}
.top-reasone__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top-reasone__title {
	font-family: "Shippori Mincho", serif;
	font-size: 3.5rem;
	line-height: 130%;
	text-align: center;
	margin-bottom: 15px;
	padding: 0 5px;
}
.top-reasone__text {
	padding: 0 5px;
}
.top-reasone__button {
	text-align: center;
}
/* Work */
.top-work {
	padding: 100px 0;
}
.top-work__button {
	text-align: center;
}
.top-work__list {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin-bottom: 70px;
}
.top-work__item {
	flex-basis: 24%;
}
.top-work__link {
	display: block;
}
.top-work__link:hover {
	opacity: 0.8;
}
.top-work__image {
	width: 100%;
	height: 200px;
	background: url(assets/images/no-image.svg) no-repeat #dcdddd;
	background-size: 35%;
	background-position: center;
	margin-bottom: 12px;
	overflow: hidden;
}
.top-work__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.top-work__image img:hover {
	opacity: 1;
}
.top-work__link:hover .top-work__image img {
	transform: scale(1.03);
}
.top-work__text-area {
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	padding: 0 2px;
}
.top-work__tag {
	display: inline-block;
	background-color: #000;
	color: #fff;
	font-size: 1.3rem;
	line-height: 120%;
	margin-right: 8px;
	padding: 2px 6px;
}
.top-work__text {
	font-size: 1.4rem;
	line-height: 120%;
}
/* Voice */
.top-voice {
	background: #fff;
	padding: 100px 0;
}
.title-area--voice {
	margin-bottom: 90px;
}
.top-voice__wrapper {
	position: relative;
	min-height: 450px;
}
.top-voice__image {
	position: absolute;
	top: 0;
	left: 0;
	width: 56%;
	height: 450px;
	background: url(assets/images/no-image.svg) no-repeat #dcdddd;
	background-size: 20%;
	background-position: center;
}
.top-voice__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top-voice__wrapper .title-area--sub {
	width: 40%;
	margin-left: auto;
}
.top-voice__text-area {
	width: 40%;
	margin-left: auto;
}
.top-voice__name {
	font-weight: 600;
	margin-bottom: 20px;
}
.top-voice__text {
	margin-bottom: 60px;
}
.top-voice__button {
	text-align: center;
}
/* Blog */
.top-blog {
	border-bottom: solid 2px #fff;
	padding: 100px 0;
}
.top-blog__list {
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 70px;
}
.top-blog__item {
	flex-basis: 48%;
	border-top: 1px solid var(--main-border-color);
	border-bottom: 1px solid var(--main-border-color);
	margin-top: -1px;
	padding: 5px 0;
}
.top-blog__link {
	display: flex;
	padding: 10px 5px;
	transition: .3s;
}
.top-blog__link:hover {
 background: rgba(255, 255, 255, 0.5);
 opacity: 0.8;
}
.top-blog__image {
    position: relative;
    top: 0;
    left: 0;
    width: 25%;
    height: 100px;
    background: url(../images/no-image.svg) no-repeat #dcdddd;
    background-size: 40%;
    background-position: center;
}
.top-blog__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.top-blog__image img:hover {
	opacity: 1;
}
.top-blog__text {
	width: 75%;
	padding-left: 30px;
}
.top-blog__date {
	display: inline-block;
	color: var(--primary-color);
	font-size: 1.4rem;
	line-height: 130%;
	margin-bottom: 6px;
}
.top-blog__headline {
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 130%;
	display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.top-blog__button {
	text-align: center;
}
a.text-link,
a.text-link:visited {
    color: var(--sub-color);
    text-decoration: underline;
    text-underline-offset: 2px;
}
a.text-link:hover {
    color: var(--text-link-color);
    font-weight: 600;
}

/* Fixed page | PC
--------------------------------------------- */
/* Page-Reason
--------------------------------------------- */
/* Number Item 01-04 */
.page-reason__item {
	border-bottom: solid 2px #fff;
	padding: 100px 0;
}
section.page-reason__item.is-last {
	border-bottom: none;
}
.page-reason__title-area {
	text-align: center;
	margin-bottom: 50px;
}
.page-reason__number {
	position: relative;
	color: var(--primary-color);
	font-family: "Shippori Mincho", serif;
	font-size: 8rem;
	font-weight: 400;
	line-height: 8rem;
	margin-bottom: 30px;
}
.page-reason__number::before {
	position: absolute;
	content: "";
	left: calc(50% - 140px);
	bottom: -10px;
	width: 330px;
	height: 70px;
	background: url(assets/images/icon/point-title.svg) no-repeat;
	background-size: contain;
	z-index: -1;
}
.page-reason__title {
	font-family: "Shippori Mincho", serif;
	font-size: 4.5rem;
	font-weight: 400;
	line-height: 140%;
}
.page-reason__content {
	margin-bottom: 100px;
}
.page-reason__image {
    width: 66.67%;
	height: 500px;
}
.page-reason__image--reverse {
	margin-left: auto;
}
.page-reason__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.page-reason__text {
	position: relative;
	background: var(--primary-background);
	color: #fff;
	width: 60%;
	height: auto;
	margin: -145px 0 100px auto;
	padding: 40px 30px 30px;
}
.page-reason__text--reverse {
	margin: -145px auto 100px 0;
}
.page-reason__text::before {
	position: absolute;
	content: "";
	top: -56px;
	right: 0;
	width: 245px;
	height: 85px;
	background: url(assets/images/icon/point_wave01.svg) no-repeat;
	background-size: contain;
}
.page-reason__text--reverse::before {
	right: unset;
	left: 0;
}
.page-reason__text::after {
	position: absolute;
	content: "";
	bottom: -46px;
	left: -128px;
	width: 245px;
	height: 85px;
	background: url(assets/images/icon/point_wave01.svg) no-repeat;
	background-size: contain;  
}
.page-reason__text--reverse::after {
	right: -120px;
	left: unset;
}
.page-reason__list {
	width: 80%;
	list-style: none;
	counter-reset: item;
	margin: 0 auto;
}
.page-reason__list li {
	position: relative;
	border-bottom: 1px dashed #a7a8a9;
	font-family: "Shippori Mincho", serif;
	font-size: 3rem;
	line-height: 130%;
	margin-bottom: 20px;
	padding-bottom: 10px;
	padding-left: 5rem;
}
.page-reason__list li::before {
	position: absolute;
	content: counter(item) ".";
	counter-increment: item;
	top: 0;
	left: 1rem;
	color: var(--primary-color);
	font-family: "Shippori Mincho", serif;
	font-size: 3.5rem;
	font-weight: 500;
}
/* Number Item 05-06 */
.page-reason__block-content {
	display: flex;
	justify-content: space-between;
}
.page-reason__block-text {
	width: 48.5%;
}
.page-reason__block-wrapper {
	position: relative;
}
.page-reason__block-wrapper::before {
	position: absolute;
	content: "";
	top: -20px;
	right: 0;
	width: 245px;
	height: 85px;
	background: url(assets/images/icon/point_wave01.svg) no-repeat;
	background-size: contain;
	z-index: -1;
}
.page-reason__block-wrapper::after {
	position: absolute;
	content: "";
	bottom: -65px;
	left: -25px;
	width: 245px;
	height: 85px;
	background: url(assets/images/icon/point_wave01.svg) no-repeat;
	background-size: contain;
	z-index: -1;
}
.page-reason__block-image {
	width: 44.2%;
}
.page-reason__block-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.page-reason__block-text--reverse {
	order: 2;
}
.page-reason__block-image--reverse {
	order: 1;
}
.page-reason__block-image--small {
	display: block;
	background: var(--primary-background);
	text-align: center;
	padding: 20px;
}
.page-reason__block-image--small img {
	 width: 285px;
	 height: 400px;
	object-fit: contain;
}
/* Number Introduction */
.page-reason__introduction {
	background: #fff;
	border-radius: 20px;
	margin-bottom: 100px;
	padding: 30px 40px;
}
.page-reason__introduction h2 {
	font-family: "Shippori Mincho", serif;
	font-size: 3rem;
	font-weight: 400;
	line-height: 130%;
	text-align: center;
	margin-bottom: 35px;
}
.page-reason__introduction .is-last {
	margin-bottom: 40px;
}
.page-reason__introduction-list {
	justify-content: space-between;
}
.page-reason__introduction-list-title {
	flex-basis: 16%;
	display: flex;
	align-items: center;
	justify-content: center; 
	border: 2px solid var(--primary-color);
	text-align: center;
	padding: 10px;
}
.page-reason__introduction-list-title h3 {
	font-size: 2rem;
	font-weight: 600;
	line-height: 130%;
}
.page-reason__introduction-item {
	flex-basis: 82%;
	flex-wrap: wrap;
	justify-content: space-between;
}
.page-reason__introduction-item li {
	flex-basis: 48%;
	line-height: 130%;
	margin: 2px 0;
	padding-left: 0.8rem;
}
.page-reason__introduction-label {
	position: relative;
	font-weight: 600;
	margin-right: 1.6rem;
}
.page-reason__introduction-label::before {
	position: absolute;
	content: "〈";
	top: 0;
	left: -1.8rem;
}
.page-reason__introduction-label::after {
	position: absolute;
	content: "〉";
	top: 0;
	right: -1.8rem;
}

/* Page-Service
--------------------------------------------- */
/* Explanation */
.page-service__explanation {
	border-bottom: 2px solid #fff;
	padding: 100px 0;
}
.page-service__explanation .intro__text-area {
	position: relative;
	text-align: center;
	margin-bottom: 100px;
}
.page-service__explanation .intro__text-area::before {
	position: absolute;
	content: "";
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 360px;
	height: 360px;
	background: url(assets/images/logo_symbol-wh.svg) no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 0.8;
	z-index: -1;
}
/* Service Llist */
.page-service__list {
	flex-wrap: wrap;
	justify-content: space-between;
}
.page-service__item {
	display: block;
	width: 31.5%;
	height: auto;
	margin-bottom: 50px;
}
.page-service__item:hover {
	opacity: 0.9;
}
.page-service__item-image {
	width: 100%;
	height: 260px;
	background: url(assets/images/no-image.svg) no-repeat #dcdddd;
	background-size: 35%;
	background-position: center;
	margin-bottom: 12px;
	overflow: hidden;
}
.page-service__item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.page-service__item-image img:hover {
	opacity: 1;
}
.page-service__item:hover .page-service__item-image img {
	transform: scale(1.05);
}
.page-service__item-title {
	border-bottom: 1px dashed #221815;
	text-align: center;
	margin-bottom: 15px;
	padding-bottom: 10px;
	padding-left: 10px;
}
.page-service__item-title h3 {
	position: relative;
	display: inline;
	font-family: "Shippori Mincho", serif;
	font-size: 3rem;
	line-height: 130%;
}
.page-service__item-title h3::before {
	position: absolute;
	content: "";
    top: 2rem;
    left: -1.5rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 8px solid #555555;
}
.page-service__item-note {
	font-size: 1.5rem;
	padding: 0 3px;
}
/* Service Flow */
.page-service__flow {
	text-align: center;
	padding: 100px 0;
}
.page-service__flow-text {
	margin-bottom: 60px;
}
.page-service__flow-image {
	display: block;
	width: 1000px;
	height: 340px;
	background: url(assets/images/service/illust_flow_pc.svg) no-repeat;
	background-size: contain;
	background-position: center;
	margin: 40px auto;
}
.page-service__button {
	text-align: center;
}
/* Service-common-head */
.page-service__section-head {
	text-align: center;
	margin-bottom: 100px;
}
.page-service__text {
	margin-bottom: 50px;
}
.page-service__tag-list {
	justify-content: center;
	align-items: center;
	margin-bottom: 40px;
}
.page-service__tag-item {
	background: #fff;
	border: 1px solid var(--primary-color);
	font-size: 1.8rem;
	line-height: 2rem;
	margin: 0 10px;
	padding: 8px 20px;
}
.page-service__tag-note {
	font-size: 1.4rem;
	line-height: 1.4rem;
}
/* Service-common-content */
.page-service__content {
	justify-content: space-between;
	margin-bottom: 60px;
}
.page-service__content .text-center {
	font-size: 3.8rem;
	text-align: center;
}
.page-service__content-top {
	width: 45%;
	height: 380px;
}
.page-service__content-top img {
	width: 100%;
	height: 100%;
	background: #fff;
	border: 1px solid var(--border-color);
	object-fit: content;
}
.page-service__content-text-top {
	width: 50%;
	text-align: justify;
}
.page-service__content-image {
	width: 53.35%;
	height: 400px;
}
.page-service__content-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.page-service__content-image--contain img {
	object-fit: contain;
	background: #fff;
}
.page-service__content-text {
	width: 42%;
}
.page-service__content--reverse .page-service__content-top,
.page-service__content--reverse .page-service__content-image {
	order: 2;
}
.page-service__content--reverse .page-service__content-text {
	order: 1;
}
.page-service__content--text .page-service__content-text {
	width: 100%;
}
.page-service__content-title {
	font-family: "Shippori Mincho", serif;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 125%;
	text-align: justify;
	margin-bottom: 30px;
}
.page-service__content-sub-title {
	border-top: none;
    border-bottom: 2px solid var(--primary-color);
    color: var(--primary-color);
    font-size: 2rem;
    font-weight: 600;
    line-height: 130%;
    margin: 0 0 10px;
    padding: 0 5px 5px;
}
/* Service-common-photo-area */
.page-service__photo-content {
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 1.5rem;
	margin-bottom: 40px;
}
.page-service__photo-group {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 48%;
	text-align: justify;
}
.page-service__photo-title {
	border-bottom: 1px solid var(--main-border-color);
	font-size: 2.8rem;
	font-weight: 600;
	line-height: 130%;
	text-align: left;
	margin-bottom: 20px;
	padding-bottom: 5px;
	padding-left: 2px;
}
.page-service__photo-area {
	gap: 15px;
	margin: 40px auto;
}
.page-service__photo-area img {
	width: 280px;
	height: 200px;
}
/* Service-common-button */
.page-service__button-wrap {
	justify-content: center;
	gap: 100px;
}
/* Service Wall-roof
--------------------------------------------- */
.page-wall-roof__wall {
	padding: 100px 0;
}
.page-wall-roof__roof {
	border-top: 2px solid #fff;
	padding: 100px 0;
}
/* Service Door-paint
--------------------------------------------- */
.page-door-paint__contents {
	padding: 100px 0;
}
.page-service__photo-area {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}
.page-service__photo-area figure {
	flex-basis: 32.5%;
	text-align: center;
}
.page-service__photo-area figure img {
	width: 390px;
	height: 250px;
	object-fit: cover;
	margin-bottom: 10px;
}
.page-service__photo-area figure figcaption {
	font-size: 1.4rem;
	line-height: 130%;
}
/* Service Shield-paint
--------------------------------------------- */
.page-shield-paint__contents {
	padding: 100px 0;
}
.page-shield-paint__contents {
	padding: 100px 0;
}
.page-shield-paint__contents p a,
.page-shield-paint__contents p a:visited {
	color: var(--text-link-color);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.page-shield-paint__contents p a:hover{
	color: var(--sub-color);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.page-shield-paint__section {
	padding-bottom: 60px;
}
.page-shield-paint__section .text-center {
	text-align: center;
}
.page-shield-paint__title {
	font-weight: 600;
	margin-top: 20px;
}
.page-shield-paint__list {
	margin-bottom: 20px;
    padding-left: 2rem;
}
.page-shield-paint__list li {
	position: relative;
	line-height: 120%;
	margin-bottom: 10px;
}
.page-shield-paint__list li::before {
	position: absolute;
	content: "";
	top: 6px;
	left: -1.6rem;
	width: 8px;
	height: 8px;
	background: var(--primary-color);
}
.page-shield-paint__photo-area {
	justify-content: space-between;
	margin-bottom: 60px;
}
.page-shield-paint__photo-area .img-50 {
	display: flex;
	flex-direction: column;
	width: 50%;
	align-items: center;
}
.page-shield-paint__photo-area .img-50 img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.page-shield-paint__photo-area .img-48 {
	display: flex;
	flex-direction: column;
	width: 48%;
	align-items: center;
}
.page-shield-paint__photo-area .img-48 img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.page-shield-paint__photo-area figcaption {
	font-size: 1.4rem;
    line-height: 130%;
	margin-top: 10px;
}
/* Service Waterproof
--------------------------------------------- */
.page-waterproof {
	padding: 100px 0;
}
/* Service Other-paint
--------------------------------------------- */
.page-other-paint__rain-leak {
	padding-bottom: 100px;
}
.page-other-paint__small-construction {
	border-top: 2px solid #fff;
	padding: 100px 0;
}
.page-other-paint__rain-leak .page-service__content-title--center {
	text-align: center;
	margin-bottom: 40px;
}
.page-other-paint__rain-leak .page-service__content-title--between {
	margin-top: 60px;
}
.page-other-paint__photo-area {
	justify-content: space-between;
	margin-bottom: 60px;
}
.page-other-paint__photo-area figure {
	flex-basis: 23.5%;
	text-align: justify;
}
.page-other-paint__photo-area figure img {
	width: 282px;
	height: 200px;
	object-fit: cover;
	margin-bottom: 10px;
}
.page-other-paint__photo-area figure figcaption {
	font-size: 1.4rem;
	line-height: 130%;
}

/* Service Diagnosis
--------------------------------------------- */
.page-diagnosis__contents {
	padding: 100px 0;
}

/* Service Price
--------------------------------------------- */
/* Introduction */
.page-price__intro {
	text-align: center;
	padding: 0 0 80px;
}
.page-price__calculation {
	margin: 30px auto;
}
.page-price__formula {
	font-size: 2rem;
	font-weight: 600;
}
.page-price__note {
	font-size: 1.4rem;
	line-height: 130%;
	text-align: center;
	margin: 30px auto;
}
/* Price common */
.page-price__contents {
	padding-bottom: 100px;
}
.page-price__title {
	border-left: 5px solid var(--primary-color);
	font-family: "Shippori Mincho", serif;
	font-size: 3rem;
	font-weight: 500;
	line-height: 140%;
	margin-bottom: 15px;
	padding: 6px 0 10px 10px;
}
.page-price__wrap {
	margin-bottom: 40px;
}
.page-price__list {
	justify-content: space-between;
	margin-bottom: 10px;
}
.page-price__item {
	width: 100%;
	min-width: 150px;
	border-right: 2px solid #b5b5b6;
	text-align: center;
}
.page-price__item:last-child {
	border-right: none;
}
.page-price__item-title {
	background: var(--primary-color);
	border-top: 2px solid #b5b5b6;
	border-bottom: 2px solid #b5b5b6;
	color: #fff;
	padding: 15px 10px;
}
.page-price__item-price {
	background: #fff;
	border-bottom: 2px solid #b5b5b6;
	padding: 15px 10px;
}
.page-price__title-note {
	font-size: 1.8rem;
	margin-left: 10px;
	margin-bottom: 0;
}
.page-price__list-note {
	font-size: 1.4rem;
	line-height: 130%;
	text-align: right;
	margin-bottom: 0;
}
.page-service__door {
	display: block;
	width: 60%;
	height: auto;
	margin: 40px auto;
}
.page-service__door image {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Page-Company
--------------------------------------------- */
/* Greeting */
.page-company__greeting {
	position: relative;
	border-bottom: 2px solid #fff;
	padding: 0 0 100px;
}
.page-company__greeting::before {
	position: absolute;
	content: "";
	top: -50px;
	left: -20px;
	width: 245px;
	height: 85px;
	background: url(assets/images/icon/point_wave01.svg) no-repeat;
	background-size: contain;
}
.page-company__greeting::after {
	position: absolute;
	content: "";
	right: -20px;
	bottom: 55px;
	width: 245px;
	height: 85px;
	background: url(assets/images/icon/point_wave01.svg) no-repeat;
	background-size: contain;
	z-index: -1;
}
.page-company__president {
	text-align: right;
	margin-top: 50px;
}
.page-company__president-fullname img {
	display: inline-block;
	width: 10rem;
    height: 2.6rem;
	margin-left: 10px;
    object-fit: contain;
}
/* Profile */
.page-company__profile {
	border-bottom: 2px solid #fff;
	padding: 100px 0 40px;
}
.page-company__profile-list {
	padding: 0 100px;
}
.page-company__profile-item {
	border-bottom: 1px solid var(--main-border-color);
	font-size: 1.8rem;
	line-height: 160%;
	padding: 40px 0 25px;
}
.page-company__profile-item:first-child {
	border-top: 1px solid var(--main-border-color);
}
.page-company__profile-title {
	flex-basis: 25%;
	font-weight: 600;
	text-align: center;
	padding: 0 40px;
}
.page-company__profile-text {
	flex-basis: 75%;
	padding: 0 20px;
}
.page-company__profile-name {
	display: inline-block;
	width: 7.2rem;
	height: 3rem;
	margin: 0 1px 0 0;
}
.page-company__profile-map {
	display: inline-block;
	background: var(--primary-background);
	border-radius: 3px;
	margin-left: 20px;
	padding: 1px 6px;
}
.page-company__profile-map a,
.page-company__profile-map a:hover,
.page-company__profile-map a:visited {
	color: #fff;
}
.page-company__profile-map a:hover {
	opacity: 0.9;
}
.page-company__profile-section {
	margin-bottom: 20px;
}
.page-company__profile-section-title {
	color: var(--primary-color);
	font-weight: 600;
	margin-bottom: 0;
}
.page-company__profile-section-list li {
	position: relative;
	padding-left: 20px;
}
.page-company__profile-section-list li::before {
	position: absolute;
	content: "・";
	top: 0;
	left: 0;
	width: 1.8rem;
	height: 1.8rem;
}
/* Profile-Qualification */
.page-company__qualification {
	padding: 100px 100px 50px;
}
.page-company__qualification .title-area {
	text-align: center;
}
.page-company__qualification-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0 5%;
	justify-content: space-between;
	padding: 30px 0 0;
}
.page-company__qualification-item {
	display: flex;
    align-items: center;
    justify-content: center;
	width: 30%;
	background: #fff;
	font-size: 2rem;
	line-height: 130%;
	text-align: center;
	margin-bottom: 20px;
	padding: 20px;
}
.page-company__qualification-item:nth-last-child(-n+5) {
	width: calc(50% - 2.5%); 
}
.page-company__qualification-note {
	font-size: 1.6rem;
	text-align: right;
}
/* Profile-Gallery */
.page-company__gallery {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.page-company__gallery::after {
	content: "";
	display: block;
	width: 32.5%;
}
.page-company__gallery-item {
	width: 32.5%;
	margin-bottom: 60px;
	text-align: center;
}
.page-company__gallery-photo {
	width: 100%;
	height: 260px;
	margin-bottom: 15px;
}
.page-company__gallery-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.page-company__gallery-item p {
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 0;
}
/* History */
.page-company__history {
	padding: 100px 0;
}
.page-company__history-item {
	display: flex;
}
.l-container.page-company__history-list {
    padding: 20px 150px;
}
.page-company__history-title {
	width: 40%;
	font-size: 1.8rem;
	font-weight: 600;
	text-align: right;
	margin: 0;
	padding: 30px 60px 30px 0;
}
.page-company__history-text {
	width: 60%;
	border-left: 2px solid var(--main-border-color);
	font-size: 1.8rem;
	line-height: 140%;
	margin: 0;
	padding: 30px 0 30px 60px;
}
span.page-company__president-name {
	display: inline-block;
	width: 7rem;
	height: 2.6rem;
	margin: 0 1px 0 0;
}
span.page-company__president-name img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Page-Contact
--------------------------------------------- */
.page-contact__intro {
	text-align: center;
	padding: 100px 0 80px;
}
.page-contact__phone {
	border-bottom: 2px solid #fff;
	text-align: center;
	padding-bottom: 80px;
}
.page-contact__tel-number {
	position: relative;
    display: inline-block;
	color: var(--primary-color);
    font-size: 5rem;
    font-weight: 600;
    line-height: 3rem;
	letter-spacing: 1px;
    margin: 12px 0 20px;
	padding-left: 30px;
}
.page-contact__tel-number::before {
	position: absolute;
	content: "";
	top: -2px;
	left: -6px;
	width: 4rem;
	height: 4rem;
	background: url(assets/images/icon/icon-tel.svg) no-repeat;
	background-position: center;
	background-size: contain;
}
/* Form */
.page-contact__form {
	padding: 80px 0 100px;
}
.page-contact__text {
	text-align: center;
}
/* Mail-form */
.page-contact__form-wrapper {
	padding: 80px 100px;
}
.page-contact__form-item {
	display: flex; 
	align-items: flex-start; 
}
.page-contact__form-item {
	margin-bottom: 30px;
}
.page-contact__form-label {
	flex-basis: 30%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
}
.page-contact__form-required,
.page-contact__form-any {
	width: 20%;
	color: #fff;
	border-radius: 4px;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	margin-right: 20px;
}
.page-contact__text .page-contact__form-required {
	width: 100%;
	margin: 0 3px;
	padding: 2px 8px;
}
.page-contact__form-required {
	background: var(--secondary-color);
}
.page-contact__form-any {
	background: var(--sub-color);
}
.page-contact__form-radio-group,
.page-contact__form-input, 
.page-contact__form-textarea,
.page-contact__form-file-group {
	flex-basis: 70%;
}
.page-contact__form-radio-group {
	display: flex;
	align-items: center; 
	padding: 8px 0;
}
.page-contact__form-input, 
.page-contact__form-textarea {
	flex-grow: 1;
	padding: 7px 9px;
	border: 2px solid var(--border-color);
	border-radius: 4px;
	background: #fff;
}
.page-contact__form-input:focus,
.page-contact__form-textarea:focus {
	outline: none;
	border-color: var(--primary-color); 
}
.page-contact__form-input::placeholder,
.page-contact__form-textarea::placeholder {
	color: #939393; 
	font-size: 1.5rem;
	opacity: 1; 
}
.page-contact__form-consent {
	justify-content: center;
	padding: 20px 0;
}
/* File-select */
.file-block {
	margin-bottom: 10px;
}
.file-button {
	display: inline-block;
	cursor: pointer;
	background: #fff;
	border: 2px solid var(--border-color);
	border-radius: 4px;
	color: #8d8d8d;
	font-size: 14px;
	margin-right: 10px;
	padding: 6px 30px;
	transition: .3s;
}
.file-button:hover {
	background: var(--primary-color);
	color: #fff;
}
.file-status .delete-button {
    display: inline-block;
    cursor: pointer;
    background: var(--primary-color);
    border: 2px solid var(--border-color);
    border-radius: 4px;
    color: #fff;
    font-size: 14px;
    margin-right: 10px;
    padding: 6px 30px;
    transition: .3s;
}
/* Radio-button */
.page-contact__form-radio {
	position: relative;
	display: inline-flex;
	cursor: pointer;
	align-items: center;
	font-size: 16px;
	margin-right: 50px;
}
.page-contact__form-radio input[type="radio"] {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	opacity: 0;
}
.page-contact__form-radio span::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 1px solid var(--main-border-color);
	border-radius: 50%;
	margin-right: 4px;
	margin-bottom: 4px;
	box-sizing: border-box;
	vertical-align: middle;
	transition: background-color 0.3s, border-color 0.3s;
}
.page-contact__form-radio input[type="radio"]:checked + span::after {
	position: absolute;
	content: "";
	top: 6px;
	left: 3px;
	width: 10px;
	height: 10px;
	background-color: var(--primary-color);
	border-radius: 50%;
}
/* Checkbox */
.page-contact__form-checkbox {
	position: relative;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	font-size: 16px;
}
.page-contact__form-checkbox input[type="checkbox"] {
	opacity: 0;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}
.page-contact__form-checkbox span {
	display: inline-flex;
	align-items: center;
}
.page-contact__form-checkbox span::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background: #fff;
	border: 1px solid var(--main-border-color);
	box-sizing: border-box;
	margin-right: 8px;
	transition: background-color 0.3s, border-color 0.3s;
}
.page-contact__form-checkbox span a {
	color: var(--text-link-color);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.page-contact__form-checkbox span a:hover {
	color: var(--primary-color);
}
.page-contact__form-checkbox input[type="checkbox"]:checked + span::before {
	background: var(--primary-color);
}
.page-contact__form-checkbox input[type="checkbox"]:checked + span::after {
	content: "✔";
	position: absolute;
	left: 3px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 14px;
	color: #fff;
	pointer-events: none;
}
/* Submit-button */
.page-contact__form-submit {
	justify-content: center;
}
.page-contact__text-note {
	text-indent: -8px;
	padding-left: 8px;
}
.page-contact__form-button {
	background-color: #a5a5a5;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 600;
    padding: 20px 80px;
    border-radius: 5px;
	/*06.25コメントアウト
	cursor: not-allowed;
	pointer-events: none;*/
	transition: background-color 0.3s ease;
}
.page-contact__form-button.enabled,
.page-contact__form-button.enabled:visited {
	  background-color: var(--secondary-color);
	  cursor: pointer;
	  pointer-events: auto;
}
button.page-contact__form-button.enabled:hover {
  	background-color: var(--secondary-color-bright) !important;
}
.page-contact__form-note {
	font-size: 1.4rem;
	text-indent: -8px;
	padding-left: 8px;
}
/* note */
.page-contact__form-note {
	padding: 0 80px;
}
.page-contact__form-note a {
	color: var(--text-link-color);
	text-decoration: underline;				
}
.page-contact__form-note a:hover {
	text-decoration: none;
}

/* Page-Useful-info
--------------------------------------------- */
.page-useful-info__list .content-list__title {
	border-bottom: 1px dashed var(--main-border-color);
	color: var(--primary-color);
	text-align: center;
	margin-bottom: 15px;
	padding-bottom: 10px;
}
.page-useful-info__list .content-list__item {
	width: 30%;
}
.page-useful-info__list-text {
	font-size: 1.5rem;
	line-height: 130%;
}
.page-useful-info-report__text-big {
	color: var(--sub-color);
	font-size: 2rem;
	font-weight: 600;
	text-align: center;
}
.page-useful-info__text-note {
	color: var(--text-link-color-reset);
	font-size: 1.4rem;
	font-weight: 400;
	margin-left: 10px;
}
.page-useful-info .content-wrap::after {
	bottom: 40px;
}
.page-useful-info-report__image {
	width: 100%;
    height: auto;
	object-fit: contain;
}
.page-useful-info-report__image img {
	width: 100% !important;
	height: 100% !important;
	background: #fff;
	padding: 5px;
}
.page-useful-info-report__small-image {
	width: 60%;
	height: auto;
	object-fit: contain;
	margin: 0 auto;
}
.page-useful-info-report__small-image img {
	width: 100% !important;
	height: 100% !important;
	background: #fff;
	padding: 5px;
}
.page-useful-info-report__section {
	margin-bottom: 60px;
}
.page-useful-info-report__section-title {
	position: relative;
	color: var(--sub-color);
	font-weight: 600;
	margin-bottom: 5px;
	padding-left: 2rem;
}
.page-useful-info-report__section-title::before {
	position: absolute;
	content: "◆";
	top: 0;
	left: 0;
	color: var(--sub-color);
}
.page-useful-info-report__note {
	font-size: 1.4rem;
	line-height: 140%;
	text-indent: -1.5rem;
	padding-left: 1.5rem;
	padding-right: 1rem;
}
.page-useful-info-report__flex {
	justify-content: space-between;
	margin: 40px auto;
}
.page-useful-info-report__flex ul {
	flex-basis: 70%;
	margin: 0 !important;
}
.page-useful-info-report__flex img {
	flex-basis: 30% !important;
	height: auto !important;
	margin: 0 0 0 20px !important;
	object-fit: contain !important;
}
.page-useful-info-report__list {
	flex-wrap: wrap;
	justify-content: space-between;
}
.page-useful-info-report__item {
	flex-basis: 47%;
	margin-bottom: 10px;
}
.page-useful-info-report__list h3 {
    font-size: 2rem !important;
    margin: 30px 0 20px  !important;
    padding: 10px 5px !important;
}
.page-useful-info-report__item-inner {
	display: flex;
	gap: 20px;
	align-items: start;
}
.page-useful-info-report__list img {
	flex-basis: 45%;
	height: auto !important;
	margin: 0 auto  !important;
	object-fit: contain !important;
}
.page-useful-info-report__list ul {
	flex-basis: 55%;
	font-size: 1.5rem;
	margin: 0 !important;
}
.page-useful-info-report__list li:last-child {
	border-top: 1px dotted var(--main-border-color);
	margin-top: 10px;
	margin-bottom: 0;
	margin-left: -1.6rem;
	padding-top: 10px;
}
.page-useful-info-report__list li:last-child::before {
	display: none;
}
.page-useful-info-flow__number {
	color: var(--primary-color);
	font-weight: 600;
}
.page-useful-info-flow__step {
	justify-content: space-between;
	align-items: start;
	margin: 30px 0;
	gap: 30px;
}
.page-useful-info-flow__text {
	flex-basis: 70%;
}
.page-useful-info-flow__image {
	flex-basis: 30%;
}
.page-useful-info-flow__image img {
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	object-fit: contain !important;
}
.post-main h3.page-useful-info-flow__title {
	border-top: none;
	border-bottom: 2px solid var(--primary-color);
    color: var(--primary-color);
    font-size: 2rem;
    font-weight: 600;
    line-height: 130%;
    margin: 0 0 10px;
    padding: 0 5px 5px;
}
.post-main h4.page-useful-info-flow__title {
    position: relative;
	border-bottom: none;
    color: var(--sub-color);
	font-size: 1.8rem;
    margin: 0 0 5px;
    padding-left: 2rem;
}
.post-main h4.page-useful-info-flow__title::before {
	position: absolute;
    content: "◆";
    top: 0;
    left: 0;
    color: var(--sub-color);
}
.page-useful-info-flow__text-bold {
	font-weight: 600;
    margin-top: 20px;
}
.page-useful-info-flow__list {
	font-size: 1.5rem;
	margin-top: 0 !important;
	margin-bottom: 20px;
    padding-left: 2rem;
}
.page-useful-info-flow__step-list {
	display: flex;
	justify-content: space-between;
}
.page-useful-info-flow__triangle {
	width: 0;
	height: 0;
	border-style: solid;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-left: 18px solid var(--sub-color);
    border-right: 0;
    margin-top: 60px;
    margin-left: -6px;
}
.page-useful-info-flow__step-item {
	position: relative;
	flex-basis: 23%;
	display: flex;
    flex-direction: column;
    justify-content: center;
	background: #fff;
	border: 3px solid var(--sub-color);
	border-radius: 10px;
	color: var(--sub-color);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 130%;
	text-align: left;
	padding: 10px 10px 10px 30px;
}
.page-useful-info-flow__step-item::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 26px;
	height: 26px;
	background: var(--sub-color);
	border-radius: 5px 0 10px 0;
}
.page-useful-info-flow__step-item::after {
	position: absolute;
	top: 2px;
    left: 6px;
	color: #fff;
	font-size: 2rem;
	font-weight: 600;
}
.page-useful-info-flow__step-item--1::after {
	content: "1";
}
.page-useful-info-flow__step-item--2::after {
	content: "2";
}
.page-useful-info-flow__step-item--3::after {
	content: "3";
}
.page-useful-info-flow__step-item--4::after {
	content: "4";
}
.page-useful-info-flow__step-note {
	color: var(--text-link-color-reset);
	font-size: 1.4rem;
	font-weight: 400;
}
.page-useful-info-report__ol-list {
	display: flex;
	flex-wrap: wrap;
}
.page-useful-info-report__ol-list li {
	margin-right: 50px;
}

/* Page-recommend-paint
--------------------------------------------- */
.page-recommend-paint__container ruby {
	margin-left: 20px;
}
.page-recommend-paint__container .ruby-text {
	margin-left: 0;
}
.page-recommend-paint__list-title {
	border-bottom: 2px solid var(--primary-color);
	color: var(--primary-color);
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 2.8rem;
	margin-bottom: 15px;
	padding-bottom: 5px;
}
.page-recommend-paint__list-title::before {
	content: "◆";
	font-size: 1.8rem;
	line-height: 2.8rem;
	margin-top: -5px;
	margin-right: 5px;
}
.page-recommend-paint__list {
	margin: 20px 0;
	padding-left: 1.6rem;
}
.post-main .blog-box-white .page-recommend-paint__list {
	margin-bottom: 0;
}
.page-recommend-paint__list li {
	position: relative;
    line-height: 130%;
    margin-bottom: 5px;
}
.page-recommend-paint__list li::before {
	position: absolute;
    content: "";
    top: 6px;
    left: -1.6rem;
    width: 8px;
    height: 8px;
    background: var(--primary-color);
}
.post-main .page-recommend-paint__image {
	width: 50%;
	height: auto ;
	margin: 20px auto;
}
.post-main .page-recommend-paint__item .page-recommend-paint__image {
	width: 40%;
	height: auto ;
	margin: 20px auto;
}
.page-recommend-paint__item {
	justify-content: space-between;
}
.post-main .page-recommend-paint__image--middle {
	width:80%;
}
.post-main .page-recommend-paint__image img {
	width: 100% !important;
	height: 100% !important;
	background: #fff;
	object-fit: contain !important;
	margin: 30px;
	padding: 8px;
}
/* Banner Area */
.post-main .page-recommend-banner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	text-align: center;
}
.post-main .page-recommend-link { 
	width: 48%;
	background: #fff;
	border: 1px solid var(--border-color);
	margin: 20px 0 5px;
}
.post-main .page-recommend-link:hover {
	opacity: 0.8;
}
.post-main .page-recommend-link a p {
	text-decoration: none;
	margin-bottom: 0;
}
.post-main .page-recommend-link a {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	color: #fff;
	text-decoration: none;
}
.post-main .page-recommend-link a:hover {
	color: #fff;
}
.post-main .page-recommend-link__image {
	width: 100%;
	height: 140px;
	margin: 0;
	padding: 20px;
}
.post-main .page-recommend-link__image img {
	width: 100%;
	height: 100%;
	border: none;
	margin: 0;
	object-fit: contain;
}
.post-main .page-recommend-link__image img:hover {
	opacity: 1;
}
.page-recommend-link__title {
	background: var(--primary-color);
	padding: 8px;
}
.page-recommend-link__title p {
	position: relative;
	display: inline-block;
	line-height: 2rem;
	padding-left: 15px;
}
.page-recommend-link__title p::before {
	position: absolute;
	content: "";
	top: 5px;
	left: 0;
	width: 8px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg);
}

/* Page-glossary
--------------------------------------------- */
/* Glossary Nav List */
.page-glossary__nav {
	margin: 50px auto 40px;
}
.post-main__text-wrap .page-glossary__nav ul {
	padding-left: 0;
}
.post-main__text-wrap .page-glossary__nav ul li::before {
	display: none;
}
.page-glossary__nav-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.post-main .page-glossary__nav-item {
	margin-bottom: 20px;
}
.post-main .page-glossary__nav-item a {
	display: block;
	background: var(--primary-background);
	border-radius: 5px;
	color: #fff;
	text-decoration: none;
	margin: 0 8px;
	padding: 2px 10px;
}
.post-main .page-glossary__nav-item a:hover {
	background: var(--text-link-color);
	color: #fff;
}
/* Glossary Main */
.page-glossary__set {
	margin-bottom: 40px;
}
.page-glossary__set-title {
    border-bottom: 2px solid var(--primary-color);
    color: var(--primary-color);
    font-size: 2rem;
    font-weight: 600;
    line-height: 130%;
    margin: 30px 0 12px;
    padding: 0 5px 5px;
}

/* Page-faq
--------------------------------------------- */
.page-faq {
	padding: 0 0 60px;
}
.page-faq__title-wrap {
	padding-top: 60px;
	margin-bottom: 20px;
}
.page-faq.content-wrap::before {
	top: 30px !important;
}
.page-faq.content-wrap::after {
	bottom: 30px !important;
}
.page-faq__main {
	padding: 0 100px;
	margin-bottom: 40px;
}
.page-faq__main h2 {
	background: #fff;
	border-left: 5px solid var(--primary-color);
	font-size: 2.6rem;
	line-height: 130%;
	margin: 50px 0 30px;
	padding: 8px 0 8px 20px;
}
.page-faq__item {
	border-bottom: 1px solid var(--main-border-color);
	margin-bottom: 40px;
	padding: 0 10px 30px 40px;
}
.page-faq__question {
	position: relative;
	font-size: 1.8rem;
}
.page-faq__question::before {
	position: absolute;
	content: "Q.";
	color: var(--text-link-color);
	top: -1px;
	left: -2.8rem;
	font-size: 2.2rem;
	font-weight: 600;
}
.page-faq__answer {
	position: relative;
}
.page-faq__answer::before {
	position: absolute;
	content: "A.";
	color: var(--secondary-color);
	top: -0;
	left: -2.8rem;
	font-size: 2.2rem;
	font-weight: 600;
}
.page-faq__title {
	color: var(--sub-color);
	font-weight: 600;
	margin-top: 20px;
}

/* Page-privacy-policy
--------------------------------------------- */
.page-privacy-policy {
	padding: 55px 100px 60px;
}
.page-privacy-policy.content-wrap::before {
	top: 30px !important;
}
.page-privacy-policy.content-wrap::after {
	bottom: 30px !important;
}
.page-privacy-policy .post-main {
	margin-bottom: 40px;
}
/* Page-Not-Found
--------------------------------------------- */
.page-not-found__content {
	padding: 55px 100px 60px;
}
.page-not-found__content .post-main__title {
	font-size: 15rem;
	font-weight: 400;
	text-align: center;
}
/* Page-thanks
--------------------------------------------- */
.page-thanks__content {
	padding: 55px 100px 60px;
}
.page-thanks__content .post-main__title {
	font-size: 6rem;
	font-weight: 400;
	text-align: center;
}

/* Post Pages　｜ PC
--------------------------------------------- */
/*　common
--------------------------------------------- */
/* Pagination */
.pagination-wrapper {
	text-align: center;
}
.pagination {
	padding: 60px 0 90px;
}
.pagination__list {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #221815;
	list-style: none;
	font-size: 2rem;
	line-height: 2rem;
	text-align: center;
	gap:15px;
}
.pagination__item {
	display: block;
	width: 4rem;
	height: 4rem;
	background: #fff;
	border-radius: 50%;
	color: #221815;
	text-align: center;
	line-height: 4rem;
}
.pagination__item a:hover,
.pagination__item .active {
	display: block;
	width: 4rem;
	height: 4rem;
	background: #a0a0a0;
	border-radius: 50%;
	color: #fff;
	text-decoration: none;
}
.pagination__dots span::before {
	content: "…";
	width: 3rem;
	height: 3rem;
	color: #a0a0a0;;
	font-size: 2rem;
	line-height: 4rem;
}
.pagination__dots,
.pagination__prev,
.pagination__prev a:hover,
.pagination__next,
.pagination__next a:hover {
	background: none;
}
.pagination__item.pagination__prev,
.pagination__prev a,
.pagination__item.pagination__next,
.pagination__next a {
	display: inline-block;
	width: 3rem !important;
	height: 4rem;
}
.pagination__prev a:hover,
.pagination__next a:hover {
	opacity: 0.8;
}
.pagination__prev a::before,
.pagination__next a::before {
	content: "";
	display: inline-block;
	top: 50%;
	left: 50%;
	width: 15px;
	height: 15px;
	border-right: 1px solid var(--main-border-color);
	border-bottom: 1px solid var(--main-border-color);
	margin: auto;
}
.pagination__next a::before {
	transform: rotate(-45deg);
}
.pagination__prev a::before {
	transform: rotate(135deg);
}

/* List (menu-list & squares) */
.content-wrap {
	position: relative;
}
.content-wrap:before {
	position: absolute;
    content: "";
    top: -80px;
    left: -20px;
    width: 245px;
    height: 85px;
    background: url(assets/images/icon/point_wave01.svg) no-repeat;
    background-size: contain;
	z-index: -1;
}
.content-wrap::after {
	position: absolute;
    content: "";
    right: -20px;
    bottom: -30px;
    width: 245px;
    height: 85px;
    background: url(assets/images/icon/point_wave01.svg) no-repeat;
    background-size: contain;
    z-index: -1;
}
.content-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.content-list::after {
	content: "";
	display: block;
	width: 32%;
	height: 0;
}
/* List Item (3 squares) */
.content-list__item {
	width: 32%;
	margin-bottom: 60px;
}
.content-list__link {
	display: block;
}
.content-list__link:hover {
	opacity: 0.8;
}
.content-list__image {
	width: 100%;
	height: 260px;
	background: url(assets/images/no-image.svg) no-repeat #dcdddd;
	background-size: 25%;
	background-position: center;
	margin-bottom: 12px;
	overflow: hidden;
}
.content-list__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
    transition: transform 0.4s ease;
}
.content-list__image img:hover {
	opacity: 1;
}
.content-list__link:hover .content-list__image img {
	transform: scale(1.03);
}
.content-list__text-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 6px;
	padding: 0 2px;
}
.content-list__tag {
	background: var(--primary-color);
	color: #fff;
	font-size: 1.3rem;
	line-height: 140%;
	margin-right: 15px;
	padding: 1px 8px 0;
}
.content-list__address,
.content-list__time {
	font-size: 1.4rem;
	line-height: 140%;
	padding-top: 1px;
}
.content-list__title {
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 130%;
	text-align: left;
	display: -webkit-box;
	-webkit-line-clamp: 2; 
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 0 2px;
}

/* List (single / no-menu-list) */
.content-wrap--nomal {
	padding: 100px 0;
}
.content-wrap--blog {
	padding: 100px 0 50px;
}
.content-wrap.content-wrap--nomal:before {
    top: 80px !important;
}
.content-wrap.content-wrap--blog:before {
	top: 60px !important;
}
.content-wrap--nomal .content-list--single {
	width: 80%;
	flex-direction: column;
	border-top: 1px solid var(--primary-color);
	margin: 0 auto;
}
.content-list--single .content-list__item {
	width: 100%;
	border-bottom: 1px solid var(--primary-color);
	margin: 0;
	padding: 4px 0;
}
.content-list--single .content-list__link {
	position: relative;
	padding: 36px 80px 36px 20px;
	transition: .3s;
}
.content-list--single .content-list__link.content-list__link:hover {
	background: #fff;
}
.content-list--single .content-list__link::before {
	position: absolute;
	content: "";
	top: calc(50% - 8px);
    right: 30px;
	width: 15px;
    height: 15px;
    border-right: 1px solid var(--main-border-color);
    border-bottom: 1px solid var(--main-border-color);
	transform: rotate(-45deg);
	transition: .3s;
}
.content-list--single .content-list__link:hover::before {
	right: 25px;
}
.content-list--single .content-list__wrap {
	align-items: center;
}
.content-list--single .content-list__data {
	flex-basis: 20%;
	color: var(--primary-color);
}
.content-list--single .content-list__title {
	flex-basis: 80%;
	line-height: 140%;
}

/* Post Single-post | PC
--------------------------------------------- */
.post-wrap {
	padding: 25px 0 100px;
}
.post-wrap--blog {
	padding: 50px 0 100px;
}
.post-wrap--news {
	justify-content: center;
	padding: 50px 0;
}
.post-wrap.content-wrap::before {
	top: 20px;
}
.post-wrap.content-wrap::after {
	bottom: 20px;
}
/*　Main Content
--------------------------------------------- */
.post-main {
	flex-basis: 75%;
	padding-right: 100px;
}
.post-wrap--news .post-main {
	padding-right: 0;
}
/* Post Title */
.post-main__title-wrap {
	border-bottom: 1px solid #9fa0a0;
	margin-bottom: 40px;
	padding-bottom: 30px;
}
.post-main__title-list {
	align-items: center;
	margin-bottom: 20px;
}
.post-main__list-tag {
	background: var(--sub-color);
	color: #fff;
	margin-right: 20px;
	padding: 3px 20px;
}
.post-main__list-area {
	letter-spacing: 1px;
}
.post-main__title {
	font-size: 4rem;
	font-weight: 600;
	line-height: 130%
}
/* Post Time */
.post-main__data {
	margin: -30px 5px 40px;
}
.post-main__time {
	font-size: 1.4rem;
}
/* Post Details */
.post-main__text-wrap {
	padding: 0 5px;
}
.post-main img {
	display: block;
	width: 95%;
	height: 50vh;
	border: 1px solid var(--border-color);
	box-sizing: border-box;
	object-fit: cover;
	margin: 40px auto;
}
.post-main a {
	color: var(--sub-color);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.post-main a:hover {
	color: var(--text-link-color);
	font-weight: 600;
}
.post-main .blog-font-red {
	color: var(--secondary-color);
	font-weight: 600;
}
.post-main .blog-font-underline {
	display: inline;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.post-main .blog-font-marker {
	display: inline;
	background: linear-gradient(transparent 60%, #fedd78 0);
	font-weight: bold;
	padding: 0 1px;
}
.post-main figure {
	margin: 40px auto;
}
.post-main figure img {
	display: block;
	width: 95%;
	height: 50vh;
	border: 1px solid var(--border-color);
	box-sizing: border-box;
	object-fit: cover;
	margin-bottom: 10px;
}
.post-main figcaption {
	width: 95%;
	font-size: 1.4rem;
	line-height: 140%;
	margin: 0 auto;
}
.post-main figcaption p {
	margin-bottom: 0;
}
.post-main .post-main__flex {
	display: flex;
	width: 95%;
	justify-content: space-between;
	gap: 20px;
	margin: 40px auto;
}
.post-main .post-main__flex figure {
	width: 90%;
	margin: 0;
}
.post-main .post-main__flex figure img {
	width: 100%;
	margin: 0 auto 10px;
}
.post-main .post-main__flex img {
	width: 100%;
	max-height: 32vh;
}
.post-main .post-main__single {
	width: 48%;
	margin-left: 20px;
}
.post-main .post-main__w-auto {
	width: 48%;
	height: 42vh;
	margin: 40px 0;
}
.post-main .post-main__w-auto img {
	width: auto;
	height: 42vh;
}
.post-main .post-main__single figure img {
	width: 100%;
	max-height: 32vh;
}
.post-main .blog-box-white {
	background: #fff;
	border-radius: 10px;
	margin: 40px 0;
	padding: 25px 30px;
}
.post-main .blog-box-gray {
	background: #d9d9d9;
	border-radius: 10px;
	margin: 40px 0;
	padding: 25px 30px;
}
.post-main .blog-box-white p:last-child,
.post-main__text-wrap .blog-box-white li:last-child,
.post-main .blog-box-gray p:last-child,
.post-main__text-wrap .blog-box-gray li:last-child {
	margin-bottom: 0;
}
.single-post__link {
	text-align: center;
	margin: 10px auto 50px;
}
.single-post__link a {
	position: relative;
	color: var(--sub-color);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.single-post__link a::before {
	position: absolute;
    content: "";
    top: calc(50% - 4px);
    left: -12px;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 8px solid var(--primary-color);
    border-right: 0;
}
.single-post__link a:hover {
	color: var(--text-link-color);
}
.post-main .button-link {
	text-decoration: none;
}
/* Post table */
.post-main__scroll-x {
	width: 100%;
	height: auto;
	margin: 40px 0;
	overflow: hidden;
}
.post-main table {
	background: #fff;
	border: 3px solid var(--border-color);
	font-size: 1.3rem;
	line-height: 130%;
}
.post-main table th {
	width: 14%;
	background: var(--border-color);
	border: 1px solid #fff;
	color: var(--primary-color);
	text-align: center;
    vertical-align: middle;
	padding: 10px;
}
.post-main table .table-header th {
	width: auto;
	background: var(--primary-color);
	border: 1px solid var(--border-color);
	color: #fff;
}
.post-main table td {
	min-width: 110px;
	border: 1px solid var(--border-color);
	font-size: 1.3rem;
	vertical-align: middle;
	padding: 10px;
}
.post-main table .table-scroll-center {
	text-align: center;
}
.post-main table .table-inner-img {
	width: 12vw !important;
	height: auto !important;
	margin: 10px auto;
}
/* Post list */
.post-main__text-wrap ul {
	margin: 25px 0;
	padding-left: 1.6rem;
}
.post-main__text-wrap ol {
	list-style: none;
	counter-reset: number;
	margin: 25px 0;
	padding-left: 2rem;
}
.post-main__text-wrap ul li,
.post-main__text-wrap ol li {
	position: relative;
	line-height: 130%;
	margin-bottom: 10px;
}
.post-main__text-wrap ul li::before {
	position: absolute;
	content: "";
	top: 6px;
	left: -1.6rem;
	width: 8px;
	height: 8px;
	background: var(--primary-color);
}
.post-main__text-wrap ol li::before {
	position: absolute;
	counter-increment: number;
  	content: counter(number);
	top: 1px;
    left: -2.2rem;
    width: 1.8rem;
    height: 1.8rem;
    background: var(--primary-color);
    border-radius: 50%;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.8rem;
	text-align: center;
    letter-spacing: -1px;
}
.post-main__text-wrap .blog-box-white ul,
.post-main__text-wrap .blog-box-white ol,
.post-main__text-wrap .blog-box-gray ul,
.post-main__text-wrap .blog-box-gray ol {
	margin: 0;
}
/* Post Title */
.post-main h2 {
	border-left: 5px solid var(--primary-color);
	font-size: 3rem;
	line-height: 130%;
	margin: 70px 0 30px;
	padding: 8px 0 8px 20px;
}
.post-main h3 {
	border-top: 1px solid var(--main-border-color);
	border-bottom: 1px solid var(--main-border-color);
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 130%;
	margin: 50px 0 20px;
	padding: 20px 5px;
}
.post-main h4 {
	border-bottom: 2px solid var(--primary-color);
	color: var(--primary-color);
	font-size: 2rem;
	font-weight: 600;
	line-height: 130%;
	margin: 40px 0 15px;
	padding: 0 5px 5px;
}
.post-main h5 {
	display: block;
	background: #fff;
	border-left: 5px solid var(--primary-color);
	font-size: 1.8rem;
	line-height: 130%;
	margin: 40px 0 10px;
    padding: 10px 15px 9px 12px;
}
.post-main h6 {
	position: relative;
	color: var(--sub-color);
	font-weight: 600;
	margin: 30px 0 15px;
	padding-left: 2rem;
}
.post-main h6::before {
	position: absolute;
	content: "◆";
	top: 0;
	left: 0;
	color: var(--sub-color);
}

/*　Side Menu
--------------------------------------------- */
.side-menu {
	flex-basis: 25%;
}
.side-menu__title {
	border-left: 3px solid var(--primary-color);
	font-size: 1.8rem;
	font-weight: 600;
	padding: 3px 0 3px 15px;
	margin-bottom: 10px;
}
.side-menu__list {
	border-top: 1px solid #9fa0a0;
	margin-bottom: 20px;
}
.side-menu__item {
	border-bottom: 1px solid #9fa0a0;
}
.side-menu__item a {
	position: relative;
	display: block;
	padding: 18px 30px 18px 10px;
	transition: .3s;
}
.side-menu__item a:hover {
	background: rgba(255, 255, 255, 0.4);
}
.side-menu__item a::before {
	position: absolute;
	content: "";
	top: calc(50% - 5px);
	right: 18px;
	width: 10px;
    height: 10px;
    border-right: 1px solid var(--main-border-color);
    border-bottom: 1px solid var(--main-border-color);
    transform: rotate(-45deg);
	transition: .2s;
}
.side-menu__item a:hover::before {
	right: 15px;
}


/* Responsive=floating-link対応
--------------------------------------------- */
/*media Queries （1366px以下）
------------------------------------- */
@media only screen and (max-width: 1366px) {

	.mobile-only { display: none !important; }

	/* Layout */
	.l-container {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}

	/* Floating-link ｜　tablet
	--------------------------------------------- */
	.floating-link {
		width: 100%;
		right: unset;
		bottom: 0;
		display: flex;
		flex-direction: unset;
		justify-content: space-between;
		align-items: center;
		border-top: 1px solid var(--border-color)
	}
	.floating-link.show {
		opacity: 1;
		pointer-events: auto;
	}
	.floating-link__contact {
		position: relative;
		right: unset;
		width: 48%;
		height: 58px;
		border-top: 1px solid #fff;
		border-right: none;
		border-bottom: none;
		border-left: none;
		border-radius: unset;
		font-size: 2rem;
		writing-mode: unset;
		text-align: center;
		margin-bottom: 0;
		padding: 1.6% 0 0 0;
	}
	.floating-link__contact::before {
		content: "";
		position: absolute;
		top: 28%;
		left: 10%;
		width: 32px;
		height: 32px;
		background: url(assets/images/icon/icon-mail.svg) no-repeat center/contain;
	}
	.floating-link__contact:hover {
		right: unset;
	}
	.floating-link__entry {
		position: relative;
		right: unset;
		width: 48%;
		height: 58px;
		border-top: 1px solid #fff;
		border-right: none;
		border-bottom: none;
		border-left: 1px solid #fff;
		border-radius: unset;
		color: var(--line-color);
		font-size: 1.8rem;
		line-height: 120%;
		font-weight: 600;
		border-radius: unset;
		font-size: 2rem;
		writing-mode: unset;
		text-align: center;
		margin-bottom: 0;
		padding: 1.6% 0 0 0;
	}
	.floating-link__entry::before {
		content: "";
		position: absolute;
		top: 24%;
		left: 10%;
		width: 32px;
		height: 32px;
		background: url(assets/images/icon/icon-line.svg) no-repeat center/contain;
	}
	.floating-link__entry:hover {
		right: 0;
		color: var(--line-color);
	}
	span.font-upright {
		color: var(--line-color);
		text-orientation: unset;
		letter-spacing: 0;
		margin-bottom: 0;
	}
	.floating-link__page-top {
		right: 0;
		border-top: 1px solid #fff;
		border-right: none;
		border-bottom: none;
		border-left: 1px solid #fff;
	}
	.floating-link__page-top::before {
		content: "";
		position: absolute;
		top: 22px;
		left: calc(50% - 12px);
		width: 25px;
		height: 25px;
		border: 2px solid #fff;
		border-left: 0;
		border-bottom: 0;
		transform: rotate(-45deg);
	}
	.floating-link__page-top:hover {
		opacity: 0.8;
	}

	/* Footer ｜　tablet
	--------------------------------------------- */
	.footer__info {
		margin-bottom: 58px;
	}
}
/*-- タブレットサイズここまで --*/

/* Responsive=SP対応
--------------------------------------------- */
/*media Queries （767px以下）
------------------------------------- */
@media only screen and (max-width: 767px) {

	/* SP
	--------------------------------------------- */
	/* Common ｜　SP
	--------------------------------------------- */
    .pc-only { display: none !important; }
    .mobile-only,
	.sp-only { display: block !important;
            width: 100vw; }
	a img:hover {
		opacity: 1;
	}
	a[href*="tel:"] {
		pointer-events: auto;
		cursor: default;
	}	

	/* Layout */
	.l-container {
		width: 100%;
		margin: 0 auto;
		padding-left: 0;
		padding-right: 0;
	}
	.l-flex {
		display: block;
	}
	.l-background-line::before {
		width: 80%;
		height: 30vh;
	}
	/* Link Button */
	.button-link {
		max-width: 90%;
		min-width: 65%;
		padding: 15px 10% 15px 6%;
	}
	.button-link::before {
		display: none;
	}
	.button-link::after {
		border-left-color: var(--primary-color);
		right: 10%;
	}
	.button-link:hover::after {
		border-left-color: var(--primary-color);
		right: 10%;
	}
	.button-link:hover span {
		color: var(--primary-color);
	}
	/* Page Nav */
	.page-nav  {
		padding: 60px 0 40px;
	}
	.page-nav__list li {
		transition: unset;
	}
	.page-nav__list li::after {
		display: none;
	}
	.page-nav__list li:hover::after {
		opacity: 1;
	}
	.page-nav--menu {
		margin-bottom: 30px;
		padding: 0;
	}
	.page-nav--menu .page-nav__list::after {
		content: "";
		display: block;
		width: 50%;
		height: 0;
	}
	.page-nav--menu .page-nav__list li {
		flex-basis: 50%;
		text-align: center;
		margin: 0 auto;
	}
	.page-nav--menu .page-nav__list li a {
		display: block;
		border-bottom: 1px solid #a0a0a0;
		font-size: 1.3rem;
        line-height: 1.5rem;
		padding: 8px 12px;
	}
	.page-nav--menu .page-nav__list li::before {
		content: none;
	}
	.page-nav--menu .page-nav__list li:nth-child(odd) {
		border-right: 1px solid #a0a0a0;
	}

	/* Title | SP
	--------------------------------------------- */
	/* common-title */
	/* nomal-main */
	.primary-title {
		font-size: 3.5rem;
		text-align: center;
		margin-bottom: 20px;
	}
	/* underline */
	.title-area--main {
		margin-bottom: 40px;
	}
	.title-area--main::before {
		bottom: -16px;
	}
	.title-area--main .title-area__title {
		font-size: 3.2rem;
	}
	/* brush */
	.title-area--brush {
		text-align: center;
		margin-bottom: 20px;
	}
	.title-area--brush .title-area__title {
		font-size: 3rem;
	}
	.title-area--brush .title-area__title::before {
		bottom: -15px;
		left: -10px;
		width: 240px;
		height: 50px;
	}
	/* sub */
	.title-area--sub {
		padding: 0 15px;
	}
	.title-area--sub .title-area__title {
		font-size: 2.4rem;
		text-align: center;
	}
	/* dashed */
	.title-area--dashed {
		font-size: 2.4rem;
	}
	/* Page Title-header */
	.title-header {
		width: 100%;
		height: 150px;
	}
	.title-header--reason {
		background-size: 150%;
		background-position: center bottom;
	}
	.title-header__title {
		padding: 10px 20px;
	}
	.title-header h1 {
		font-size: 2.8rem;
	}
	
	/* Header ｜　SP
	--------------------------------------------- */
	.header {
        width: 100%;
    }
	/* header__left */
	.header__left {
		flex-basis: 75%;
		margin-left: 10px;
	}
	.header__lead {
		font-size: 70%;
		line-height: 1.3rem;
		text-align: center;
		margin-right: -30%;
		margin-bottom: 10px;
	}
	.header__logo-text {
		font-size: 1.2rem;
		line-height: 1.6rem;
		text-align: left;
		margin-bottom: 0 !important;
	}
	/* header__right */
	.header__right {
		flex-basis: 25%;
		justify-content: top;
	}
	/* Global navigation */
	.header__nav-list a::after {
		display: none;
	}
	.header__nav-list a:hover {
		color: #fff;
	}
	.hamburger {
		overflow: hidden;
		
	}
	.hamburger__top {
		width: 35px;
		height: 1px;
		background-color: black;
		position: absolute;
		right: 18px;
		bottom: 35px;
		transition: .3s;
		z-index: 110;
	}
	.hamburger__middle {
		width: 35px;
		height: 1px;
		background-color: black;
		position: absolute;
		right: 18px;
		bottom: 25px;
		transition: .3s;
		z-index: 110;
	}
	.hamburger__bottom {
		width: 35px;
		height: 1px;
		background-color: black;
		position: absolute;
		right: 18px;
		bottom: 15px;
		transition: .3s;
		z-index: 110;
	}
	input#hamburger-toggle {
		display: none;
	}
	#hamburger-toggle:checked~#global__sp .hamburger__top {
		width: 35x;
		right: 18px;
		bottom: 35px;
		background-color: #fff;
		transform: rotate(45deg);
	}
	#hamburger-toggle:checked~#global__sp .hamburger__middle {
		display: none;
	}
	#hamburger-toggle:checked~#global__sp .hamburger__bottom {
		width: 35px;
		right: 18px;
		bottom: 35px;
		background-color: #fff;
		transform: rotate(-45deg);
	}
	header .hamburger__label {
		width: 35px;
		height: 35px;
		position: absolute;
		right: 20px;
		bottom: 15px;
		z-index: 105;
	}
	.header__nav-list {
		position: fixed;
		top: 0;
		right: 0;
		width: 80%;
		height: 100vh;
		background-color: var(--primary-color);
		text-align: left;
		margin: 0;
		padding: 100px 20px;
		transform: translateX(100%);
		opacity: 0;
		transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
		z-index: 100;
	}
	header .header__nav-item {
		border-bottom: solid 1px #5d758b;
		color: #fff;
		font-size: 1.6rem;
		line-height: 2rem;
		margin-left: 0;
		margin-bottom: 15px;
	}
	header .header__nav-item a {
		display: block;
		color: #fff;
		padding: 0 3px 14px 8px;
	}
	header .header__nav-item:hover {
		text-decoration: none;
	}
	#hamburger-toggle:checked ~ .header__nav-list {
		transform: translateX(0);
		opacity: 1;
	}
	
	/* Breadcrumb ｜　SP
	--------------------------------------------- */
	.breadcrumb {
		font-size: 1.2rem;
		line-height: 1.2rem;
	}
	.breadcrumb__scroll {
		margin-right: 25%;
		margin-left: 10px;
	}
	.breadcrumb__scroll ol {
		padding: 3px 10px 1px;
		margin-right: 5px;
	}
	.breadcrumb__scroll ol li {
		margin-right: 20px;
	}
	.breadcrumb a {
		transition: unset;
	}
	.breadcrumb a::before {
		bottom: 2px;
		transition: unset;
		opacity: 1;
	}
	.breadcrumb a:hover::before {
		opacity: 1;
	}
	.breadcrumb__scroll ol li a::after {
		top: calc(50% - 5px);
		right: -16px;
		font-size: 1rem;
		line-height: 1rem;
	}
	.breadcrumb__wrap::after {
		right: -50px;
	}

	/* Footer | SP
	--------------------------------------------- */
	/* Site Map */
	.footer-menu {
		flex-wrap: wrap;
		padding: 40px 15px 30px;
	}
	.footer-menu__section {
		flex-basis: 46%;
		margin-bottom: 40px;
	}
	.footer-menu__section--small {
		flex-basis: 100%;
		margin-bottom: 0;
	}
	.footer-menu__title {
		display: block;
		border-bottom: 1px solid var(--main-border-color);
		margin-bottom: 10px;
		padding: 0 2px 4px;
	}
	.footer-menu__title--link {
		display: block;
		font-size: 1.8rem;
		font-weight: 600;
		line-height: 2.6rem;
	}
	.footer-menu__title--link:hover {
		color: var(--text-link-color-reset);
	}
	.footer-menu__link:hover::after {
		display: none;
		transform: unset;
	}
	.footer-menu__section--small .footer-menu__list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.footer-menu__section--small .footer-menu__item {
		position: relative;
		font-size: 1.4rem;
		line-height: 1.8rem;
		margin: 0 10px;
	}
	.footer-menu__section--small .footer-menu__item::after {
		position: absolute;
		content: "";
		top: 50%;
		left: -10px;
		transform: translateY(-50%);
		width: 1px;
		height: 100%;
		background-color: var(--main-border-color);
	}
	.footer-menu__section--small .footer-menu__item:first-child::after {
		display: none;
	}
	.footer-menu__section--small .footer-menu__sns-line {
		margin:  0 auto;
	}
	/* Copyright */
	.footer__info {
		margin-bottom: 0;
	}
	.footer__logo-symbol {
		width: 50px;
		height: 50px;
	}
	.footer__logo-mark {
		width: 250px;
		height: 22px;
	}
	@media (max-width: 300px) {
		.footer__logo-symbol {
			width: 40px;
			height: 40px;
		}
	
		.footer__logo-mark {
			width: 200px;
			height: 18px;
		}
	}
	.footer__address,
	.footer__copyright {
		text-align: center;
		padding: 0 12px;
	}

	/* Floating-link ｜　SP
	--------------------------------------------- */
	.floating-link {
		position: sticky;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		height: 60px;
		right: 0;
		bottom: 0;
		border-top: 1PX solid var(--border-color);
		margin: 0;
		opacity: 1;
		transition: unset;
	}
	.floating-link.show {
		bottom: 0;
	}
	.floating-link__tel {
		display: block;
		position: relative;
		width: 15%;
		height: 60px;
		background: url(assets/images/background_02.jpg);
		border-top: 1px solid #fff;
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
	}
	.floating-link__tel::before {
		position: absolute;
		content: "";
		width: 40px;
		height: 40px;
		top: calc(50% - 20px);
		left: calc(50% - 20px);
		background: url(assets/images/icon/icon-tel_wh.svg) no-repeat;
	}
	.floating-link__contact {
		top: unset;
		right: unset;
		bottom: 0;
		left: 0;
		width: 35%;
		height: 60px;
		border-top: 1px solid #fff;
		border-right: 0;
		border-bottom: 0;
		border-radius: unset;
		font-size: 1.4rem;
		line-height: 120%;
		writing-mode: unset;
		-ms-writing-mode: unset;
		margin-bottom: 0;
		padding: 3% 0 0 10%;
		transition: unset;
	}
	.floating-link__contact::before {
		top: 26%;
        left: 5%;
        width: 20%;
        height: 50%;
	}
	.floating-link__entry {
		top: unset;
		right: unset;
		bottom: 0;
		left: 0;
		width: 35%;
		height: 60px;
		border-top: 1px solid #fff;
		border-right: 0;
		border-bottom: 0;
		border-radius: unset;
		font-size: 1.4rem;
		line-height: 120%;
		writing-mode: unset;
		-ms-writing-mode: unset;
		margin-bottom: 0;
		padding: 3% 0 0 10%;
		transition: none;
	}
	.floating-link__entry::before {
		top: 25%;
        left: 4%;
        width: 20%;
        height: 50%;
	}
	.floating-link__entry a,
	.floating-link__entry a:visited {
		color: var(--line-color) !important;
	}
	.floating-link__entry:hover {
		right: 0;
		color: var(--line-color);
	}
	span.font-upright {
		color: var(--line-color);
		text-orientation: unset;
		letter-spacing: 1px;
		margin-bottom: 0;
	}
	.floating-link__page-top {
		top: unset;
		right: 0;
		bottom: 0;
		width: 15%;
		height: 60px;
		border-top: 1px solid #fff;
		border-right: 0;
		border-bottom: 0;
		margin: 0;
	}
	.floating-link__page-top::before {
		top: 40%;
		left: calc(50% - 12px);
		width: 25px;
		height: 25px;
		border: 2px solid #fff;
		border-left: 0;
		border-bottom: 0;
	}
	.floating-link__page-top:hover {
		opacity: 1;
	}

	/* Aside ｜　SP
	--------------------------------------------- */
	/* Aside Contact */
	.contact-tools {
		padding: 60px 0 40px;
	}
	.contact-tools .title-area--main {
		margin-bottom: 50px;
		padding: 0 15px;
	}
	.contact-tools__text {
		text-align: justify;
		margin-bottom: 30px;
		padding: 0 15px;
	}
	.contact-tools__list {
		display: block;
		padding: 0 20px;
	}
	.contact-tools__item {
		margin-bottom: 20px;
		padding: 15px 10px 10px;
	}
	.contact-tools__item-icon {
		margin: 0 auto 10px;
	}
	.contact-tools__phone {
		margin-bottom: 5px;
	}
	.contact-tools__mail {
		margin-bottom: 10px;
	}
	.contact-tools__mail::before {
		transition: unset; 
	}
	.contact-tools__mail:hover {
		opacity: 1;
	}
	.contact-tools__mail:hover:before {
		right: 30px;
	}
	.contact-tools__line {
		margin-bottom: 10px;
	}
	.contact-tools__line::before {
		transition: unset; 
	}
	.contact-tools__line:hover {
		opacity: 1;
	}
	.contact-tools__line:hover:before {
		right: 30px;
	}
	/* Aside Area */
	.service-area__wrapper {
		padding: 50px 20px 60px;
	}
	.service-area__text-area {
		padding-right: 0;
	}
	.service-area__text {
		margin-bottom: 10px;
	}
	.service-area__group {
		margin-bottom: 25px;
	}
	.service-area__subtitle {
		border-left: 5px solid var(--primary-color);
		color: var(--primary-color);
		font-size: 1.8rem;
		font-weight: 600;
		margin-bottom: 8px;
		padding-left: 10px;
	}
	.service-area__group p {
		font-size: 1.5rem;
		line-height: 130%;
	}
	.service-area__map {
		flex-basis: 30%;
	}
	.service-area--page {
		padding: 0 0 60px;
	}
	.service-area--page .service-area__wrapper {
		width: 95%;
		margin: 0 auto;
		padding: 20px 15px 10px;
	}
	.service-area--page .title-area__title {
		border-right: unset;
		padding-right: 0;
	}
	.service-area--page .service-area__text {
		position: static;
		text-align: justify;
	}
	.service-area--page .service-area__group {
		margin-bottom: 20px;
	}
	.service-area--page .service-area__map {
		display: none;
	}
	/* Aside Ads */
	.ads-contact {
		flex-direction: column;
		width: 90%;
		margin: 50px auto;
	}
	.ads-contact__text-area {
		order: 2;
		padding: 5px 15px 20px;
	}
	.ads-contact__title {
		font-size: 2.6rem;
		line-height: 3rem;
	}
	.ads-contact__tag-list {
		gap: 10px;
	}
	.ads-contact__tag {
		display: flex;
    	align-items: center;
		font-size: 1.4rem;
		line-height: 1.8rem;
		text-align: center;
		margin: 0;
		padding: 5px 10px;
	}
	.ads-contact__note {
		font-size: 1.6rem;
		line-height: 140%;
		margin-bottom: 10px;
	}
	.ads-contact__tel-link {
		display: block;
		border: 2px solid var(--primary-color);
		border-radius: 40px;
		font-size: 1.6rem;
		line-height: 3rem;
		margin-bottom: 15px;
		padding: 4px 5px 10px;
	}
	.ads-contact__tel-number {
		font-size: 3rem;
		line-height: 2rem;
		margin-left: 10px;
	}
	.ads-contact__tel-number::before {
		position: absolute;
		content: "";
		width: 30px;
		height: 30px;
		top: calc(50% - 12px);
		left: -30px;
	}
	.ads-contact__mail-link {
		border-radius: 40px;
		color: #fff100;
		font-size: 1.6rem;
		line-height: 2.5rem;
		padding: 13px 5px 15px;
		transition: unset;
	}
	.ads-contact__mail {
		position: relative;
		color: #fff;
		font-size: 2rem;
		line-height: 2rem;
		margin-left: 35px;
	}
	.ads-contact__mail::before {
		width: 30px;
		height: 30px;
		top: -4px;
		left: -35px;
		background: url(assets/images/icon/icon-mail.svg) no-repeat;
		background-size: contain;
		background-position: center;
	}
	.ads-contact__mail-link:hover {
		opacity: 1;
	}
	.ads-contact__image {
		order: 1;
		width: 100%;
		height: auto;
		border-radius: 36px 36px 0 0;
		padding: 5px;
	}
	.ads-contact__image img {
		object-position: 60% 50%;
	}

	/* INDEX ｜　SP
	--------------------------------------------- */
	/* Maine Image */
	.first-view {
		height: 63vh;
	}
	.first-view__title {
		width: 30%;
		max-height: 80%;
		height: auto;
	}
	/* Slide */
	.first-view__slide {
		height: 63vh;
	}
	.first-view__slide-image:nth-child(2) {
		background-position: 25% center;
	}
	.first-view__slide-image:nth-child(3) {
		background-position: 100% center;
	}
	.first-view__slide-image:nth-child(4) {
		background-position: 45% center;
	}
	/* News */
	.news {
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 12px 20px;
	}
	.news__title-area {
		order: 1;
		flex-basis: 50%;
		padding-right: 0;
	}
	.news__title {
		position: relative;
		font-size: 1.8rem;
		text-align: left;
		margin-bottom: 8px;
	}
	.news__title::before {
		position: absolute;
		content: "";
		left: 0;
		bottom: -8px;
		width: 1.8rem;
		height: 1px;
		background: #fff;
	}
	.news__list {
		order: 3;
		flex-basis: 100%;
		max-width: 100%;
		border-left: none;
		padding: 2px 0;
	}
	.news__item {
		margin-bottom: 10px;
	}
	.news__item:last-child {
		margin-bottom: 0;
	}
	.news__item a {
		display: block;
		transition: unset;
	}
	.news__item a:hover {
		opacity: 1;
	}
	.news__date {
		font-size: 1.3rem;
		line-height: 1.3rem;
	}
	.news__headline {
		line-height: 130%;
		padding-left: 0;
	}
	.news__item a:hover .news__headline {
		text-decoration: underline;
	}
	.news__link{
		order: 2;
		flex-basis: 50%;
		padding-right: 10px;
	}
	.news__link-text a::before {
		display: none;
		transition: unset;
	}
	.news__link-text a:hover::before {
		display: none;
	}
	.news__link-text a::after {
    	margin-left: 5px;
		transition: unset;
	}
	.news__link-text a:hover::after {
		transform: unset; 
	}
	/* Introduction & Closing */
	.closing {
		padding:  0;
	}
	.intro::before,
	.closing::before {
		left: calc(50% - 160px);
		width: 300px;
		height: 250px;
	}
	.intro__wrapper,
	.closing__wrapper {
		padding: 30px 15px 0;
	}
	.intro__text-area,
	.intro__text-area--wide,
	.closing__text-area {
		width: 100%;
		margin-bottom: 20px;
	}
	.intro__title,
	.closing__title {
		font-size: 3.5rem;
		line-height: 4.5rem;
		text-align: center;
		margin-bottom: 20px;
	}
	.intro__image-area {
		width: 100%;
		text-align: center;
	}
	.closing__image-area {
		position: relative;
		width: 100vw;
		height: 180px;
		margin-left: calc(-50vw + 50%);
		text-align: center;
		overflow: hidden;
	}
	.intro__image-area img {
		width: 90%;
	}
	.closing__image-area img {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		height: auto;
		transform: translate(-50%, -50%);
	}
	/* Service */
	.top-service {
		padding: 60px 15px;
	}
	.top-service__text-area {
		text-align: justify;
		margin-bottom: 40px;
	}
	.top-service__info {
		margin-bottom: 60px;
	}
	.top-service__info-image {
		width: 100%;
		height: 180px;
		margin-bottom: 20px;
	}
	.top-service__info-text,
	.top-service__info--reverse .top-service__info-text {
		padding-left: 5px;
		padding-right: 5px;
	}
	.top-service__info-description {
		margin-bottom: 30px;
	}
	/* Reasone */
	.top-reasone {
		background-size: 50% auto;
		padding: 60px 0;
	}
	.top-reasone__wrapper {
		padding: 0 15px;
	}
	.top-reasone__text-area {
		text-align: justify;
		margin-bottom: 30px;
	}
	.top-reasone__image {
		width: 100%;
		height: 200px;
		margin-bottom: 10px;
	}
	.top-reasone__title {
		font-size: 3rem;
		margin-bottom: 10px;
	}
	/* Work */
	.top-work {
		padding: 60px 0;
	}
	.top-work__list {
		flex-wrap: wrap;
		margin-bottom: 20px;
		padding: 0 15px;
	}
	.top-work__item {
		flex-basis: 48%;
	}
	.top-work__link:hover {
		opacity: 1;
	}
	.top-work__image {
		width: 100%;
		height: 160px;
		background-size: 40%;
		margin-bottom: 4px;
	}
	.top-work__image img {
    	transition: none !important;
	}
	.top-work__link:hover .top-work__image img {
		transform: scale(1);
	}
	.top-work__text-area {
		width: 100%;
		margin-bottom: 25px;
	}
	.top-work__tag {
		margin-bottom: 5px;
	}
	.top-work__text {
		font-size: 1.5rem;
		line-height: 120%;
	}
	/* Voice */
	.top-voice {
		padding: 60px 0;
	}
	.title-area--voice {
		margin-bottom: 40px;
	}
	.top-voice__wrapper {
		position: static;
	}
	.top-voice__image {
		position: static;
		width: 94%;
		height: 200px;
		background-size: 30%;
		margin: 0 auto 30px;
	}
	.top-voice__wrapper .title-area--sub {
		width: 100%;
		padding: 0 15px;
	}
	.top-voice__text-area {
		width: 100%;
		margin: 0 auto;
		padding: 0 15px;
	}
	.top-voice__name {
		text-align: center;
	}
	.top-voice__text {
		margin-bottom: 30px;
		padding: 0 5px;
	}
	/* Blog */
	.top-blog {
		padding: 60px 15px;
	}
	.top-blog__list {
		border-bottom: 1px solid var(--main-border-color);
		margin-bottom: 30px;
	}
	.top-blog__item {
		border-bottom: 0;
		margin-top: 0;
		padding: 0;
	}
	.top-blog__link {
		transition: unset;
	}
	.top-blog__link:hover {
		background: unset;
		opacity: 1;
	}
	.top-blog__image {
		width: 30%;
	}
	.top-blog__text {
		width: 70%;
		padding-left: 20px;
	}
	.top-blog__headline {
		font-size: 1.6rem;
	}
	a.text-link:hover {
		color: var(--sub-color);
		text-decoration: underline;
		text-underline-offset: 2px;
		font-weight: 400;
	}

	/* Fixed page | SP
	--------------------------------------------- */
	/* Page-Reason | SP
	--------------------------------------------- */
	/* Number Item 01-05 */
	.page-reason__item {
		padding: 50px 0 60px;
	}
	.page-reason__title-area {
		padding: 0 20px;
		margin-bottom: 20px;
	}
	.page-reason__number {
		font-size: 4rem;
		line-height: 5rem;
		margin-bottom: 10px;
	}
	.page-reason__number::before {
		content: "";
		left: calc(50% - 90px);
		width: 200px;
		height: 50px;
	}
	.page-reason__title {
		font-size: 3rem;
		line-height: 130%;
	}
	.page-reason__content {
		margin-bottom: 50px;
	}
	.page-reason__image {
		width: 100%;
		height: 300px;
	}
	.page-reason__image--reverse {
		margin-left: auto;
	}
	.page-reason__image img {
		width: 100%;
		height: 100%;
	}
	.page-reason__text {
		width: 95%;
		margin: -40px auto 60px;
		padding: 40px 30px 30px;
	}
	.page-reason__text--reverse {
		margin: -40px auto 60px;
	}
	.page-reason__text::before {
		top: -25px;
        right: -45px;
        width: 45%;
        height: 50px;
	}
	.page-reason__text--reverse::before {
		top: -25px;
        right: -45px;
		left: unset;
        width: 45%;
        height: 50px;
	}
	.page-reason__text::after {
		bottom: -30px;
        left: -30px;
		width: 45%;
        height: 50px;
	}
	.page-reason__text--reverse::after {
		bottom: -30px;
		right: unset;
        left: -30px;
		width: 45%;
        height: 50px;
	}
	.page-reason__list {
		width: 90%;
	}
	.page-reason__list li {
		font-size: 2.4rem;
		padding-left: 4rem;
	}
	.page-reason__list li::before {
		left: 0.5rem;
		font-size: 3rem;
	}
	/* Number Item 05-06 */
	.page-reason__block-content {
		display: flex;   
		flex-wrap: wrap;
	}
	.page-reason__block-text {
		width: 90%;
		margin: 0 auto;
	}
	.page-reason__block-wrapper::before {
		top: -20px;
		right: -40px;
		width: 45%;
        height: 50px;
	}
	.page-reason__block-wrapper::after {
		bottom: -30px;
		left: -30px;
		width: 45%;
        height: 50px;
	}
	.page-reason__block-image {
		width: 90%;
		margin: 0 auto;
	}
	.page-reason__block-text {
		margin-bottom: 20px;
	}
	.page-reason__block-text--reverse {
		order: 2;
	}
	.page-reason__block-image--reverse {
		order: 1;
	}
	.page-reason__block-text--reverse {
		order: 1;
	}
	.page-reason__block-image--reverse {
		order: 2;
	}
	.page-reason__block-image--small img {
		height: 240px;
   	}
	/* Number Introduction */
	.page-reason__introduction {
		width: 94%;
		margin: 0 auto 60px;
		padding: 20px 15px;
	}
	.page-reason__introduction h2 {
		font-size: 2.4rem;
		line-height: 140%;
		margin-bottom: 20px;
	}
	.page-reason__introduction .is-last {
		margin-bottom: 30px;
	}
	.page-reason__introduction-list-title {
		align-items: center;
		justify-content: center; 
		border: 2px solid var(--primary-color);
		text-align: center;
		margin-bottom: 15px;
		padding: 15px;
	}
	.page-reason__introduction-list-title h3 {
		font-weight: 600;
		line-height: 130%;
	}
	.page-reason__introduction-item {
		padding: 0 5px;
	}
	.page-reason__introduction-item li {
		margin: 5px 0;
	}

	/* Page-service | SP
	--------------------------------------------- */
	/* Explanation */
	.page-service__title {
		margin-bottom: 30px;
	}
	.page-service__explanation {
		padding: 60px 15px;
	}
	.page-service__explanation .intro__text-area {
		text-align: justify;
		margin-bottom: 40px;
	}
	.page-service__explanation .intro__text-area::before {
		top: -15%;
		transform: translateX(-50%);
		width: 70%;
		height: 70%;
	}
	/* Service Llist */
	.page-service__item {
		width: 100%;
		margin-bottom: 70px;
	}
	.page-service__item:hover {
		opacity: 1;
	}
	.page-service__item-image {
		width: 100%;
		height: 200px;
	}
	.page-service__item-image img {
		object-fit: cover;
		transition: none;
	}
	.page-service__item:hover .page-service__item-image img {
		transform: scale(1);
	}
	.page-service__item-title {
		border-bottom: 1px dashed #221815;
		text-align: center;
		margin-bottom: 15px;
		padding-bottom: 10px;
		padding-left: 10px;
	}
	.page-service__item-title h3 {
		position: relative;
		display: inline;
		font-family: "Shippori Mincho", serif;
		font-size: 3rem;
		line-height: 130%;
	}
	.page-service__item-title h3::before {
		position: absolute;
		content: "";
		top: 1.8rem;
		left: -1.5rem;
		width: 0;
		height: 0;
		border-style: solid;
		border-top: 4px solid transparent;
		border-bottom: 4px solid transparent;
		border-left: 8px solid #555555;
	}
	.page-service__item-note {
		font-size: 1.5rem;
		padding: 0 3px;
	}
	/* Service Flow */
	.page-service__flow {
		text-align: justify;
		padding: 60px 15px;
	}
	.page-service__flow-text {
		margin-bottom: 30px;
	}
	.page-service__flow-image {
		width: 90%;
		height: 65vh;
		background: url(assets/images/service/illust_flow_sp.svg) no-repeat;
		background-size: contain;
		background-position: center;
		margin: 20px auto;
	}
	/* Service-common-head */
	.page-service__section-head {
		width: 90%;
		margin: 0 auto 50px;
	}
	.page-service__text {
		text-align: justify;
	}
	.page-service__tag-list {
		margin-bottom: 30px;
	}
	.page-service__tag-item {
		width: 90%;
		font-size: 1.6rem;
		line-height: 2rem;
		margin: 0 auto 10px;
		padding: 8px 10px 6px;
	}
	.page-service__tag-note {
		display: block;
		margin-top: 2px;
	}
	.page-service__text {
		text-align: justify;
	}
	/* Service-common-content */
	.page-service__content .text-center {
		font-size: 2.8rem;
	}
	.page-service__content-top {
		width: 100%;
		height: auto;
		margin-bottom: 20px
	}
	.page-service__content-text-top {
		width: 100%;
	}
	.page-service__content-image {
		width: 100%;
		height: 200px;
		margin-bottom: 20px;
	}
	.page-service__content-image--contain {
		width: 100%;
		height: 250px;
	}
	.page-service__content-text {
		width: 90%;
		margin: 0 auto 50px;
	}
	.page-service__content--text .page-service__content-text {
		width: 90%;
		margin: 0 auto 60px;
	}
	.page-service__content--reverse.u-w90 {
		width: 90%;
		margin: 0 auto;
	}
	.page-service__content-title {
		font-size: 2.5rem;
		margin-bottom: 15px;
	}
	.page-service__content--text .page-service__content-sub-title {
		width: 90%;
		margin: 40px auto 10px;
	}
	/* Service-common-photo-area */
	.page-service__photo-content {
		width: 90%;
		margin: 0 auto 40px;
	}
	.page-service__photo-group {
		width: 100%;
	}
	.page-service__photo-title {
		font-size: 2.4rem;
	}
	.page-service__photo-area {
		gap: 15px;
		margin: 10px auto 40px;
	}
	.page-service__photo-area img {
		width: 48%;
		height: 150px;
	}
	/* Service-common-button */
	.page-service__button-wrap .page-service__button {
		margin: 20px auto;
	}
	/* Service Wall-roof
	--------------------------------------------- */
	.page-wall-roof__wall {
		padding: 50px 0;
	}
	.page-wall-roof__roof {
		padding: 50px 0;
	}
	/* Service Door-paint
	--------------------------------------------- */
	.page-door-paint__contents {
		padding: 50px 0;
	}
	.page-door-paint__contents .page-service__content-image {
		height: 240px;
	}
	.page-service__photo-area figure {
		margin: 30px 0;
	}
	.page-service__photo-area figure img {
		width: 100%;
		height: 200px;
	}
	/* Service Shield-paint
	--------------------------------------------- */
	.page-shield-paint__contents {
		padding: 50px 0;
	}
	.page-shield-paint__contents .page-service__photo-area {
		width: 90%;
		margin: 0 auto 50px;
	}
	.page-shield-paint__contents .page-service__photo-area figure img {
		height: 230px;
	}
	.page-shield-paint__contents p a {
		color: var(--text-link-color);
		text-decoration: underline;
		text-underline-offset: 2px;
	}
	.page-shield-paint__contents p a:hover,
	.page-shield-paint__contents p a:visited {
		color: var(--text-link-color);
		text-decoration: underline;
		text-underline-offset: 2px;
	}
	.page-shield-paint__section {
		padding-bottom: 40px;
	}
	.page-shield-paint__section .page-service__content-text {
		margin-bottom: 20px;
	}
	.page-shield-paint__photo-area {
		margin-bottom: 30px;
	}
	.page-shield-paint__photo-area .img-50 {
		width: 100%;
		margin: 0 auto 20px;
	}
	.page-shield-paint__photo-area .img-48 {
		width: 90%;
		margin: 0 auto 20px;
	}
	.page-shield-paint__photo-area .img-48 img {
		display: block;
		width: 100%;
		height: 100%;
	}
	.page-shield-paint__photo-area figcaption {
		font-size: 1.4rem;
		line-height: 130%;
		margin-top: 10px;
	}
	/* Service Waterproof
	--------------------------------------------- */
	.page-waterproof {
		padding: 50px 0;
	}
	/* Service Other-paint
	--------------------------------------------- */
	.page-other-paint__rain-leak {
		padding-bottom: 60px;
	}
	.page-other-paint__small-construction {
		padding: 60px 0;
	}
	.page-other-paint__rain-leak .page-service__content-title--center {
		width: 90%;
		margin: 0 auto 30px;
	}
	.page-other-paint__rain-leak .page-service__content-title--between {
		margin-top: 30px;
	}
	.page-other-paint__photo-area {
		width: 90%;
		margin: 0 auto 60px;
	}
	.page-other-paint__photo-area figure {
		text-align: justify;
		margin-bottom: 30px;
	}
	.page-other-paint__photo-area figure img {
		width: 100%;
		margin-bottom: 10px;
	}
	/* Service Diagnosis
	--------------------------------------------- */
	.page-diagnosis__contents {
		padding: 50px 0;
	}

	/* Service Price
	--------------------------------------------- */
	/* Introduction */
	.page-price__intro {
		width: 90%;
		text-align: justify;
		margin: 0 auto;
		padding: 0 0 40px;
	}
	.page-price__formula {
		text-align: center;
	}
	.page-price__note {
		text-indent: -5.5rem;
		padding-left: 5.5rem;
	}
	/* Price common */
	.page-price__contents {
		padding-bottom: 60px;
	}
	.page-price__title {
		font-size: 2.4rem;
	}
	.page-price__wrap {
		width: 90%;
		margin: 0 auto 40px;
	}
	.page-price__list {
		background: #fff;
		border-top: 2px solid #b5b5b6;
	}
	.page-price__item {
		display: flex;
		justify-content: space-between;
		border-bottom: 2px solid #b5b5b6;
		align-items: center;
		border-right: none;
	}
	.page-price__item-title {
		flex-basis: 60%;
		height: 100%;
		border-top: none;
		border-bottom: none;
		font-size: 1.4rem;
		padding: 15px 5px;
	}
	.page-price__item-price {
		flex-basis: 40%;
		height: 100%;
		background: #fff;
		border-top: none;
		border-bottom: none;
		font-size: 1.5rem;
	}
	.page-price__title-note {
    	font-size: 1.6rem;
	}
	.page-price__list-note {
		text-align: center;
	}
	.page-service__door {
		width: 100%;
	}

	
	/* Page-Company
	--------------------------------------------- */
	/* Greeting */
	.page-company__greeting {
		padding: 0 15px 60px;
	}
	.page-company__greeting::before {
		top: -30px;
		left: -20px;
		width: 45%;
		height: 50px;
	}
	.page-company__greeting::after {
		right: -20px;
		bottom: 30px;
		width: 45%;
		height: 50px;
	}
	.page-company__president {
		text-align: right;
		margin-top: 30px;
	}
	.page-company__president-fullname img {
		width: 9rem;
		height: 2.8rem;
	}
	/* Profile */
	.page-company__profile {
		padding: 60px 0 40px;
	}
	.page-company__profile-list {
		padding: 0 20px;
	}
	.page-company__profile-item {
		font-size: 1.6rem;
		padding: 10px 0 5px;
	}
	.page-company__profile-item:first-child {
		border-top: 1px solid var(--main-border-color);
	}
	.page-company__profile-title {
		text-align: left;
		margin-bottom: 5px;
		padding: 0 10px;
	}
	.page-company__profile-text {
		line-height: 140%;
		padding: 0 10px;
	}
	.page-company__profile-name {
		width: 6.6rem;
		height: 2rem;
	}
	.page-company__profile-map {
		margin-left: 0;
		padding: 0 6px;
	}
	.page-company__profile-map a,
	.page-company__profile-map a:hover,
	.page-company__profile-map a:visited {
		color: #fff;
	}
	.page-company__profile-map a:hover {
		opacity: 0.9;
	}
	.page-company__profile-section {
		margin-bottom: 20px;
	}
	.page-company__profile-section:last-child {
		margin-bottom: 0;
	}
	.page-company__profile-section-title {
		color: var(--primary-color);
		font-weight: 600;
		margin-bottom: 0;
	}
	.page-company__profile-section-list li {
		position: relative;
		padding-left: 20px;
	}
	.page-company__profile-section-list li:last-child {
		margin-bottom: 10px;
	}
	.page-company__profile-section-list li::before {
		position: absolute;
		content: "・";
		top: 0;
		left: 4px;
		width: 1.8rem;
		height: 1.8rem;
	}
	/* Profile-Qualification */
	.page-company__qualification {
		padding: 50px 20px 20px;
	}
	.page-company__qualification-list {
		display: block;
		padding: 20px 0 10px;
	}
	.page-company__qualification-item {
		width: 100%;
		font-size: 1.8rem;
		margin-bottom: 10px;
	}
	.page-company__qualification-item:nth-last-child(-n+5) {
		width: 100%; 
	}
	.page-company__qualification-note {
		text-align: right;
	}
	/* Profile-Gallery */
	.page-company__gallery {
		padding: 0 15px;
	}
	.page-company__gallery::after {
		width: 48%;
	}
	.page-company__gallery-item {
		width: 48%;
		margin-bottom: 20px;
	}
	.page-company__gallery-photo {
		height: 120px;
		margin-bottom: 10px;
	}
	.page-company__gallery-item p {
		font-size: 1.6rem;
	}
	/* History */
	.page-company__history {
		padding: 60px 0;
	}
	.l-container.page-company__history-list {
		padding: 20px;
	}
	.page-company__history-title {
		width: 37%;
		font-size: 1.6rem;
		padding: 20px 10px 20px 0;
	}
	.page-company__history-text {
		position: relative;
		width: 63%;
		border-left: 2px solid var(--main-border-color);
		font-size: 1.6rem;
		line-height: 140%;
		margin: 0;
		padding: 20px 0 20px 15px;
	}
	.page-company__history-text::before {
		position: absolute;
		content: "";
		top: 25px;
		left: -6px;
		width: 10px;
		height: 10px;
		background: var(--primary-color);
		border-radius: 50%;
	}
	span.page-company__president-name {
		width: 6.6rem;
		height: 2.4rem;
	}

	/* Page-Contact
	--------------------------------------------- */
	.page-contact__intro {
		text-align: justify;
		padding: 60px 15px;
	}
	.page-contact__phone {
		padding: 0 15px 50px;
	}
	.page-contact__tel-number {
		font-size: 4rem;
	}
	.page-contact__tel-number::before {
		top: 2px;
		left: 0;
		width: 3rem;
		height: 3rem;
	}
	.page-contact__form {
		padding: 60px 0;
	}
	/* Form */
	.page-contact__form {
	width: 90%;
	margin: 0 auto;	
	}
	.page-contact__text {
		text-align: justify;
	}
	/* Mail-form */
	.page-contact__form-wrapper {
		padding: 30px 0;
	}
	.page-contact__form-item {
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.page-contact__form-label {
		flex-basis: 100%;
		padding: 8px 5px;
	}
	.page-contact__form-required,
	.page-contact__form-any {
		width: 15%;
		margin-right: 0;
	}
	.page-contact__text .page-contact__form-required {
		width: 100%;
	}
	.page-contact__form-radio-group,
	.page-contact__form-input, 
	.page-contact__form-textarea {
		flex-basis: 100%;
	}
	.page-contact__form-file-group {
		flex-basis: 100%;
	}
	.page-contact__form-radio-group {
		flex-wrap: wrap;
	}
	/* File-select */
	.file-button,
	.file-status .delete-button {
		width: 30%;
		text-align: center;
		padding: 6px 15px;
		transition: none;
	}
	.file-button:hover {
		background: #fff;
		color: #8d8d8d;
	}
	/* Radio-button */
	.page-contact__form-radio {
		margin-bottom: 6px;
	}
	/* Checkbox */
	.page-contact__form-checkbox span {
		position: relative;
		display: block !important;
		align-items: center;
		padding-left: 22px;
	}
	.page-contact__form-checkbox span::before {
		position: absolute;
		top: 5px;
		left: 0;
	}
	.page-contact__form-checkbox span a:hover {
		color: var(--text-link-color);
	}
	.page-contact__form-checkbox input[type="checkbox"]:checked + span::after {
		top: 14px;
	}
	/* Submit-button */
	.page-contact__form-submit {
		justify-content: center;
	}
	.page-contact__form-button.enabled:hover {
		background-color: var(--secondary-color);
	}
	/* note */
	.page-contact__form-note a:hover {
		text-decoration: underline;	
	}

	/* Page-Useful-info
	--------------------------------------------- */
	.page-useful-info__list .content-list__title {
		font-size: 1.8rem;
		line-height: 130%;
		margin-bottom: 10px;
        padding-bottom: 5px;
	}
	.page-useful-info__list .content-list__item {
		width: 48%;
	}
	.page-useful-info__list .content-list__image {
		margin-bottom: 10px;
	}
	.page-useful-info-report__image {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		background: url(assets/images/icon/icon-scroll.svg) no-repeat;
		background-position: 2% 0;
		background-size: 12%;
		border-right: 1px solid #b2b2b2;
		margin: 30px 0;
		padding: 20px 0 5px;
	}
	.page-useful-info-report__image img {
		display: block;
		min-width: 800px;
		margin: 0 !important;
	}
	.page-useful-info-report__small-image {
		width: 90%;
		height: auto !important;
	}
	.page-useful-info-report__small-image img {
		width: 100%;
		height: auto !important;
	}
	.page-useful-info__list-text {
		font-size: 1.5rem;
		line-height: 130%;
	}
	.page-useful-info-report__text-big {
		font-size: 1.8rem;
		line-height: 140%;
	}
	.page-useful-info__text-note {
		margin-left: 0;
	}
	.page-useful-info .content-wrap::after {
		bottom: 20px;
	}
	.page-useful-info-report__flex img {
		width: 90%;
		margin: 20px auto !important;
	}
	.page-useful-info-flow__text {
		margin-bottom: 20px;
	}
	.page-useful-info-flow__image img {
		width: 70% !important;
		margin: 0 auto !important;
	}
	.post-main h3.page-useful-info-flow__title {
		margin: 0 0 10px;
	}
	.page-useful-info-flow__step-list {
		flex-direction: column;
	}
	.page-useful-info-flow__triangle {
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 18px solid transparent;
		border-left: 18px solid transparent;
		border-top: 25px solid var(--sub-color);
		border-bottom: 0;
		margin-top: -6px;
		margin-left: calc(50% - 18px);
	}
	.page-useful-info-flow__step-item {
		padding: 10px 10px 10px 35px;
	}

	/* Page-recommend-paint
	--------------------------------------------- */
	.page-recommend-paint__container ruby {
		margin-left: 0;
	}
	.post-main .page-recommend-paint__image,
	.post-main .page-recommend-paint__item .page-recommend-paint__image {
		width: 90%;
	}
	
	/* Banner Area */
	.post-main .page-recommend-link { 
		margin: 10px 0;
	}
	.post-main .page-recommend-link:hover {
		opacity: 1;
	}
	.post-main .page-recommend-link__image {
		height: 100px;
		padding: 15px;
	}
	.page-recommend-link__title {
		padding: 5px 10px;
	}
	.page-recommend-link__title p {
		font-size: 1.5rem;
		text-align: left;
		padding-left: 15px;
	}

	/* Page-glossary
	--------------------------------------------- */
	/* Glossary Nav List */
	.post-main .page-glossary__nav-item a:hover {
		background: var(--primary-background);
	}
		
	/* Page-faq
	--------------------------------------------- */
	.page-faq {
		padding: 0 0 40px;
	}
	.page-faq__title-wrap {
		padding-top: 40px;
	}
	.page-faq__main {
		padding: 0 20px;
	}
	.page-faq__main h2 {
		font-size: 2rem;
		padding: 8px 0 8px 10px;
	}
	.page-faq.content-wrap::before {
		top: 20px !important;
	}
	.page-faq.content-wrap::after {
		bottom: 20px !important;
	}
	.page-faq .post-main {
		margin-bottom: 40px;
	}
	.page-faq__item {
		padding: 0 5px 20px 30px;
	}

	/* Page-privacy-policy
	--------------------------------------------- */
	.page-privacy-policy {
		padding: 40px 0;
	}
	.page-privacy-policy.content-wrap::before {
		top: 20px !important;
	}
	.page-privacy-policy.content-wrap::after {
		bottom: 20px !important;
	}
	.page-privacy-policy .post-main {
		margin-bottom: 40px;
	}
	/* Service Not-Found
	--------------------------------------------- */
	.page-not-found__content {
		padding-bottom: 0;
	}
	.page-not-found__content .post-main__title {
		font-size: 12rem;
	}


	/* Post Pages　｜ SP
	--------------------------------------------- */
	/*　common
	--------------------------------------------- */
	/* Pagination */
	.pagination {
		padding: 40px 0 60px;
	}
	.pagination__list {
		font-size: 1.6rem;
		line-height: 1.6rem;
		gap: 10px;
	}
	.pagination__item {
		width: 3rem;
		height: 3rem;
		line-height: 3rem;
	}
	.pagination__item a:hover,
	.pagination__item .active {
		width: 3rem;
		height: 3rem;
	}
	.pagination__dots span::before {
		width: 2rem;
		height: 2rem;
		font-size: 1.6rem;
		line-height: 3rem;
	}
	.pagination__item.pagination__prev,
	.pagination__prev a,
	.pagination__item.pagination__next,
	.pagination__next a {
		display: inline-block;
		width: 2rem !important;
		height: 3rem;
	}
	.pagination__prev a:hover,
	.pagination__next a:hover {
		opacity: 1;
	}
	.pagination__prev a::before,
	.pagination__next a::before {
		width: 12px;
		height: 12px;
	}
	/* List (menu-list & squares) */
	.content-wrap:before {
		top: -30px;
        left: -20px;
        width: 45%;
        height: 50px;
	}
	.content-wrap::after {
		bottom: -30px;
        right: -30px;
        width: 45%;
        height: 50px;
    }
	.content-list {
		width: 95%;
		margin: 0 auto;
	}
	.content-list::before {
		top: -40px;
		left: -30px;
		width: 45%;
        height: 50px;
	}
	.content-list::after {
		right: -30px;
    	bottom: -20px;
		width: 45%;
	}
	/* List Item (3 squares) */
	.content-list__item {
		width: 48%;
		margin-bottom: 20px;
	}
	.content-list__link:hover {
		opacity: 1;
	}
	.content-list__image {
		height: 150px;
		background-size: 40%;
		margin-bottom: 6px;
	}
	.content-list__image img {
		transition: unset;
	}
	.content-list__link:hover .content-list__image img {
		transform: scale(1);
	}
	.content-list__text-group {
		display: flex;
		margin-bottom: 2px;
	}
	.content-list__tag {
		font-size: 1.2rem;
		line-height: 135%;
		margin-right: 0;
		margin-bottom: 2px;
		padding: 2px 8px 0;
	}
	.content-list__address {
		padding-top: 1px;
	}
	.content-list__title {
		font-size: 1.5rem;
	}
	/* List (single / no-menu-list) */
	.content-wrap--nomal {
		padding: 60px 0 30px;
	}
	.content-wrap--blog {
		padding: 60px 0 30px;
	}
	.content-wrap.content-wrap--nomal:before,
	.content-wrap.content-wrap--blog:before {
		top: 30px !important;
	}
	.content-wrap--nomal .content-list--single {
		width: 90%;
	}
	.content-list--single .content-list__link {
		position: relative;
		padding: 15px 30px 15px 10px;
		transition: unset;
	}
	.content-list--single .content-list__link.content-list__link:hover {
		background: none;
	}
	.content-list--single .content-list__link::before {
		top: calc(50% - 8px);
		right: 10px;
		width: 12px;
		height: 12px;
		transition: unset;
	}
	.content-list--single .content-list__link:hover::before {
		right: 10px;
	}

	/* Post Single-post | SP
	--------------------------------------------- */
	.post-wrap {
		padding: 20px 0 40px;
	}
	.post-wrap--blog {
		padding: 30px 0 100px;
	}
	.post-wrap--news {
		padding: 30px 0;
	}
	.post-wrap.content-wrap::before {
		top: 30px;
	}
	.post-wrap.content-wrap::after {
		bottom: 400px;
	}
	/*　Main Content
	--------------------------------------------- */
	.post-main {
		width: 90%;
		margin: 0 auto 100px;
		padding-right: 0;
	}
	.post-wrap--news .post-main {
		margin: 0 auto 30px;
	}
	/* Post Title */
	.post-main__title-wrap {
		margin-bottom: 20px;
		padding-bottom: 10px;
	}
	.post-main__title-list {
		align-items: center;
		margin-bottom: 10px;
	}
	.post-main__list-tag {
		display: inline-block;
		font-size: 1.4rem;
		margin-right: 20px;
		margin-bottom: 5px;
		padding: 0 10px;
	}
	.post-main__title {
		font-size: 2.6rem;
		text-align: left;
	}
	/* Post Time */
	.post-main__data {
		margin: -10px 0 30px;
	}
	/* Post Details */
	.post-main__text-wrap {
		padding: 0;
	}
	.post-main img {
		width: 100%;
		height: 30vh;
		margin: 30px auto;
	}
	.post-main a:hover {
		color: var(--sub-color);
		font-weight: 400;
	}
	.post-main figure {
		margin: 40px auto;
	}
	.post-main figure img {
		width: 100%;
		height: 30vh;
	}
	.post-main figcaption {
		width: 100%;
	}
	.post-main .post-main__flex {
		display: block;
		width: 100%;
	}
	.post-main .post-main__flex figure {
		width: 100%;
		margin-bottom: 30px;
	}
	.post-main .post-main__flex img {
		width: 100%;
		height: 100%;
		max-height: 35vh;
	}
	.post-main .post-main__single {
		width: 100%;
		margin-left: 0;
	}
	.post-main .post-main__w-auto {
		width: 100%;
		height: 45vh;
		margin: 30px auto;
	}
	.post-main .post-main__w-auto img {
		width: auto;
		height: 45vh;
	}
	.post-main .post-main__single figure img {
		width: 100%;
		height: 100%;
		max-height: 35vh;
	}
	.post-main .blog-box-white {
		margin: 30px 0;
		padding: 15px;
	}
	.post-main .blog-box-gray {
		margin: 30px 0;
		padding: 15px;
	}
	.single-post__link a:hover {
		color: var(--sub-color);
	}
	/* Post table */
	.post-main__scroll-x {
		width: 100%;
		height: auto;
		background: url(assets/images/icon/icon-scroll.svg) no-repeat;
        background-position: 2% 0;
        background-size: 12%;
        border-right: 1px solid #b2b2b2;
		margin: 30px 0;
		padding: 20px 0 5px;
		overflow-x: auto;
  		-webkit-overflow-scrolling: touch;
	}
	.post-main__scroll-x table {
		border-collapse: separate;
		border-spacing: 0;
	}
	.post-main table {
		min-width: 800px;
        margin: 0;
	}
	.table-scroll-fixed {
		position: sticky;
		left: 0;
		width: 12%;
		border: 1px solid #fff;
		z-index: 2;
	}
	.table-scroll-fixed::before {
		position: absolute;
		content: "";
		width: 2px;
		height: 100%;
		top: 0;
		left: -2px;
		background: var(--border-color);
	}
	.post-main table .table-inner-img {
		width: 60vw !important;
		height: auto !important;
	}
	/* Post list */
	
	/* Post Title */
	.post-main h2 {
		font-size: 2.6rem;
		margin: 55px 0 20px;
		padding: 5px 0 5px 10px;
	}
	.post-main h3 {
		font-size: 2.2rem;
		margin: 40px 0 15px;
		padding: 15px 5px;
	}
	.post-main h4 {
		margin: 30px 0 12px;
	}
	.post-main h5 {
		margin: 30px 0 10px;
		padding: 8px 10px 7px 12px;
	}

	/*　Side Menu
	--------------------------------------------- */
	.side-menu {
		width: 100%;
	}
	.side-menu__title {
		position: relative;
		border-left: unset;
		padding-left: 20px;
	}
	.side-menu__title::before {
		position: absolute;
		content: "";
		top: 13px;
		left: 0;
		width: 1.5rem;
		height: 5px;
		background: var(--primary-color);
	}
	.side-menu__list {
		margin-bottom: 0;
	}
	.side-menu__item a {
		padding: 14px 50px 14px 20px;
		transition: unset;
	}
	.side-menu__item a:hover {
		background: none;
	}
	.side-menu__item a::before {
		right: 24px;
		transition: unset;
	}
	.side-menu__item a:hover::before {
		right: 24px;
	}
	
	
	/* iPhone対策用 */
	@supports (-webkit-overflow-scrolling: touch) {
        html, body {
            overflow-x: hidden !important;
        }
        .header__nav-list {
            max-width: 100vw;
            overflow-x: hidden;
        }
    }


}
/*-- スマホサイズここまで --*/