/*!
Theme Name: amano-kikaku
Theme URI: http://underscores.me/
Author: ITOGUCHI INC.
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: amano-kikaku
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

amano-kikaku is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}
a{
	text-decoration: none;
}
/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
	font-family: "Noto Sans JP", serif;
  font-style: normal;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	margin: 0;
}

p {
	margin: 0;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}
a:hover{
	opacity:.7;
}
/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0;
	padding:0;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
/*header*/
.site-header{
	display: flex;
	align-items: center;
	padding: 8px 0;
	max-width: 1366px;
    margin: 0 auto;
}
.site-header .site-branding{
	display: flex;
	width: 40%;
	align-items: center;
	margin-left: 54px;

}
.site-header .site-branding img{
	width: 215px;
	height: auto;
}
.site-header .site-branding p{
	margin: 0;
}
.site-header .site-branding p a{
	text-decoration: none;
	font-size: .6875rem;
	color:#2A4839;
	display: block;
	margin-left: 12px;
}
.main-navigation {
	display: block;
	width: 70%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
    color: #111;
    font-size: 1.125rem;
    font-weight: 600;
    letter-spacing: .03em;
}
.header-btn__contact a{
	display: flex;
	justify-content: center;
	padding: 20px 30px 20px 55px;
	background-color: #DD4C00;
	border-radius: 3px;
	color: #fff;
	position:relative;
	box-shadow: 1px 3px 5px rgba(134,46,0,.3);
	margin-right: 14px;
	font-weight: 300;
}
.header-btn__contact a:before{
	position: absolute;
	content: url(/www/wp-content/uploads/2025/01/icon_mail.png);
    top: 23%;
    left: 10%;
	transform: scale(.5);
}
.home h1.entry-title{
	display: none;
}
/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}
.sp_only{
	display: none;
}
@media screen and (max-width: 1127px) {

	.main-navigation li{
	padding: 20px 15px;
    border-bottom: 1px solid #D1DFE0;
}
.main-navigation li:last-child{
	border-bottom: none;
}
	.main-navigation a{
		font-size: 1.25rem;
		letter-spacing: .05em;
		font-weight: 400;
	}	
/* メニューボタンの基本スタイル */
.menu-toggle {
    display: flex;
    flex-direction: column; /* 垂直方向に配置 */
    align-items: center; /* アイコンと文字を中央揃え */
    justify-content: center; /* 縦方向の中央揃え */
    cursor: pointer;
    background: none;
    border: none;
    padding: 20px 8px 8px 8px;
    text-align: center;
    font-size: .75rem;
	background-color: #DD4C00;
	border-radius: 5px;
	margin-right: 15px;
	}

/* 三本ラインのデザイン */
.menu-icon {
    position: relative;
    width: 24px;
    height: 2px;
    background-color: #fff;
    transition: all 0.3s ease;
    margin-bottom: 8px; /* アイコンと文字の間隔 */
}
.menu-icon::before,
.menu-icon::after {
    content: '';
    position: absolute;
    left: 0;
    width: 24px;
    height: 2px;
    background-color: #fff;
    transition: all 0.3s ease;
}
.menu-icon::before {
    top: -8px;
}
.menu-icon::after {
    top: 8px;
}

/* バツ印への変化 */
.menu-toggle.open .menu-icon {
    background-color: transparent;
}
.menu-toggle.open .menu-icon::before {
    transform: rotate(45deg);
    top: 0;
}
.menu-toggle.open .menu-icon::after {
    transform: rotate(-45deg);
    top: 0;
}

/* ラベルのスタイル */
.menu-label {
    font-size: .75rem; /* ラベルの文字サイズ */
    color: #fff;
    margin-top: 8px; /* テキストの余白調整 */
}

/* ナビゲーションメニューの表示制御 */
#site-navigation {
    display: none;
}
#site-navigation.open {
    display: block;
	        position: absolute;
        background-color:#E4ECE7;
top: 0;
        width: 100%;
        padding: 74px 18px 0 18px;
        max-width: 375px;
        right: 0;
	        z-index: 1;
}

	.main-navigation ul{
		display: block;
		margin-bottom: 50px;
	}
	.site-header{
		    justify-content: space-between;
	}
	.site-header .site-branding{
		display: block;
    align-items: center;
    margin-left: 18px;
    margin-right: 0;
		width: 45%;
	}
	.site-header .site-branding p a{
		margin-left: 0;
	}
	.site-header .site-branding img{
		width: 156px;
	}
	.site-header .site-branding p a{
		font-size: .625rem;
	}
	.menu-toggle.open{
		position: absolute;
        top: 5px;
        right: 5px;
        z-index: 2;
        padding: 20px 12px 10px 12px;
	}
	.header-btn__contact a{
		display: none;
	}
	.ham-contact{
		background-color: #fff;
 width: calc(100% + 40px);
  margin: 0 -18px;
		padding: 20px;
	}
	.ham-contact h3{
		margin:0 0 5px;
		text-align:center;
		letter-spacing: .03em;
	}
	.ham-contact_btn{
		display:flex;
		justify-content:space-between;
		gap: 10px;
	}
	.ham-contact_btn a{
		display: flex;
		align-items:center;
		justify-content:center;
		max-width: 160px;
		width: 100%;
		padding: 20px 0 20px 20px;
				color: #fff;
		letter-spacing: .05em;
		border-radius: 5px;
		position: relative;
		font-size: 1rem;
	}
	.ham-contact_btn .ham-tel_btn{
		background-color:#16623D;
	}
	.ham-contact_btn .ham-tel_btn:before{
		position:absolute;
		content: url(/www/wp-content/uploads/2025/01/icon_tel.png);
		top: 10px;
        left: 5px;
		transform: scale(.5);
	}
	.ham-contact_btn .ham-mail_btn:before{
		position:absolute;
		content: url(/www/wp-content/uploads/2025/01/icon_mail.png);
		top:15px;
		left: 5px;
		transform: scale(.5);
	}
	.ham-contact_btn .ham-mail_btn{
		background-color:#DD4C00;
	}
}
@media screen and (min-width: 1128px) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
.breadcrumb{
padding: 0 60px;
	font-size: .75rem;
	margin-top: 30px;
}
@media screen and (max-width: 768px) {
	
	.sp_only{
		display: block;
	}
	.breadcrumb{
	padding: 0 20px;
		margin-top: 10px;
	}
}
/* footer
--------------------------------------------- */
footer{
	padding: 0 50px;
}
footer .footer_contact{
	background-color: #E4ECE7;
	padding: 30px 10px 40px;
}
footer .footer_contact h2{
	text-align: center;
	color: #222;
	font-size:2.625rem;
	letter-spacing: .03em;
	position: relative;
	margin: 0 0 55px;
	line-height: 1.3em;
}
footer .footer_contact h2 span{
	display: block;
	font-size: 1.25rem;
	color: #16623D;
}
footer .footer_contact h2:after{
	content: '';
	position: absolute;
	bottom: -34px;
	left: 0;
	right:0;
	width: 28px;
	height:2px;
	background-color: #16623D;
	margin: 0 auto;
}
footer .footer_contact p{
	text-align:center;
	font-size: 1.5rem;
	letter-spacing: .03em;
	color:#2A4839;
	margin: 0 0 10px;
}
footer .footer_contact_box{
	background-color: #fff;
	max-width: 980px;
	margin:0 auto;
	padding: 20px 0;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}
footer .footer_contact_box p.soudan{
	text-align: left;
	font-size: 1.25rem;
	color:#000;
	padding-left: 40px;
	position:relative;
	    padding-bottom: 3px;
    margin: 0 20px 10px 0;
	border-bottom: 1px solid #E4ECE7;
}
footer .footer_contact_box .footer_contact_tel,
footer .footer_contact_box .footer_contact_mail{
	margin: 0 10px;
}
footer .footer_contact_box .footer_contact_tel p.soudan:before{
	content:url(/www/wp-content/uploads/2025/01/footer-icon_tel.png);
	position: absolute;
	    top: -8px;
    left: -7px;
	transform: scale(.5);
}
footer .footer_contact_box .footer_contact_mail p.soudan:before{
	content:url(/www/wp-content/uploads/2025/01/footer-icon_mail.png);
	position: absolute;
	    top: -5px;
    left: -5px;
	transform: scale(.5);	
}
footer .footer_contact_box a{
	display: flex;
	width: 360px;
	border-radius: 3px;
	height: 80px;
	justify-content: center;
	align-items: center;
	color: #fff;
	text-decoration: none;
	flex-wrap: wrap;
}
footer .footer_contact_box .footer_contact_tel a{
	font-size: 1.875rem;
	background-color:#16623D;
	    text-align: center;
	box-shadow: 1px 3px 5px rgba(12,77,0,.3);
}
footer .footer_contact_box .footer_contact_tel a span{
	font-size: .875rem;
	display: block;
	width: 100%;
	    margin-top: -20px;
}
footer .footer_contact_box .footer_contact_mail a{
	background-color: #D04F00;
	font-size: 1.625rem;
	box-shadow: 1px 3px 5px rgba(134,46,0,.3);
}
footer .footer_section{
	padding: 40px 80px 20px;
	display: flex;
	justify-content: space-between;
	max-width: 1030px;
	width: 100%;
	margin: 0 auto;
	flex-wrap: wrap;
}
footer .footer_section .site-info{
	width: 50%;
}
footer .footer_section .site-info .img{
	width:188px;
	height: auto;
}
footer .footer_section .site-info p{
	margin: 20px 0 0;
}
footer .footer_section .site-info p a{
	font-size: 1rem;
	color: #000;
	letter-spacing: .03em;
}

footer .footer_section .site-info address a{
	font-style: normal;
	font-size: 1rem;
	color: #000;
	text-decoration: underline;
	position:relative;
}
footer .footer_section .site-info address a:after{
	position:absolute;
	content: url(/www/wp-content/uploads/2025/01/icon_map.webp);
	top: -12px;
    right: -30px;
	transform: scale(.5);
}
footer .footer_section .footer_nav{
	width: 375px;
}
footer .footer_section .footer_nav ul{
	display: flex;
	list-style: none;
	flex-wrap: wrap;
	justify-content: space-around;
	    max-width: 435px;
    width: 100%;
}
footer .footer_section .footer_nav ul li{
	width: 50%;
	padding-left: 70px;
    line-height: 3.5em;
}
footer .footer_section .footer_nav ul li a{
	font-size: 1.125rem;
	color: #000;
	position:relative;
}
footer .footer_section .footer_nav ul li a:before{
	content:'';
	position: absolute;
top: 10px;
    left: -25px;
    width: 16px;
    height: 2px;
	background-color: #16623D;
}
.copyright-sp{
	display: none;
}
.footer_bottom-pc{
	display: flex;
    margin: 75px 0 0;
	align-items: center;
}
.copyright-pc{
	font-size: .75rem;
	letter-spacing:.05em;
}
footer .footer_section .site-info p.privacy-pc{
	font-size:.6875rem;
	margin-left:15px;
	color: #111111;
}
footer .footer_section .site-info p.privacy-pc a{
	text-decoration: underline;
	letter-spacing: .03em;
}
.privacy-sp{
	display:none;
}
.footer_bottom-sp{
	display: none;
}
@media screen and (max-width: 1009px) {
	footer{
		padding: 0;
	}
		footer .footer_section{
		    padding: 35px 15px;
	}
}
@media screen and (max-width: 879px) {
	.privacy-pc{
		display:none;
	}
	.privacy-sp{
		display: block;
		margin-left: 18px;
	}
	footer .footer_section .site-info p{
		margin: 15px 0 0;
	}	
	.footer_bottom-pc{
		display:none;
	}
	.footer_bottom-sp{
		display:flex;
		justify-content: center;
		align-items: baseline;
		        margin: 50px 0 0;
	}
	.privacy-sp a{
		font-size: .6875rem;
		color: #111;
		text-decoration: underline;
		letter-spacing:.03em;
	}
	.copyright-sp{
		font-size: .6875rem;
		display:block;
	}
	.copyright-pc{
		display:none;
	}
	footer .footer_section .footer_nav ul li{
		padding-left: 40px;
    line-height: 3em;
	}
	footer .footer_section .footer_nav ul{
		    margin-top: 0;
		max-width: 315px;
	}
	footer .footer_section .site-info address a{
		letter-spacing: .03em;
    margin: 5px 0 0;
    display: inline;
	}
	footer .footer_contact h2{
		font-size: 1.875rem;
	}
	footer .footer_contact h2 span{
		font-size: 1.125rem;
	}
	footer .footer_contact h2:after{
		bottom: -24px;
	}
	footer .footer_contact p{
		font-size: 1.375rem;
		margin: 0 0 30px;
		text-align:left;
		padding: 0 15px;
	}
	footer .footer_contact_box{
		background-color: transparent;
	}
	footer .footer_contact_box .footer_contact_tel, footer .footer_contact_box .footer_contact_mail{
		background-color: #fff;
		margin-bottom: 20px;
		padding: 20px 10px 20px;
	}
	footer .footer_contact_box p.soudan{
		margin: 0 0 15px;
	}
}
@media screen and (max-width: 779px) {
footer .footer_section .footer_nav ul{
		    margin-top: 50px;
	}
	footer .footer_section .site-info {
    width: 100%;
}
}
@media screen and (max-width: 478px) {
	footer .footer_contact_box a{
		width: 336px;
	}	
}
@media screen and (max-width: 392px) {
	footer .footer_contact_box a{
		width: 280px;
	}	
}
@media screen and (max-width: 350px) {
	    footer .footer_contact_box a {
        width: 260px;
    }
}
@media screen and (max-width: 330px) {
	footer .footer_section .footer_nav ul li a{
		    font-size: 1rem;
	}	
}

/* top
--------------------------------------------- */
.top_page .kv-section{
position: relative;
    overflow: hidden;
    width: 100%;
    height: auto;
        max-width: 1366px;
    margin: 0 auto;
}
.top_page .kv-section .kv_img{
	min-width: 1366px;
    overflow: hidden;
    object-fit: cover;
    display: block;
    width: 100%;
}
.top_page .kv-textarea{
	position:absolute;
	bottom: 13%;
    left: 6%;
}
.top_page .kv-textarea h2{
	font-size: 2.75rem;
	color: #fff;
	line-height: 1.6em;
	margin:0 0 64px;
	position:relative;
	text-align: center;
}
.top_page .kv-textarea h2:after{
	content: '';
	position: absolute;
	bottom: -31px;
	width: 28px;
	height: 2px;
	background-color:#fff;
	margin: 0 auto;
	left: 0;
	right: 0;
}
.top_page .kv-textarea picture img{
	max-width:446px;
	width: 100%;
}
.top_page .kv-textarea .kv-cv_btn{
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 5px;
	background-color: #DD4C00;
	max-width: 446px;
	width: 100%;
	padding: 18px 0;
	color:#fff;
	font-size: 1.5625rem;
	letter-spacing: .04em;
	box-shadow: 1px 3px 5px rgba(134,46,0,.3);
	    margin-top: 22px;
}
.top_page .more_btn {
  display: flex;
	max-width: 264px;
  padding: 15px 20px;
  border: 3px solid #16623D;
  color: #2A4839;
  text-align: center;
  font-weight: 500;
	font-size: 1.25rem;
	margin: 50px auto 0;
	justify-content:center;
} 

.top_page .more_btn:hover {
  opacity: .8;
}

/* ABOUTセクション */
.top_page .about-section {
      padding: 80px 0 0 145px;
    max-width: 1366px;
    margin: 0 auto;
    width: 100%;
}
.top_page .about-section h2{
	font-size: 2.625rem;
	letter-spacing: .03em;
	line-height: 1.38em;
	margin:0 0 60px;
	position:relative;
}
.top_page .about-section h2:after{
	content: '';
	position: absolute;
	bottom: -30px;
	left:0;
	width: 28px;
	height: 2px;
	background-color: #16623D;
}
.top_page .about-section h2 span{
	font-size: 1.25rem;
	letter-spacing: .05em;
	color:#16623D;
	display: block;
	margin-bottom: -10px;
}
.top_page .about-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.top_page .about-section p{
	font-size: 1.125rem;
	line-height: 2.3em;
	letter-spacing: .03em;
	margin:0;
}
.top_page .about-text {
  flex: 1;
 max-width: 486px;
	width: 100%;
}

.top_page .about-image {
  flex: 1;
     max-width: 600px;
    width: 100%;
}

.top_page .about-image img {
  max-width: 100%;
}

/* SOLUTIONセクション */
.top_page .solution-section {
  padding: 0 145px 0 0;
    margin: 115px 0 0;
}

.top_page .solution-container {
  text-align: center;
}
.top_page .solution-container h2{
	font-size: 2.6425rem;
	letter-spacing: .03em;
	margin: 0 0 61px;
	position: relative;
}
.top_page .solution-container h2:after{
	content: '';
	position: absolute;
	bottom: -30px;
	width: 28px;
	height:2px;
	background-color: #16623D;
	margin: 0 auto;
	left:0;
	right:0;
}
.top_page .solution-container h2 span{
	font-size: 1.25rem;
	letter-spacing: .05em;
	font-weight: 300;
	color: #16623D;
	display: block;
}
.top_page .solution-content {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  flex-wrap: wrap;
max-width: 1366px;
    width: 100%;
    margin: 20px auto 0;
}

.top_page .solution-image {
  flex: 1;
 max-width: 608px;
    width: 100%;
	margin-right:70px;
}

.top_page .solution-image img {
  max-width: 100%;
}

.top_page .solution-list {
flex: 1;
    max-width: 420px;
    text-align: left;
    list-style-type: none;
    padding-left: 100px;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 2em;
    width: 100%;
}

.top_page .solution-list li {
  margin-bottom: 10px;
  padding-left: 24px;
  position: relative;
}

.top_page .solution-list li::before {
	content: url(/www/wp-content/uploads/2025/01/icon_check.jpg);
	position: absolute;
    left: -39px;
    transform: scale(.5);
    top: -6px;
}
.top_works{
	margin-top: 104px;
	padding: 45px 0 100px;
	background-color: #E4ECE7;
}
.top_works h2,
.top_faq h2,
.top_news h2{
	font-size: 2.625rem;
	letter-spacing: .03em;
	text-align: center;
	position:relative;
	margin: 0 0 60px;
}
.top_works h2:after,
.top_faq h2:after,
.top_news h2:after{
	content: '';
	position: absolute;
	bottom: -30px;
	left: 0;
	right: 0;
	width: 28px;
	height: 2px;
	background-color: #16623D;
	margin: 0 auto;
}
.top_works h2 span,
.top_faq h2 span,
.top_news h2 span{
	display: block;
	font-size:1.25rem;
	color:#16623D;
}
.top_works .works-list{
	display: flex;
	flex-wrap: wrap;
	max-width: 1366px;
    width: 100%;
    margin: 0 auto;
}
.top_works .works-list li{
	width: calc(100%/3);
	list-style:none;
	padding: 0 11px;
	position: relative;
	margin: 0 0 20px;
}
.top_works .works-list li img{
	object-fit: cover;
    aspect-ratio: 440 / 312;
}
.top_works .works-list li h3{
	position: absolute;
    bottom: 20px;
    left: 25px;
    color: #fff;
    font-size: 1.375rem;
    font-weight: 600;
    margin: 0;
    right: 0;
    text-shadow: 1px 2px 4px rgba(0, 0, 0, .78);
}
.top_works .works-list li:nth-child(3n + 1){
	padding-left: 0;
}
.top_works .works-list li:nth-child(3n + 2){
	padding: 0 5.5px;
}
.top_works .works-list li:nth-child(3n){
	padding-right: 0;
}
.top_works .more_btn{
	background-color: #fff;
}


.top_review .review-container {
    max-width: 1245px;
    width: 100%;
    margin: 0 auto;
    padding: 0 84px;
}

.review-wrapper {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    align-items: flex-start; /* 要素の高さを揃えない */
}

.review-wrapper .review-slide {
        width: calc(98% / 3);
    max-width: 320px;
    margin-bottom: 40px;
}

.top_review .card {
    background-color: #fff;
    padding: 40px 24px 30px;
    box-shadow: 1px 3px 6px rgba(42, 72, 57, 0.15);
    height: 100%;
    position: relative;
}
.top_review .card:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    max-width: 274px;
    height: 3px;
    background-color: #16623D;
    margin: 0 auto;
    width: 80%;
}
.top_review .card-title {
    font-size: 1.25rem;
    font-weight: bold;
    margin: 0 0 20px;
    text-align: center;
    color: #16623D;
}
.card-person{
	display:flex;
	justify-content:center;
	font-size:.875rem;
	color:#16623D;
	margin: 0 0 18px;
}
.card-person span{
	padding: 0 6px;
}
.top_review .card-text {
    font-size: .9375rem;
    line-height: 2em;
}

.top_review {
    background-color: #E4ECE7;
    position: relative;
	    margin: 80px 0 0;
    padding: 60px 0 0;
}

.top_review h2 {
    margin: 0 0 60px;
    position: relative;
    font-size: 2.625rem;
    letter-spacing: .03em;
    text-align: center;
    color: #000;
}

.top_review h2 span {
    display: block;
    font-size: 1.25rem;
    color: #16623D;    
}

.top_review h2:after {
    content: '';
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    width: 28px;
    height: 2px;
    background-color: #16623D;
    margin: 0 auto;
}

.top_review .read-moredetail {
    position: relative;
    max-height: 1070px; /* 開く前に見せたい高さを指定 */
    margin-bottom: 10px;
    overflow: hidden;
    transition: max-height 1s ease;
}

.top_review:has(:checked) .read-moredetail {
    max-height: none; /* 高さ制限を解除 */
    overflow: visible;
}

.top_review .read-moredetail::after {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 150px;
    background: linear-gradient(180deg, hsla(0, 0%, 100%, 0) 0, hsla(0, 0%, 100%, .9) 50%, hsla(0, 0%, 100%, .9) 0, #fff);
    content: '';
}

.top_review:has(:checked) .read-moredetail::after {
    display: none; /* 疑似要素を完全に非表示 */
}

.top_review label {
   align-items: center;
    gap: 0;
    position: absolute;
    bottom: -60px;
    left: 50%;
    transform: translateX(-50%);
    padding: 12px 0;
    border-radius: 1px;
    background-color: #fff;
    color: #2A4839;
    font-size: 1.25rem;
    cursor: pointer;
    z-index: 10;
    width: 264px;
    display: flex;
    justify-content: center;
    border: 3px solid #2A4839;
}

.top_review label:hover {
    border: 1px solid #2a4839;
    background-color: #fff;
    color: #2a4839;
}

.top_review:has(:checked) label {
    display: none;
}


.top_review label:hover::after {
    background-color: #2a4839;
}

.top_review input {
    display: none;
}




.top_faq {
	margin: 200px auto 0;
	max-width: 980px;
	padding: 0 16px;
	width: 100%;
}
.top_faq .faq-list {
    margin: 20px 0;
}

.top_faq .faq-item {
	 border: 1px solid #16623D;
	margin-bottom: 16px;
}

.top_faq .faq-question {
        display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 15px 15px 70px;
    font-weight: bold;
    cursor: pointer;
    position: relative;
    font-size: 1.375rem;
    letter-spacing: .03em;
}
.top_faq .faq-question:before{
	    content: 'Q';
    position: absolute;
    top: 16%;
    left: 3%;
    font-size: 2.125rem;
    color: #16623D;
    font-weight: 600;
}


.top_faq .faq-icon {
    font-size:50px; /* プラス・マイナス記号のサイズ */
    color:#16623D; /* アイコンの色 */
    margin-left: 10px; /* 質問テキストとの余白 */
	font-weight:200;
	margin-right: 10px;
	position:relative;
	padding-bottom: 10px;
	display: inline-block; /* インライン要素の背景を指定するために使用 */
    width: 50px; /* 丸の大きさ（横幅） */
    height: 50px; /* 丸の大きさ（縦幅） */
    line-height: 42px;
    text-align: center; /* テキストを中央揃え */
    background-color: #E4ECE7; /* 背景色 */
    border-radius: 50%; /* 丸くするための設定 */
	cursor: pointer; /* ホバー時のポインター */
}


/*.top_faq .faq-icon:before{
	content: '';
    position: absolute;
    top: 17px;
    left: -10px;
    width: 50px;
    height: 50px;
    background-color: #E4ECE7;
    border-radius: 100vh;
    z-index: -1;
    margin: 0 auto;
}*/
.top_faq .faq-answer {
    padding: 22px 15px 30px 70px;
    display: none; /* デフォルトで非表示 */
    background-color: #fff;
    line-height: 1.6;
	letter-spacing: .03em;
	font-size: 1.125rem;
}

.top_faq .faq-answer.open {
    display: block; /* 開いている回答を表示 */
	position:relative;
}
.top_faq .faq-answer.open:before{
	content: 'A';
    position: absolute;
    top: 7%;
    left: 3%;
    font-size: 2.125rem;
    color: #16623D;
    font-weight: 600;
}
.top_faq .faq-answer.open:after{
	content: '';
	max-width: 904px;
	width: 95%;
	height:1px;
	background-color:#E4ECE7;
	position:absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.top_news{
	max-width: 1012px;
	width: 100%;
	margin: 100px auto;
	padding: 0 16px;
}
.top_news .news-item{
display: flex; 
	padding: 20px 0;
	border-bottom: 1px solid #E4ECE7;
}
.top_news .news-date{
	margin-right: 120px;
	letter-spacing: .03em;
	color: #16623D;
	display: block;
}
	.news-title a{
		color: #111;
	}
@media (max-width: 1128px) {
	.top_page .about-section{
		padding: 80px 0 115px 16px;
	}
	.top_page .about-section h2{
		font-size: 1.875rem;
	}
}
@media (max-width: 980px) {
	.top_page .solution-section{
		padding: 0 45px 0 0;
	}
	.top_page .solution-image{
		           max-width: 342px;
        margin: 0 auto;
		width: 100%;
	}
}
@media (max-width: 1000px) {
	.top_review .review-container{
		padding: 0 20px 50px;
	}
}
@media (max-width: 768px) {
	.top_works .works-list li:nth-child(3n + 2) {
    padding: 0;
}
	.top_faq .faq-question:before{
		    font-size: 2rem;
		left: 2%;
		top: 22%;
	}
	.top_faq .faq-icon {
    font-size: 30px;
    color: #16623D;
    margin-left: 10px;
    font-weight: 400;
    margin-right: 0px;
    position: relative;
    padding-bottom: 10px;
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 35px;
    text-align: center;
    background-color: #E4ECE7;
    border-radius: 50%;
    cursor: pointer;
		min-width: 40px;
}
	.top_faq .faq-question{
		font-size: 1rem;
		padding: 20px 15px 20px 44px;
	}
	.top_faq .faq-answer{
		    padding: 22px 15px 35px 44px;
		font-size: 1rem;
	}
	.top_faq .faq-answer.open:before{
		top: 12%;
    left: 2%;
    font-size: 2rem;
	}
	.top_news .news-item{
		display: block;
	}
	.top_news .news-date{
	margin: 0 0 10px;	
	}
	.news-title{
		font-size: 1rem;
		line-height: 1.4375em;
	}

	.top_page .kv-section{
		    max-width: 375px;
		overflow: visible;
	}
		.top_page .kv-section .kv_img{
		min-width: 100%;
	}
	.top_page .kv-textarea {
    position: absolute;
    bottom: -50px;
    left: 0;
    right: 0;
}
	.top_page .kv-textarea h2 {
        margin: 0 0 32px;
        font-size: 1.75rem;
    }
	.top_page .kv-textarea h2:after{
		bottom: -20px;
	}
	.top_page .kv-textarea .kv-cv_btn{
		        margin: 20px auto 20px;
        max-width: 296px;
        font-size: 1.25rem;
	}
	.top_page .kv-textarea picture img{
		    margin: 0 auto;
    display: block;
		max-width: 340px;
	}
	.pc_only{
		display: none;
	}
	    .top_page .about-section {
        padding: 85px 16px 0;
    }
	.top_page .about-section h2{
		margin: 0 0 50px;
		line-height: 1.5em;
	}
	.top_page .about-section h2:after{
		margin: 0 auto;
    right: 0;
		        bottom: -20px;
	}
	.top_page .about-image img {
    aspect-ratio: 342 / 264;
}
	.top_page .about-section h2 span{
		    margin-bottom: 20px;
	}
	.top_page .about-text{
		    max-width: 100%;
	}
	.top_page .about-section p{
		    text-align: left;
	}
  .top_page .about-container {
    flex-direction: column;
    text-align: center;
  }

  .top_page .solution-content {
    flex-direction: column;
    text-align: center;
  }

	.top_page .solution-list{
		font-size: 1.35rem;
		margin: 0 auto;
		    padding-left: 25px;
		        max-width: 342px;
	}
	   .works-item {
        display: none;
    }

    .works-item.visible {
        display: block;
    }
	.top_page .solution-list li::before{
		transform: scale(.4);
    top: -8px;
	}
	.top_page .solution-image img{
		aspect-ratio: 342 / 264;
	}
	.top_page .about-image{
		max-width: 342px;
		width:100%;
		margin: 0 auto;
	}
	.top_page .about-section p{
		   margin: 20px auto 0;
        max-width: 342px;
        width: 100%;
        line-height: 2em;
	}
	.top_page .more_btn{
		    margin: 40px auto 0;
	}
	.top_page .solution-section{
		margin: 75px 0 0 ;
		        padding: 0 16px;
	}
	.top_page .solution-container h2{
		font-size: 1.875rem;
	}
	.top_page .solution-container h2 span{
		font-size: 1.125rem;
		margin: 0 0 10px;
	}
	.top_works .works-list{
		margin: 0 auto;
    padding: 0 16px;
		display: block;
	}
	.top_works .works-list li{
		width: 100%;
        padding: 0;
        max-width: 342px;
        margin: 0 auto 26px;
	}
	.top_works .works-list li img {
    object-fit: cover;
    aspect-ratio: 342 / 232;
    max-width: 100%;
}
	.top_works .works-list li h3{
		max-width: 342px;
		width: 100%;
		left: 7px;
	}
	.top_review .review-container{
		    padding: 0 20px;
	}
	.review-wrapper{
		display: block;
	}
	.review-wrapper .review-slide {
    width: 100%;
    max-width: 320px;
            margin: 0 auto 36px;
}
	.top_faq{
		    margin: 128px auto 0;
	}
	.top_works h2 span, .top_faq h2 span, .top_news h2 span{
		font-size: 1.125rem;
	}
	.top_works h2, .top_faq h2, .top_news h2{
		font-size: 2rem;
	}
}


/* ご相談から完成までの流れ（exterior）
--------------------------------------------- */
.okataduke_section .flow-section h2{
	font-size: 2.25rem;
	color: #16623D;
	letter-spacing: .03em;
	text-align:center;
	position: relative;
	margin: 0 0 60px;
	font-weight: 400;
}
.okataduke_section .flow-section h2:after{
	content: '';
	position: absolute;
	bottom: -25px;
	width: 28px;
	height: 2px;
	background-color: #16623D;
	margin: 0 auto;
	left: 0;
	right: 0;
}
.okataduke_section .flow-section .flow-section-text{
	max-width: 1032px;
	width: 100%;
	margin: 0 auto;
	padding: 0 35px 0 55px;
	font-size: 1.125rem;
	line-height: 1.8em;
}
.okataduke_section .okataduke04 .flow-section .okataduke04-flow{
	padding: 20px 35px 65px;
}
.okataduke_section .okataduke04 .flow-section{
padding: 0 16px 0;	
}
.okataduke_section .okataduke04 .flow-section .okataduke04-flow dd{
	    padding: 25px 41px;
}
.okataduke_section .okataduke04{
	margin: 0 60px;
}

/* exterior
--------------------------------------------- */
.entry-title{
	display: none;
}
.exterior_section{
	overflow: hidden;
}
.exterior_section .exterior_section-title{
	margin: 30px 0 40px;
	padding: 0 60px;
}
.exterior_reason{
	margin: 65px 0 80px;
	padding: 0 60px;
}
.exterior_section .exterior_section-title h2{
	font-size:2.625rem;
	line-height:1.4em;
	text-align: center;
	color:#16623D;
	position: relative;
	margin: 0 0 65px;
}

.exterior_section .exterior_section-title h2:after{
	content: '';
	position: absolute;
	bottom: -34px;
	width: 28px;
	height:2px;
	background-color: #16623D;
	margin: 0 auto;
	left: 0;
	right: 0;
}
.exterior_section .exterior_section-title p{
max-width: 742px;
	width: 100%;
	margin: 0 auto;
	letter-spacing: .03em;
	line-height: 1.9em;
	font-size: 1.125rem;
}
.exterior_expert_section{
	background: linear-gradient(to top, rgba(27, 114, 72, 0.6), rgba(65, 134, 102, 0.16));
	padding: 103px 0 40px;
}
.exterior_expert_section .exterior_expert_content{
	max-width: 1163px;
	width: 100%;
	margin: 0 auto;
	padding: 74px 5px 14px;
	background-color: #fff;
	position:relative;
}
.exterior_expert_section .exterior_expert_content h3{
	position:absolute;
	top: -40px;
	left: 0;
	right: 0;
	text-align: center;
	font-size: 2rem;
	letter-spacing: .03em;
	font-weight: 300;
	color: #16623D;
}
.exterior_expert_section .exterior_expert_content h3:after{
	content: '';
	position: absolute;
	bottom: -27px;
	left:0;
	right: 0;
	margin:0 auto;
	width: 28px;
	height: 2px;
	background-color: #16623D;
}
.exterior_expert_section .exterior_expert_content h3 span{
	font-size: 2.25rem;
}
.exterior_expert_section .exterior_expert_flex{
	display: flex;
	flex-wrap:wrap;
}
.exterior_expert_section .exterior_expert_flex .box{
	width: calc(100%/3);
	padding: 0 15px 20px;
}
.exterior_expert_section .exterior_expert_flex .box p{
	text-align: center;
	font-weight: 600;
	font-size: 1.625rem;
}
.exterior_suggestion{
	padding: 50px 0 60px 64px; 
	max-width: 1246px;
	width: 100%;
	margin: 62px auto 82px;
}
.exterior_suggestion h2{
	font-size: 2rem;
	letter-spacing: .03em;
	color:#16623D;
 text-align: center;
	margin: 0 0 65px;
	position: relative;
}
.exterior_suggestion h2:after{
	content: '';
	position: absolute;
	bottom: -32px;
	left:0;
	right: 0;
	margin:0 auto;
	width: 28px;
	height: 2px;
	background-color: #16623D;	
}
.exterior_suggestion h2 span{
	color: #111;
	font-size: 1.125rem;
	display: block;
}

.exterior_suggestion .exterior_suggestion_text{
	max-width: 786px;
	width: 100%;
	margin: 0 auto 35px;
	font-size: 1.125rem;
	line-height: 1.8em;
}
.exterior_suggestion ul{
	list-style: none;
	position: relative;

}
.exterior_suggestion ul li{
	background-color: #fff;
	padding: 30px 55px;
	max-width: 700px;
	width: 100%;
	box-shadow: 2px 2px 10px rgba(42,72,57,.2);
	margin: 0 0 13px;
	background-color:#E4ECE7;
}
.exterior_suggestion ul li h3{
	color: #16623D;
	letter-spacing: .03em;
	font-size: 1.75rem;
	margin: 0 0 3px;
	position:relative;
}
.exterior_suggestion ul li:nth-child(2) h3:before{
		content: '01';
	position: absolute;
	top: -35px;
    left: -35px;
	font-size: 2.875rem;
	font-weight: 600;
	color: rgba(65,134,102,.1);
}
.exterior_suggestion ul li:nth-child(3) h3:before{
	content: '02';
	position: absolute;
	top: -35px;
    left: -35px;
	font-size: 2.875rem;
	font-weight: 600;
	color: rgba(65,134,102,.1);
}
.exterior_suggestion ul li:nth-child(4) h3:before{
content: '03';
	position: absolute;
	top: -35px;
    left: -35px;
	font-size: 2.875rem;
	font-weight: 600;
	color: rgba(65,134,102,.1);	
}
.exterior_suggestion ul li:nth-child(5) h3:before{
	content: '04';
	position: absolute;
	top: -35px;
    left: -35px;
	font-size: 2.875rem;
	font-weight: 600;
	color: rgba(65,134,102,.1);
}
.exterior_suggestion ul li:nth-child(6) h3:before{
	content: '05';
	position: absolute;
	top: -35px;
    left: -35px;
	font-size: 2.875rem;
	font-weight: 600;
	color: rgba(65,134,102,.1);
}
.exterior_suggestion ul li p{
	font-size: 1.125rem;
	letter-spacing: 0.03em;
	max-width: 554px;
	width: 100%;
}

.exterior_suggestion ul li.img{
    position: absolute;
    width: 604px;
    left: 639px;
    bottom: 19.5%;
    background-color: transparent;
    margin: 0;
    padding: 0;
    box-shadow: none;
}

.exterior_reason h2{
	font-size: 2.25rem;
    letter-spacing: .05em;
    color: #16623D;
    margin: 0 0 50px;
    position: relative;
    text-align: center;
    font-weight: 500;
}

.exterior_reason h2:after{
	position: absolute;
	content: '';
	width: 28px;
	height: 2px;
	bottom: -25px;
	left: 0;
	right: 0;
	margin: 0 auto;
	background-color: #16623D;	
}
.exterior_reason p{
	max-width: 965px;
    width: 100%;
    margin: 0 auto;
    font-size: 1.125rem;
    line-height: 1.7em;
}
.exterior_about{
	background-color: #F5F5F5;
	padding: 60px 18px;
}
.exterior_about .exterior_about-box{
	display: flex;
	justify-content:center;
	justify-content:center;
	align-items:center;
}
.exterior_about .exterior_about-box .img{
	max-width: 418px;
	width: 100%;
	
}
.exterior_about .exterior_about-box .text-area{
	max-width: 556px;
	width: 100%;
	margin-left: 53px;
}
.exterior_about .exterior_about-box .text-area h2{
	color:#16623D;
	font-size: 2.25rem;
	letter-spacing: .03em;
	position: relative;
	margin: 0 0 35px;
	    max-width: 390px;
    width: 100%;
	    font-weight: 400;
}
.exterior_about .exterior_about-box .text-area h2:after{
	content: '';
	position: absolute;
	bottom: -20px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 28px;
	height:2px;
	background-color: #16623D;
}
.exterior_about .exterior_about-box .text-area p{
	font-size:1.125rem;
	letter-spacing: .03em;
	line-height: 1.9em;
}
.exterior_about.top_page .more_btn{
	    margin: 50px 0 0;
	background-color:#fff;
}

@media (max-width: 768px) {
	.exterior_suggestion ul li:nth-child(2) h3:before,
	.exterior_suggestion ul li:nth-child(3) h3:before,
	.exterior_suggestion ul li:nth-child(4) h3:before,
	.exterior_suggestion ul li:nth-child(5) h3:before,
	.exterior_suggestion ul li:nth-child(6) h3:before{
		    left: -5px;
	}
	.exterior_section .exterior_section-title {
    margin: 30px 0 60px;
    padding: 0 18px;
}
	.exterior_section .exterior_section-title h2{
		    font-size: 1.8755rem;
		margin: 0 0 54px;
	}
	.exterior_section .exterior_section-title h2:after{
		bottom: -26px;
	}
	.exterior_expert_section{
		    padding: 123px 18px 60px;
	}
	.exterior_expert_section .exterior_expert_content h3{
		    font-size: 1.75rem;
		    top: -76px;
	}
	.exterior_expert_section .exterior_expert_content h3 span{
		font-size: 1.875rem;
	}
	.exterior_expert_section .exterior_expert_content{
		    padding: 68px 10px 30px;
	}
	.exterior_expert_section .exterior_expert_flex{
		display: block;
	}
	.exterior_expert_section .exterior_expert_flex .box {
    width: 100%;
    padding: 0 0 29px;
}
	.exterior_suggestion{
		margin: 115px auto 120px;
		padding: 0 18px;
		
	}
	.exterior_suggestion h2{
		font-size: 1.875rem;
		font-weight: 400;
		line-height: 1.44em;
		margin: 0 0 55px;
	}
	.exterior_suggestion h2 span{
		font-weight: 600;
	}
	.exterior_suggestion h2:after{
		    bottom: -26px;
	}
	.exterior_suggestion .exterior_suggestion_text{
		letter-spacing: .03em;
		    margin: 0 auto 20px;
	}
	.exterior_suggestion ul li.img{
		position:static;
		width: 100%;
		    margin: 0 0 28px;
	}
	.exterior_suggestion ul li.img img{
		aspect-ratio: 340 / 220;
    object-fit: cover;
	}
	.exterior_suggestion ul li{
		padding: 30px 23px 15px;
		margin: 0 0 20px;
	}
	.exterior_suggestion ul li h3{
		font-size: 1.625rem;
	}
	.exterior_suggestion ul li p{
		font-size: 1rem;
	}
	.okataduke_section .okataduke04{
		margin: 0;
		padding: 55px 18px 60px;
	}
	.okataduke_section .flow-section h2{
		font-size: 1.875rem;
		margin: 0 0 52px;
	}
	.okataduke_section .flow-section h2:after{
		    bottom: -20px;
	}
	.okataduke_section .flow-section .flow-section-text{
		padding: 0;
	}
	.okataduke_section .okataduke04 .flow-section {
    padding: 0;
}
	.okataduke_section .okataduke04 .flow-section .okataduke04-flow {
    padding: 25px 0 0;
}

}
/* bnr_mitsumori（バナーパーツ）
--------------------------------------------- */
.bnr_mitsumori{
	max-width:1272px;
	width:100%;
	margin: 0 auto;
	padding: 200px 120px 95px;
	    overflow: hidden;
}
.bnr_mitsumori .textarea{
	position:relative;
	width: 100%;
	background-image:url(/www/wp-content/uploads/2025/01/bnr_mitsumori_bg.webp);
	background-size: cover;
	background-repeat: no-repeat;
	padding:55px 75px 55px 123px;
}
.bnr_mitsumori .textarea p{
	font-size: 1.125rem;
	line-height: 1.9em;
}
.bnr_mitsumori .textarea p:first-of-type{
	margin-bottom: 36px;
}
.bnr_mitsumori .img{
	position: absolute;
    top: -104px;
    left: -70px;
    width: 852px;
}
@media (max-width: 768px) {
	.bnr_mitsumori{
		padding: 100px 18px 70px;
    overflow: visible;
	}
	.bnr_mitsumori .img {
    position: absolute;
    top: -93px;
    left: -15px;
    width: 100%;
}
	.bnr_mitsumori .textarea{
		    padding: 32px 20px;
	}
	.bnr_mitsumori .textarea p{
		font-size:1rem;
		
	}
	.bnr_mitsumori .textarea p span{
		font-size: 1.25rem;
	}
}
/* company
--------------------------------------------- */
.company_section h2{
	font-size: 2.5rem;
	letter-spacing: .05em;
	color: #111;
	text-align: center;
	position:relative;
	margin-bottom: 37px;
}
.company_section h2 span{
	font-size: 1.25rem;
	color:#16623D;
	display: block;
}
.company_section h2:after{
	content: '';
	position: absolute;
	bottom: -30px;
	width:28px;
	height:2px;
	left:0;
	right:0;
	margin: 0 auto;
	background-color: #16623D;
}
.company_section .company01{
	background-image: url(/www/wp-content/uploads/2025/01/company01-scaled.webp);
	background-repeat:no-repeat;
	background-size:cover;
	padding: 84px 16px;
		margin: 13px 0 75px;
}
.company_section .company01 .company01_content{
	background-color: #fff;
	max-width: 885px;
	width: 100%;
	margin: 0 auto;
	border-radius: 10px;
	padding: 56px 16px 16px;
}
.company_section .company01 .company01_content p{
	letter-spacing: .05em;
	font-size: 1.125rem;
	line-height:2.23em;
	max-width: 610px;
	width: 100%;
	margin: 0 auto 40px;
}
.company_section .company02{
	padding: 0 16px;
	margin: 0 0 72px;
}
.company_section .company02 ul{
	max-width: 630px;
	width: 100%;
	margin: 35px auto 0;
}
.company_section .company02 ul li{
	display: flex;	
	padding: 15px 0;
	border-bottom: 1px solid #E4ECE7;
	align-items: center;
}
.company_section .company02 ul li span{
	font-size: 2.25rem;
	font-weight: 600;
	color: #E4ECE7;
	letter-spacing: .04em;
}
.company_section .company02 ul li p{
	letter-spacing: .03em;
	margin-left: 34px;
}
.company_section .company03{
	position:relative;
	background-color: #F5F5F5;
	padding: 120px 16px 178px;
	margin: 0 0 76px;
	overflow:hidden;
}
.company_section .company03 .company03_flex{
	padding: 32px 0 0;
	display: flex;
	justify-content: space-around;
	align-items: center;
}
.company_section .company03 .company03_flex .img{
	width: 300px;
}
.company_section .company03 .company03_flex .textarea{
	max-width: 794px;
	width: 100%;
	border-radius: 10px;
	background-color: #fff;
	padding: 13px 60px 60px 60px;
}
.company_section .company03 .company03_logo{
	position: absolute;
	bottom:36px;
	width: 915px;
	right: -80px;
}
.company_section .company03 .textarea dt{
	margin: 32px 0 0;
	font-size: 1.125rem;
	line-height: 1.7em;
	color: #16623D;
	    font-weight: 500;
}
.company_section .company03 .textarea dd{
letter-spacing: .03em;	
	line-height: 1.875em;
	margin: 5px 0 0;
}
.company_section .company04{
	margin-bottom: 184px;
	    padding: 0 18px 0;
}
.company_section .company04 h2{
	margin-bottom: 67px;
}
.company_section .company04 table{
	margin: 0 auto;
	max-width: 932px;
	width: 100%;
	 border-collapse: collapse;
}
.company_section .company04 table th,
.company_section .company04 table td{
	padding: 15px 0;
	border-top: 1px solid #D1DFE1;
	border-bottom: 1px solid #D1DFE1;
	text-align: left;
}
.company_section .company04 table td a{
	color: #222;
	text-decoration: underline;
	position: relative;
}
.company_section .company04 table tr:nth-child(4) td a:before{
	content: url(/www/wp-content/uploads/2025/01/icon_map.webp);
	position: absolute;
	top: -12px;
    right: -28px;
    transform: scale(.5);
}
.company_section .company04 table th{
	width: 132px;
}
@media (max-width: 768px) {
	.company_section .company01{
		    margin: 33px 0 70px;
	}	
	.company_section h2 span{
		    font-size: 1.125rem;
	}
	.company_section h2{
		font-size: 1.75rem;
		margin-bottom: 55px;
		bottom: -25px;
	}
	.company_section .company01 .company01_content{
		padding: 40px 16px 16px;
		margin-top: 66px;
	}
	.company_section .company01 .company01_content p{
		letter-spacing: .03em;
    font-size: 1rem;
    line-height: 1.75em;
	}
	.company_section h2 span{
		margin: 0 0 16px;
	}
	.company_section h2{
		    margin-bottom: 40px;
	}
	.company_section .company02 ul li p{
		margin-left: 10px;
		font-size: .9375rem;
	}
	.company_section .company02 ul li span{
		font-size: 1.875rem;
	}
	.company_section h2:after{
		    bottom: -15px;
	}
	.company_section .company03{
		    padding: 30px 16px 78px;
		        margin: 0 0 38px;
	}
	.company_section .company03 .company03_flex{
		padding: 40px 0 0;
    display: block;
	}
	.company_section .company03 .company03_flex .img{
		width: 200px;
		margin: 0 auto 40px;
	}
	.company_section .company03 .company03_flex .textarea{
		padding: 13px 16px 60px 16px;
	}
	.company_section .company03 .company03_logo{
		position: absolute;
    bottom: -70px;
    width: 915px;
    right: -570px;
	}
	.company_section .company04 table th, .company_section .company04 table td{
		display: block;
	}
	.company_section .company04 table th{
		border-bottom: none;
		width: 100%;
		border-top: none;
		    padding: 20px 0 5px;
		font-size: 1.125rem;
	}
	.company_section .company04 table tr:first-child th{
	    border-top: 1px solid #D1DFE1;
	}
	.company_section .company04 table td{
		border-top: none;
		    padding: 0 0 20px;
	}
} 
/* okataduke
--------------------------------------------- */
.okataduke_section .okataduke01{
	padding: 0 16px;
	margin-bottom: 60px;
	overflow: hidden;
}
.okataduke_section .okataduke01 h2{
	font-size: 2rem;
	letter-spacing:.03em;
	color: #16623D;
	font-weight: 300;
	text-align: center;
	position: relative;
	margin: 0 0 35px;
	    padding: 10px 0 0;
}
.okataduke_section .okataduke01 h2:before{
	content: url(/www/wp-content/uploads/2025/01/okadaduke04-left.png);
	position: absolute;
    top: -15px;
    left: -680px;
	right: 0;
    transform: scale(.45);
}
.okataduke_section .okataduke01 h2:after{
	content: url(/www/wp-content/uploads/2025/01/okadaduke04-right.png);
	position: absolute;
    top: -15px;
    left: 0;
	right: -680px;
    transform: scale(.45);
}
.okataduke_section .okataduke01 h2 strong{
	color:#DD4C00;
}
.okataduke_section .okataduke01 h2 span{
	position:relative;
}
.okataduke_section .okataduke01 h2 span::before {
  content: ''; /* 擬似要素を使ってドットを表示 */
  position: absolute;
  top: -8px; /* 文字の上にドットを配置（調整可能） */
  left: 50%;
  transform: translateX(-50%); /* 中央揃え */
  width: 6px; /* ドットの幅（フォントサイズに合わせて調整） */
  height: 6px; /* ドットの高さ */
  background-color: #DD4C00; /* ドットの色 */
  border-radius: 50%; /* ドットを丸くする */
}
.okataduke_section .okataduke01 p{
	text-align: center;
	max-width: 795px;
	width: 100%;
	font-size: 1.125rem;
	letter-spacing: .05em;
	line-height: 1.9em;
	margin: 0 auto 40px;
}
.okataduke_section .okataduke01 .box{
	max-width: 1032px;
    width: 100%;
    background-color: #F5F5F5;
    border-radius: 5px;
    padding: 19px 30px 6px;
    display: flex;
    margin: 0 auto;
    gap: 73px;
    justify-content: center;
    align-items: center;
}
.okataduke_section .okataduke01 .box .img{
	width: 342px;
}
dl{
	margin: 0;
}
.okataduke_section .okataduke01 .box dl{
	background-color: rgba(228,236,231,.7);
	border-radius: 5px;
	padding: 14px 40px;
	margin-bottom: 13px;
}
.okataduke_section .okataduke01 .box dl dt{
	font-size: 2rem;
	letter-spacing: .03em;
	color: #16623D;
}
.okataduke_section .okataduke01 .box dl dd{
	margin-left: 15px;
}
.okataduke_section .okataduke01 .box dl dd li{
	font-size: 1.125rem;
	line-height: 1.7em;
}
.okataduke_section .okataduke01 .box dl dd li::marker {
  color: #418666; /* リストマーカーの色を赤に変更 */
}
.okataduke_section .okataduke02{
	padding: 0 16px;
}
.okataduke_section .okataduke02 .box{
	max-width: 1032px;
	width: 100%;
	margin: 0 auto 72px;
	background-color:#F5F5F5;
	border-radius: 5px;
	position:relative;
	padding:65px 35px 65px 65px;
}
.okataduke_section .okataduke02 .box h2{
	position: absolute;
	max-width: 852px;
	width: 100%;
	top: -75px;
	left: -35px;
}
.okataduke_section .okataduke02 .okataduke02-flex{
	display: flex;
	align-items: center;
}
.okataduke_section .okataduke02 .okataduke02-flex h3{
	font-size: 2rem;
	letter-spacing: .03em;
	line-height: 1.4375em;
	color: #16623D;
	font-weight: 300;
	margin: 0 0 30px;
}
.okataduke_section .okataduke02 .okataduke02-flex p{
	max-width: 559px;
	width: 100%;
	font-size: 1.125rem;
	letter-spacing: .03em;
	line-height: 1.9em;
}
.okataduke_section .okataduke02 .okataduke02-flex .img{
	width: 344px;
	margin-left: 34px;
}
.okataduke_section .okataduke03{
	padding-bottom: 30px;
}
.okataduke_section .okataduke03 h2{
	text-align: center;
	background-color: #16623D;
	padding: 5px 0;
	font-size: 2.625rem;
	color:#F8EA41;
	letter-spacing: .05em;
	position:relative;
	margin: 0 0 66px;
}
.okataduke_section .okataduke03 h2:after{
	  content: '';
  position: absolute;
  bottom: -36px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-left: 36px solid transparent; /* 左側の幅 */
  border-right: 36px solid transparent; /* 右側の幅 */
  border-top: 36px solid #16623D; /* 上辺を塗りつぶす（三角形の高さ） */
}
.okataduke_section .okataduke03 h2:before{
	content: url(/www/wp-content/uploads/2025/01/track_icon.png);
	position: absolute;
    top: 7%;
    left: -450px;
    right: 0;
    transform: scale(.5);
    width: 90px;
    margin: 0 auto;
}
dd{
	margin:0;
}
.okataduke_section .okataduke03 h2 span{
	font-size: 1.625rem;
	color: #fff;
	display: block;
	margin-bottom: -8px;
    margin-top: 8px;
}
.okataduke_section .okataduke03 dl{
	padding: 0 16px;
	max-width: 1012px;
	width: 100%;
	margin: 0 auto 32px;
}

.okataduke_section .okataduke03 dl dt{
	background-color: #418666;
	color: #fff;
	padding: 10px 0;
	text-align: center;
	border-top-left-radius:5px;
	border-top-right-radius:5px;
	font-size: 2rem;
	letter-spacing: .05em;
	font-weight: 600;
}
.okataduke_section .okataduke03 dl dd{
	background-color: rgba(228,236,231,.65);
	padding: 30px 22px;
	border-bottom-left-radius:5px;
	border-bottom-right-radius:5px;
}
.okataduke_section .okataduke03 dl dd.first-text p{
	max-width: 799px;
	width: 100%;
	margin:0 auto;	
	font-size: 1.125rem;
	letter-spacing: .03em;
	line-height: 1.9em;
}
.okataduke_section .okataduke03 dl dd .box{
	display: flex;
}
.okataduke_section .okataduke03 dl dd .box .img{
	width: 400px;
}
.okataduke_section .okataduke03 dl dd .box .textarea{
	font-size: 1.125rem;
	letter-spacing: .03em;
	line-height: 1.9em;
	margin-left: 23px;
	width: 55%;
}
.okataduke_section .okataduke04{
	padding: 64px 16px 72px;
	background-color: #E4ECE7;
}
.okataduke_section .okataduke04 .okataduke04-flow{
	max-width: 1032px;
	width: 100%;
	margin: 0 auto;
	border-radius: 10px;
	padding: 85px 35px 65px;
}
.okataduke_section .okataduke04 .okataduke04-flex{
	display: flex;
	margin: 0 0 30px;
}
.okataduke_section .okataduke04 .okataduke04-flex h3{
	font-size: 2.25rem;
	letter-spacing: .03em;
	color: #16623D;
	margin: 0 0 20px;
	font-weight: 300;
}
.okataduke_section .okataduke04 .okataduke04-flex .img{
	width: 386px;
	margin-left: 29px;
}
.okataduke_section .okataduke04 .okataduke04-flex p{
	font-size: 1.125rem;
	line-height: 1.8em;
}
.okataduke_section .okataduke04 .okataduke04-flow .okataduke04-img{
	width: 70px;
	margin: 10px auto;
}
.okataduke_section .okataduke04 .okataduke04-flow dt{
	background-color: #418666;
	border-radius: 5px;
	color: #fff;
	display: flex;
	padding:15px 30px;
	align-items: center;
	letter-spacing: .03em;
	font-weight: 300;
}
.okataduke_section .okataduke04 .okataduke04-flow dt span{
	font-size: 1.5rem;
	display: block;
}
.okataduke_section .okataduke04 .okataduke04-flow dt h4{
	font-size: 1.875rem;
	margin-left: 30px;
	font-weight: 300;
}
.okataduke_section .okataduke04 .okataduke04-flow dd{
	background-color: #fff;
	padding: 25px 0 25px 108px;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	font-size: 1.125rem;
	letter-spacing: .03em;
	line-height: 1.7em;
}
.okataduke_section .okataduke04 .okataduke04-flow dd.first-flow{
	padding: 25px 15px 15px;
}
.okataduke_section .okataduke04 .okataduke04-flow dd.first-flow p{
	text-align: center;
}
.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact{
	margin: 50px 0 0;
}
.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact h5{
	font-size: 1.875rem;
	letter-spacing: .03em;
	text-align: center;
	position: relative;
}
.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact h5 span{
	color: #16623D;
}
.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact h5:before{
	content:url(/www/wp-content/uploads/2025/01/okadaduke04-left.png);
	position: absolute;
	top: -25px;
    right: 680px;
    left: 0;
    transform: scale(.4);
}
.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact h5:after{
	content:url(/www/wp-content/uploads/2025/01/okadaduke04-right.png);
	position: absolute;
	top:-25px;
	right: 0;
	left: 680px;
	transform: scale(.4);
}
.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact .box{
	background-color: #16623D;
	padding: 24px 10px 10px;
	border-radius: 10px;
	margin: 28px 0 0;
}
.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact .box h6{
	font-size: 2.0625rem;
	color: #fff;
	text-align: center;
	letter-spacing: .03em;
	padding: 0 0 20px;
}
.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex{
	display:flex;
	background-color:#fff;
	border-radius: 10px;
	padding: 25px 20px;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-around;
}
.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .left a{
  position: relative;
  font-size: 3rem;
  letter-spacing: 0.02em;
  text-decoration: underline;
  text-decoration-thickness: 2px; /* アンダーラインの太さ */
  text-decoration-color: #2A4839; /* アンダーラインの色 */
  text-underline-offset: 4px; /* アンダーラインのオフセット */
  color: #111;
  display: inline-block; /* 必須: インラインブロック化 */
  padding-left: 60px; /* 左の余白 */
	font-weight: 700;
	letter-spacing: .02em;
}
.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .left p{
	font-size: 1.0625rem;
	text-align: left;
	letter-spacing: .03em;
	font-weight: 600;
	color: #111;
}
.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .left a:before{
    content: '';
    position: absolute;
    left: 0;
    top: 131%;
    width: 60px;
    height: 2px;
    background-color: #2A4839;
}
.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .left a:after{
	content: url(/www/wp-content/uploads/2025/01/akadaduke04-tel.png);
	position: absolute;
	top: -22px;
    left: -20px;
	transform: scale(.4);
}

.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .right{
	max-width: 380px;
	width: 100%;
	
}
.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .right p{
	text-align: center;
	letter-spacing: .05em;
	color:#DD4C00;
	
}
.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .right a{
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 5px;
	background-color: #DD4C00;
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: .04em;
	color: #fff;
	padding: 15px 0;
}
.okataduke05{
	background: url(/www/wp-content/uploads/2025/01/bnr_okatadsuke_bg.webp);
	background-repeat: no-repeat;
	background-size: cover;
	width: 1247px;
	margin: 0 auto 72px;
	padding: 60px 60px 39px 10px;
}
.okataduke05 h2{
	display:flex;
	font-size: 2rem;
	color: #fff;
	letter-spacing: .03em;
	align-items: center;
	margin-bottom: 12px;
	margin-left: 46px;
	flex-wrap:wrap;
}
.okataduke05 h2 span{
	margin-right: 30px;
	padding: 12px 10px;
	border:solid 1px #fff;
	font-size: 1.875rem;
}

.okataduke05 .okataduke05-bnr{
	position:relative;
}
.okataduke05 .okataduke05-bnr .okataduke05-tel-btn{
position: absolute;
    bottom: 190px;
    right: 185px;
}
.okataduke05 .okataduke05-bnr .okataduke05-free-btn{
	position:absolute;	
	bottom: 45px;
    right: 180px;
}
.okataduke_section{
	overflow: hidden;
}
.okataduke05 .okataduke05-tel-btn a{
    position: relative;
    font-size: 4.0625rem;
    letter-spacing: 0.02em;
    text-decoration: underline;
    text-decoration-thickness: 2px; /* アンダーラインの太さ */
    text-decoration-color: #2A4839; /* アンダーラインの色 */
    text-underline-offset: 10px; /* アンダーラインのオフセット */
    color: #111;
    display: inline-block; /* 必須: インラインブロック化 */
    padding-left: 60px; /* 左の余白 */
      font-weight: 700;
      letter-spacing: .02em;
	font-weight: 500;
  }
  .okataduke05 .okataduke05-tel-btn p{
      font-size: 1.3125rem;
      text-align: left;
      letter-spacing: .03em;
      font-weight: 500;
      color: #111;
  }
  .okataduke05 .okataduke05-tel-btn a:before{
     content: '';
    position: absolute;
    left: 0;
    top: 89%;
    width: 60px;
    height: 2px;
    background-color: #2A4839;
  }
  .okataduke05 .okataduke05-tel-btn a:after{
      content: url(/www/wp-content/uploads/2025/01/akadaduke04-tel.png);
    position: absolute;
    top: 3px;
    left: -20px;
    transform: scale(.55);
  }
  
  .okataduke05 .okataduke05-free-btn{
      max-width: 446px;
      width: 100%;
      
  }
  .okataduke05 .okataduke05-free-btn p{
      text-align: center;
      letter-spacing: .05em;
      color:#DD4C00;
      font-size: 1.25rem;
  }
  .okataduke05 .okataduke05-free-btn a{
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 5px;
      background-color: #DD4C00;
      font-size: 1.5625rem;
      font-weight: 500;
      letter-spacing: .04em;
      color: #fff;
      padding: 25px 0;
	  border: 3px solid #D04F00;
	  box-shadow: 1px 3px 5px rgba(134,46,0,.3);
  }
.okataduke06{
	margin: 66px 60px;
}
.okataduke06 .okataduke04-workarea{
	max-width: 1016px;
	width: 100%;
	margin: 0 auto;
	border: 12px solid #E4ECE7;
	padding: 30px 0 20px ;
}
.okataduke06 .okataduke04-workarea h3{
	font-size: 2.625rem;
	letter-spacing: .05em;
	text-align: center;
	color: #418666;
	font-weight: 500;
	margin: 0 0 14px;
}
.okataduke06 .okataduke04-workarea .box{
	display: flex;
	justify-content: center;
	align-items: center;
}
.okataduke06 .okataduke04-workarea .box .img{
	width: 208px;
	margin-right: 78px;
}
.okataduke06 .okataduke04-workarea .box p{
	    width: 44%;
	font-size: 1.125rem;
	letter-spacing: .03em;
	line-height: 1.9em;
}
.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .right a.sp_only{
		display:none;
	}
@media (max-width: 1009px) {
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact h5{
		font-size: 1.5625rem;
	}
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact h5:before{
		right: 560px;
    transform: scale(.3);
	}
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact h5:after{
		left: 560px;
    transform: scale(.3);
	}
}

@media (max-width: 768px) {
	.okataduke_section{
		margin: 36px 0 0;
	}
	.okataduke_section .okataduke01 h2{
		font-size: 1.625rem;
		margin: 0 0 25px;
	}
	.okataduke_section .okataduke01 h2:after{
		    top: -5px;
    right: -320px;
    transform: scale(.5);
	}
	.okataduke_section .okataduke01 h2:before{
		top: -5px;
    left: -320px;
    transform: scale(.5);
	}
	.okataduke_section .okataduke01 p{
		    text-align: left;
		    line-height: 1.8em;
    margin: 0 auto 30px;
	}
	.okataduke_section .okataduke01 .box{
		    display: block;
		width: calc(100% + 40px);
    margin-left: -20px;
    margin-right: -20px;
		    padding: 30px 20px;
	}
	.okataduke_section .okataduke01 .box .img{
		    margin: 0 auto 14px;
	}
	.okataduke_section .okataduke01 .box dl{
		    padding: 20px;
    margin-bottom: 18px;
	}
	.okataduke_section .okataduke01 .box dl dt{
				font-size: 1.625rem;
		margin: 0 0 15px;
	}
	.okataduke_section .okataduke01 .box dl dd li {
    font-size: 1rem;
    line-height: 2em;
    letter-spacing: .03em;
}
	.okataduke_section .okataduke04 .okataduke04-flow dt{
		padding: 15px 20px;
	}
	.okataduke_section .okataduke04 .okataduke04-flow dt span{
		font-size: 1rem;
	}
	.okataduke_section .okataduke04 .okataduke04-flow dt h4 {
    font-size: 1.5rem;
    margin-left: 16px;
	}
	.okataduke_section .okataduke04 .okataduke04-flow dd.first-flow p {
    text-align: left;
}
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact{
		margin: 30px 0 0;
	}
	    .okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact h5 {
        font-size: 1.125rem;
			font-weight:400;
    }
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact h5:before {
        right: 320px;
        transform: scale(.55);
        top: -8px;
    }
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact h5:after{
		left: 320px;
        transform: scale(.55);
        top: -8px;
	}
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact .box{
		margin: 20px 0 0;
		padding: 20px 10px 10px;
	}
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact .box h6{
		font-size: 1.5rem;
		    padding: 0 0 15px;
	}
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex{
		    border-top-left-radius: 0;
    border-top-right-radius: 0;
		padding: 20px 19px;
		display:block;
	}
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .left a:after{
		    content: none;
		
	}

	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .left a{
		    padding-left: 0;
		text-decoration: none;
		font-size: 1.25rem;
		max-width: 264px;
		padding: 15px 0 15px;
		color: #fff;
		border-radius: 3px;
		background-color: #16623D;
		border: solid 3px #00582D;
		width:100%;
		display:flex;
		justify-content: center;
		align-items: center;
		margin: 0 auto 17px;
		font-weight: 500;
		box-shadow: 1px 3px 5px rgba(12,77,0,.3);
	}
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .left a span{
		position:relative;
		        padding-left: 30px;
	}
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .left a span:before{
		content: url(/www/wp-content/uploads/2025/01/okataduke_tel.webp);
		position: absolute;
        transform: scale(.5);
        top: -13px;
        left: -62px;
        right: 0;
	}
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .right{
		max-width: 100%;
	}
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .right a{
		border: 3px solid #D04F00;
		max-width: 264px;
		width: 100%;
		margin: 0 auto;
		display:flex;
		justify-content: center;
		align-items: center;
		font-weight: 500;
	}
	.okataduke_section .okataduke04 .okataduke04-flow .okataduke04-img{
		    width: 60px;
	}
	.okataduke_section .okataduke04 .flow-section .okataduke04-flow dd {
    padding: 24px 12px;
}
	.okataduke_section .okataduke02 .box{
		    padding: 30px 15px;
	}
	.okataduke_section .okataduke02 .okataduke02-flex h3{
		font-size: 1.625rem;
		line-height: 1.3em;
		font-weight: 600;
	}
	.okataduke_section .okataduke02 .okataduke02-flex{
		display: block;
	}
	.okataduke_section .okataduke02 .okataduke02-flex .img{
		max-width: 100%;
		 margin: 0 auto 30px;   
	}
	.okataduke_section .okataduke02 .okataduke02-flex .img img{
		 max-width: 340px;
      width: calc(100% + 30px); /* 親要素の幅より40px広げる */
  margin-left: -15px; /* 左側に20px分拡張 */
  margin-right: -15px; 
    aspect-ratio: 340 / 188;
    object-fit: cover;
   
	}
	.okataduke_section .okataduke02 .okataduke02-flex p{
		padding: 0 15px;
		font-size: 1rem;
	}
	.exterior_reason{
		    margin: 65px 0 70px;
    padding: 0 18px;
	}
	.exterior_reason h2{
		font-size: 1.875rem;
	}
	.exterior_reason p{
		letter-spacing: .03em;
	}
	.exterior_about{
		padding: 52px 18px 64px;
	}
	.exterior_about .exterior_about-box{
		display: block;
	}
	.exterior_about .exterior_about-box .text-area{
		max-width: 100%;
    margin-left: 0;
	}
	.exterior_about .exterior_about-box .text-area h2{
		    max-width: 100%;
		text-align: center;
	}
	.exterior_about .exterior_about-box .img{
		max-width: 100%;
	}
	.exterior_about .exterior_about-box .img img{
    aspect-ratio: 342 / 232;	
	}
	.exterior_about .exterior_about-box .text-area h2:after{
		    bottom: -15px;
	}
	.exterior_about .exterior_about-box .img{
		        margin: 0 0 32px;
	}
	.exterior_about.top_page .more_btn{
		    margin: 50px auto 0;
	}
	.okataduke05{
		background: none;
		padding: 0;
		width: 100%;
	}
	.okataduke05 .img{
		position: relative;
	}
	.okataduke05 .left{
		position: absolute;
		padding: 0 20px;
		bottom:28%;
		left:0;
		right: 0;
	}
	.okataduke05 .left a{
		min-width: 264px;
		width: 60%;
		border-radius: 3px;
		background-color: #16623D;
		border: 3px solid #00582D;
		padding: 20px 0;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 auto;
		font-size: 1.25rem;
		color: #fff;
		letter-spacing: .05em;
		padding-left:37px;
		position:relative;
	}
	.okataduke05 .left a:before{
		content: url(/www/wp-content/uploads/2025/01/okataduke_tel.webp);
		position:absolute;
		top: 7px;
        left: 25px;
		transform:scale(.5);
	}
	.okataduke05 .right{
		position: absolute;
		padding: 0 20px;
		bottom:8%;
		left:0;
		right: 0;
	}
	.okataduke05 .right a{
		min-width: 264px;
		width: 60%;
		border-radius: 3px;
		background-color: #DD4C00;
		border: 3px solid #D04F00;
		padding: 20px 0;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 auto;
		font-size: 1.25rem;
		color: #fff;
		letter-spacing: .05em;
	}
	.okataduke05 .right p{
		text-align: center;
		font-size:1.125rem;
		letter-spacing:.08em;
		color:#DD4C00;
	}
	.okataduke_section .okataduke03 h2{
		font-size: 1.75rem;
		padding: 12px 0;
	}
	.okataduke_section .okataduke03 h2 span{
		font-size: 1.25rem;
		margin-bottom: -3px;
		    margin-top: 0;
	}
	.okataduke_section .okataduke03 h2:before{
		top: 0;
    left: -300px;
		transform: scale(.35);
	}
	.okataduke_section .okataduke03 dl dt{
		    font-size: 1.625rem;
		line-height: 1.2em;
	}
	.okataduke_section .okataduke03 dl:first-of-type dd{
		padding: 30px 12px;
		
	}
	.okataduke_section .okataduke03 dl dd .box{
		display: block;
	}
	.okataduke_section .okataduke03 dl dd{
		        padding: 0;
	}
	.okataduke_section .okataduke03 dl dd .box .img{
		width: 100%;
	}
	.okataduke_section .okataduke03 dl dd .box .textarea{
		    margin-left: 0;
    width: 100%;
    padding: 20px 12px 30px;
		font-size: 1rem;
	}
	.okataduke_section .okataduke04{
		margin: 0;
	}
	.okataduke_section .okataduke04 .okataduke04-flow{
		padding: 0;
	}
	.okataduke_section .okataduke04 .okataduke04-flex{
		display: block;
	}
	.okataduke_section .okataduke04{
		padding: 35px 16px 72px;
	}
	.okataduke_section .okataduke04 .okataduke04-flex h3{
		font-size: 1.875rem;
		text-align: center;
		position: relative;
		margin-bottom: 45px;
	}
	.okataduke_section .okataduke04 .okataduke04-flex h3:after{
		content: '';
		position: absolute;
		width: 28px;
		height:2px;
		background-color: #16623D;
		margin: 0 auto;
		bottom:-20px;
		left: 0;
		right:0;
	}
	.okataduke_section .okataduke04 .okataduke04-flex p{
		    margin: 0 0 28px;
	}
	.okataduke_section .okataduke04 .okataduke04-flex .img{
		width: 287px;
    margin: 0 auto;
	}
.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .right a.pc_only{
		display:none;
	}
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .right a.sp_only{
		display:flex;
	}
	.okataduke_section .okataduke04 .okataduke04-flow dd{
		font-size: 1rem;
	}
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .left a{
		position:relative;
	}
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-flex .left a:before{
		display: none;
	}
	.okataduke_section .okataduke04 .okataduke04-flow dd{
		padding: 20px 12px;
	}
	.okataduke06 {
    margin: 66px 0;
}
	.okataduke06 .okataduke04-workarea .box{
		display: block;
	}
	.okataduke06 .okataduke04-workarea .box .img{
		margin: 0 auto 35px;
	}
	.okataduke06 .okataduke04-workarea .box p{
		    width: 100%;
		    padding: 0 15px 50px;
	}
}
@media (max-width: 428px) {
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact h5{
		font-size: 1rem;
	}
	    .okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact h5:after {
        left: 260px;
        transform: scale(.4);
        top: -6px;
    }
	.okataduke_section .okataduke04 .okataduke04-flow dd .okataduke04-flow-contact h5:before{
		right: 260px;
        transform: scale(.4);
        top: -6px;
	}
	
}
/* single.php
--------------------------------------------- */
.single article{
	max-width: 1024px;
	width: 100%;
	margin: 40px auto 85px;
	padding: 0 60px; 
	
}
.single{
	margin-bottom: 80px;
}
.single article h1{
	font-size: 1.75rem;
	color:#111111;
	margin: 0 0 12px;
	letter-spacing: .03em;
}
.single article .post-date{
	position: relative;
	margin-bottom: 79px;
	color: #16623D;
	letter-spacing: .03em;
}
.single article .post-date:before{
	content: '';
	position: absolute;
	width: 28px;
	height: 2px;
	background-color: #16623D;
	bottom: -38px;
	margin: 0 auto;
	left:0;
	right: 0;
}
.single article .content{
	
}
.single article .content p{
	font-size: 1rem;
	letter-spacing: .03em;
	line-height: 2em;
	margin-bottom: 33px;
}
@media (max-width: 768px) {
	.single article{
		padding: 0 20px;
	}
	.single article h1{
		font-size: 1.25rem;
		    margin: 0 0 5px;
	}
	.single article .post-date{
		margin-bottom: 59px;
	}
	.single article .post-date:before{
		    bottom: -25px;
	}
}

/* archive-works.php
--------------------------------------------- */
.archive-works{
	max-width: 1184px;
	width: 100%;
	padding: 0 60px;
	margin: 0 auto;
}
.archive-works h1{
	text-align: center;
	font-size: 2.625rem;
	letter-spacing: .03em;
	position: relative;
	margin-bottom: 85px;
}
.archive-works h1 span{
	display: block;
	font-size: 1.25rem;
	color: #16623D;
	letter-spacing: .05em;
	display: block;
}
.archive-works h1:after{
	content: '';
	position: absolute;
	width: 28px;
	height: 2px;
	background-color: #16623D;
	margin: 0 auto;
	left: 0;
	right: 0;
	bottom: -26px;
}
.archive-works .works-list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.archive-works .works-item{
	width: calc(100% / 3);
	margin-bottom: 70px;
	padding: 0 20px;
}
.archive-works .works-thumbnail{
	margin-bottom: 5px;
}
.archive-works .works-thumbnail img{
	aspect-ratio: 304 / 176;
	object-fit: cover;
}
.archive-works .works-address{
	margin-bottom: 2px;
}
.archive-works .works-title{
font-size: 1.25rem;	
	line-height: 1.4em;
	font-weight: 600;
}
@media (max-width: 768px) {
	.archive-works .works-item{
		display: block;
		width: 100%;
		padding: 0;
		margin-bottom: 54px;
	}
	.archive-works{
		padding: 0 16px;
	}
	.archive-works .works-thumbnail img{
	    aspect-ratio: 342 / 232;
}
	.archive-works h1{
		    font-size: 1.875rem;
		    margin-bottom: 50px;
	}
	.archive-works h1 span{
		margin-bottom: 5px;
		font-size: 1.125rem;
	}
	.archive-works h1:after{
		bottom: -22px;
	}
}
.exterior_works .top_works,
.parking_works .top_works{
    background-color:transparent;
}

/* privacy-policy
--------------------------------------------- */
.privacy-policy__content{
	width: 100%;
	margin: 0 auto;
	line-height: 1.8em;
	padding: 80px 60px;
}
.privacy-policy p{
	margin-bottom: 40px;
}

.privacy-policy__content h2{
	margin-bottom: 10px;
	margin-top: 50px;
}
.privacy-policy__content p{
	margin-bottom: 20px;
}
.privacy-policy__content li{
	margin-left: 25px;
}
@media (max-width: 768px) {
	
	.privacy-policy__content{
		padding: 40px 16px;
	}
}
/* 404
--------------------------------------------- */
.error-404{
	max-width: 1000px;
	width: 100%;
	margin: 100px auto;
	padding: 0 50px;
	text-align: center;
}
.error-404 h2{
	margin: 0 0 30px;
}



/* requirements
--------------------------------------------- */

.requirements_bg{
width: 100vw;
   margin: 0 calc(50% - 50vw);		
	padding: 0 15px 88px;
}
.requirements{
	background-color: #fff;
	padding: 38px 8px 1px;
	max-width: 1186px;
	width: 100%;
	margin: 0 auto;
}
.requirements h2{
	font-size: 3rem;
	letter-spacing: .02em;
	margin: 0 0 55px;
	text-align: center;
	 color: #16623D;
}
.requirements h2 span{
	color: #E4ECE7;
    opacity: 1;
	display: block;
	font-size: 1.75rem;
	font-weight: 400;
}
.requirements h3.message{
	font-size: 1.375rem;
	margin: 0 0 16px;
}
.requirements p.m_text{
	line-height: 1.75em;
	margin: 0 0 66px;
}
.syokusyu_flex h3{
	margin: 0 0 22.5px;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: .02em;
	padding-left: 10px;
	border-left: 4px solid #000;
	display: flex;
	align-items: center;
}
.syokusyu_flex h3 span{
	font-size: .9375rem;
	background-color: #16623D;
	color: #fff;
	width: 106px;
	height: 27px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 16px;
	font-weight: 300;
}
.syokusyu_flex table{
	border-collapse: collapse;
	margin-bottom: 24px;
}
.syokusyu_flex table td{
	padding: 15px 0;
	border-bottom: 1px solid #707070;
	border-top: 1px solid #707070;
}
.syokusyu_flex table td:first-child{
	width: 76px;
letter-spacing: .02em;
	vertical-align: top;
    padding-top: 18px;
}
.syokusyu_flex table tr:first-child td:first-child,
.syokusyu_flex table tr:nth-child(2) td:first-child,
.syokusyu_flex table tr:nth-child(3) td:first-child,
.syokusyu_flex table tr:nth-child(4) td:first-child{
	font-weight: 600;
}
.syokusyu_flex table td:last-child{
	line-height: 1.5625em;
}
.requirements .entry_text{
	width: 200px;
	margin: 0 auto;
	margin:19px auto 33px ;
	line-height: 1.5625em;
}
.requirements .entry_text01{
		width: 243px;
	margin: 0 auto;
	margin:19px auto 33px ;
	line-height: 1.5625em;
}

.requirements .entry_btn{
	border: 2px solid #16623D;
	background-color:#16623D;
	max-width: 448px;
	width: 100%;
	margin: 0 auto 104px;
		position: relative;
    position: relative;
    overflow: hidden;
    outline: none;
    transition: ease .5s;
}
.requirements .entry_btn:before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  background:#fff;
  width: 100%;
  height: 100%;
  transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
	}
.requirements .entry_btn:hover:before{
		transform-origin:left top;
  transform:scale(1, 1);
	}
.requirements .entry_btn:hover a{
	color: #16623D;
}

.requirements .entry_btn a{
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	height:67px;
	text-decoration: none;
position:relative;
	z-index: 99;
}
.recruit_contents p.message{
	margin: 66px auto 0;
	font-size: 1.75rem;
	color: #fff;
	line-height: 1.4em;
	font-weight: 500;
	width: 325px;
	
}
@media screen and (min-width: 768px) {
.requirements {
    padding: 86px 8px 1px;
	}
	.requirements h2 {
    font-size: 2.625rem;
    line-height: 1.4em;
    text-align: center;
    color: #16623D;
    position: relative;
    margin: 0 0 65px;
	}
	.requirements h2 span{
		font-size: 3rem;
	}
	.requirements h3.message,
	.requirements p.m_text,
	.syokusyu_flex{
		max-width: 895px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.requirements h3.message{
		font-size: 2rem;
		margin-bottom: 18px;
	}
	.requirements p.m_text{
		margin-bottom: 87px;
	}
	.syokusyu_flex{
		display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
	}
	.syokusyu_flex h3{
		width: 157px;
	}
	.syokusyu_flex table {
    max-width: 734px;
    width: 100%;
}
	.syokusyu_flex table td:first-child {
		width: 156px;
}
	.syokusyu_flex table td {
    padding: 17px 0;
	}
	.syokusyu_flex h3{
		display: block;
		position: relative;
	}
	.syokusyu_flex h3 span {
    position: absolute;
    left: -5px;
    bottom: -35px;
    margin-left: 0;
}
	.requirements .entry_text{
		width: 100%;
		text-align: center;
	}
	.requirements .entry_text {
    width: 100%;
    margin: 0 auto;
    margin: 35px auto 45px;
    line-height: 1.5625em;
    text-align: center;
}
	.requirements .entry_btn a{
		font-size: 1.375rem;
	}
	.requirements .entry_btn{
		margin-bottom: 132px;
	}
	.requirements .entry_text01 {
		width: 448px;
	    margin: 30px auto 41px;
	}
	.recruit_contents p.message {
    margin: 113px auto 0;
    font-size: 2.875rem;
    width: 516px;
}
	.requirements_bg{
		padding-bottom: 115px;
	}
		.recruit_img{
	background-image: url(https://ide-kensetsu.co.jp/cms/wp-content/uploads/2023/12/recruit_main.jpg);
	height: 697px;
		background-position: center;
}
	.recruit_img h1{
		font-size: 4.625rem;
		    bottom: 91px;
    left: 90px;
	}
	.recruit_img h1 span{
		font-size: 1.25rem;
		margin-bottom: -30px;
	}
	.recruit_contents .greeting h2 {
    font-size: 1.25rem;
    margin: 0 0 15px;
		line-height: 2.8em;
}
	.job_description_btn{
		    max-width: 448px;
    margin: 51px auto 0;
	}
	.job_description_btn:hover a {
    color: #0B3873;
}
	.job_description_btn:hover:before {
    transform-origin: left top;
    transform: scale(1, 1);
}
	.recruit_contents .greeting p{
		max-width: 880px;
		width: 100%;
		margin: 0 auto;
	}
	.recruit_contents .greeting h2 span {
    font-size: 4.25rem;
	}
}
/*  recruit end
--------------------------------------------- */	
