@charset "utf-8";
/*
Theme Name: エイトプライム
Theme URI: https://www.8prime.jp/
Description: エイトプライムのテーマです
*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video,input,select,textarea {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	box-sizing: border-box;
	letter-spacing:0.1rem;
    font-weight: 400;
	font-family: 'Noto Sans JP', sans-serif;
}
body {
	/* overflow:hidden はスタンドアローン動作時のローディングアニメーション用のため、hattori共存時はコメントアウト */
	color:#333333;
    font-weight: 400;
	font-family: 'Noto Sans JP', sans-serif;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
	box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6, p, dl, li, span, small, strong, b, a, dt, dd {
    font-size: 1em;
}

html {
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	scroll-behavior:smooth;
}

section {
}

blockquote, q {
	quotes: none;
	box-sizing: border-box;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
	box-sizing: border-box;
}
 input, textarea {
 margin: 0;
 padding: 0;
 box-sizing:border-box;
}
ul {
	list-style: none;
	box-sizing: border-box;
}
ol {
	box-sizing: border-box;
	margin-left:2rem;
}
table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	box-sizing: border-box;
}
table th,
table td {
	padding:2rem;
}
caption, th {
	text-align: left;
	box-sizing: border-box;
}
a:focus {
	outline: none;
}
header:after, footer:after, section:after, article:after, aside:after, div:after, dl:after, ul:after {
	content : "";
	display : block;
	height : 0;
	clear : both;
}
br {
	letter-spacing: 0;
}
img {
	width: auto;
	height:auto;
	max-width:100%;
	border: 0;
	vertical-align: bottom;
	box-sizing: border-box;
	vertical-align: top;
}
.clear {
	clear: both;
}


html{
    font-size: 62.5%;
}
body{
    font-size:1.6rem;/* 16px*/
    line-height: 1.6;
}

@media (max-width: 980px){
table th, table td {
    padding: 1rem 0.5rem;
	letter-spacing:0;
    font-size: 0.85em;
	vertical-align:middle;
}
}

a:hover {
	text-decoration: none;
}

/*全体フェードイン*/
body {
    animation: BgfadeIn 2s ease 0s 1 normal;
    -webkit-animation: BgfadeIn 2s ease 0s 1 normal;
}

@keyframes BgfadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes BgfadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}


/*boxのスタイル*/
.box1200 {
	display:block;
    clear: both;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}

.base {
}

@media (max-width:1280px) {
.base {
	padding-left:1.5rem;
	padding-right:1.5rem;
}
}

@media (max-width:980px) {
.base {
	padding:0 10px;
}
}

/* 表示・非表示*/
.pc_none {
	display:none;
}

@media (max-width: 980px){
.pc_none {
	display:block;
}
.sp_none {
	display:none;
}
}

/*パン屑のスタイル*/
#breadcrumb {
	width:100%;
	padding:2rem 3rem;
	background:#FFF;
}

#breadcrumb ul {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	list-style:none;
}

#breadcrumb ul li {
	margin-right:0.5rem;
	letter-spacing:0;
	font-size:1.4rem;
}

#breadcrumb ul li:nth-child(1):before {
    content: "\f015";
    font-family: FontAwesome;
    margin-right:0.5rem;
}

#breadcrumb ul li a {
}

#breadcrumb ul li:after {
    content: "\f105";
    font-family: FontAwesome;
    margin-left:0.5rem;
}

#breadcrumb ul li:last-child:after {
	content:none;
}

@media (max-width: 980px){
#breadcrumb {
	padding:1rem 10px;
	font-size:0.55em;
	letter-spacing:0;
	margin-bottom:1.5rem
}

#breadcrumb ul li {
	margin-right:0.25rem;
	font-size:1rem;
}

#breadcrumb ul li:after {
    margin-left:0.25rem;
}
#breadcrumb ul li a {
}

}

/*改行消す*/
@media (max-width: 980px){
.br_none br {
	display:none;
}
}


/*hoverのスタイル*/ 
.fade {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	-ms-transition: 0s ease-in-out;
}

.fade:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
}

.fadein {
	opacity: 0;
	-webkit-transform: translate(0, 50px);
	transform: translate(0, 50px);
	transition: all 0.5s;
}

.fadein-left {
	opacity: 0;
	-webkit-transform: translate(-50px, 0);
	transform: translate(-50px, 0);
	transition: all 0.5s;
}

.fadein-right {
	opacity: 0;
	-webkit-transform: translate(50px, 0);
	transform: translate(50px, 0);
	transition: all 0.5s;
}

.fadein.scrollin,
.fadein-left.scrollin,
.fadein-right.scrollin {
    opacity: 1;
  -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}


@keyframes SlideUp {
0% {
    opacity: 0;
    transform: translateY(50px);
}
100% {
    opacity: 1;
    transform: translateY(0);
}
}


/*scaleのスタイル*/
.scale {
	overflow: hidden;
}
.scale img {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	-ms-transition: 0s ease-in-out;
}
.scale img:hover {
	-webkit-transform: scale(1.08);
	-moz-transform: scale(1.08);
	-o-transform: scale(1.08);
	-ms-transform: scale(1.08);
	transform: scale(1.08);
}

/*装飾*/
.bottom10 {	margin-bottom:1rem;}
.bottom15 {	margin-bottom:1.5rem;}
.bottom20 {	margin-bottom:2rem;}
.bottom30 {	margin-bottom:3rem;}
.bottom40 {	margin-bottom:4rem;}
.bottom45 {	margin-bottom:4.5rem;}
.bottom50 {	margin-bottom:5rem;}
.bottom60 {	margin-bottom:6rem;}
.bottom75 {	margin-bottom:7.5rem;}
.bottom90 {	margin-bottom:9rem;}
@media (max-width: 980px){
.bottom10 {margin-bottom:0.5rem;}
.bottom15 {	margin-bottom:1rem;}
.bottom20 {	margin-bottom:1rem;}
.bottom30 {	margin-bottom:1.5rem;}
.bottom40 {	margin-bottom:1.5rem;}
.bottom45 {	margin-bottom:2rem;}
.bottom50 {	margin-bottom:2.5rem;}
.bottom60 {	margin-bottom:3rem;}
.bottom75 {	margin-bottom:3.5rem;}
.bottom90 {	margin-bottom:4.5rem;}
}


/*共通*/
#wrapper {
}

#main {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	box-sizing:border-box;
}

#primary {
	width:100%;
}

@media (max-width: 980px){
#wrapper {
}

#main {
	padding:0;
}

#primary {
	width:100%;
	margin-bottom:0;
}
}

.gmap iframe {
	width:100%;
}

@media (max-width: 980px) {
}

/*pagenav*/

.pagenav {
	text-align:center;
}

.pagenav ul {
	clear: both;
	padding: 3rem 0;
	text-align: center;
}
a.page-numbers, .pagenav .current {
	background: #fff;
	border: solid 1px #ddd;
	padding: 5px 10px;
	margin: 5px 2px;
	text-decoration: none;
}
.pagenav .current {
	background: #222222;
	border: solid 1px #094829;
	color: #fff;
}

@media (max-width: 980px) {
.pagenav ul {
	clear: both;
	padding: 2rem 10px;
	font-size:1em;
}
}

/*ページトップ
***************************************/

div.scroll-btn {
	position: fixed;
	right: 1.5rem;
	z-index: 10000;
}

div.action_box,
div.action_box02,
div.action_box03 {
	position: fixed;
	right: 0;
	z-index: 10000;
	max-width:200px;
}

div.orix {
	margin-top:1.5rem;
	width:100%;
	text-align:center;
}

div.scroll-btn a {
	background: rgba( 204, 204, 204, 0.5);
	width: 50px;
	height: 50px;
	display: block;
	text-align: center;
	transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	-webkit-transition: .2s ease-in-out;
	-o-transition: .2s ease-in-out;
	-ms-transition: .2s ease-in-out;
}

div.scroll-btn a:hover {
	background: #111;
}

div.scroll-btn a i {
	font-size: 60px;
	line-height: .8;
	color: #fff;
	opacity: .8;
	transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	-webkit-transition: .2s ease-in-out;
	-o-transition: .2s ease-in-out;
	-ms-transition: .2s ease-in-out
}

div.scroll-btn a:hover i {
	color: #FFF;
	opacity: 1;
}


/*スマホ用コンタクトボタン
***************************************/

@media screen and (min-width:980px){
#sp_contact {
	display:none;
}
}

@media (max-width:980px) {
#sp_contact {
    position: fixed !important;
    bottom: 0;
    right: 0;
	width: 100%;
	z-index:9999;
	border-top:1px solid #FFF;
}

#sp_contact ul {
	position:relative;
}

#sp_contact li a {
    text-decoration: none;
    color: #fff;
    width: 33.333%;
    padding: 15px 0;
    text-align: center;
	letter-spacing: 0rem;
    display: block;
	float: left;
	font-size:0.8em;
}

#sp_contact li:nth-child(1) a {
	background:#0099CC;
}

#sp_contact li:nth-child(2) a {
    background: #FF3366;
}

#sp_contact li:nth-child(3) a {
    background: #06c755;
}

#sp_contact li:nth-child(3) a span {
	display:inline-block;
    padding: 0.25rem 0.35rem;
	border:1px solid #FFF;
	border-radius:3px;
	line-height:1;
	margin-right:0.4rem;
	font-size:8px;
}

#sp_contact li a {
	border-right: 1px solid #FFF;
}

#sp_contact li:last-child a {
	border:none;
}

#sp_contact a:hover {
    text-decoration: none;
    background:#01a8f3;
}

#sp_contact li a i {
	margin-right:0.5rem;
}

}

.flex_wrapper {
	display:flex;
}

.flex_wrapper:after {
	content:none !important;
}

.jc-spc_btw {
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.jc-center {
	-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */
	gap: 3%;
}

.ai-center {
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
}

.fd-row_r {
	flex-direction:row-reverse; /*逆順*/
}

/* header */

#header > div {
	width:100%;
	padding-left:3rem;
	padding-right:0 !important;
}

#header > div:after {
	content:none;
}

#header .header_left h1 {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

#header .header_left h1 a {
	margin-right:1.5rem;
}

#header .header_left h1 strong {
	font-size:clamp(15px, 1.5vw, 20px);
}

#header .header_right {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

#header .header_left h1:after,
#header .header_right:after {
	 content:none;
}

#header .header_right p {
	line-height:1;
}

#header .header_right p a {
	color:#0099CC;
	font-size:2em;
}

#header .header_right p a:before {
    content: "\f095";
    font-family: FontAwesome;
    margin-right:0.5rem;
}

#header .header_right p a[href^="tel:"] {
  pointer-events: none;
}

#header .header_right p span {
	font-size:0.9em;
}

@media (max-width: 1280px) {
}

@media (max-width: 1120px) {
}

@media (max-width: 980px) {
#header > div {
	width:100%;
	padding-left:10px;
	padding-top:10px;
	padding-bottom:10px;
}

#header .header_left {
	width:60%;	
}


#header .header_left h1 strong {
	display:none;
}


#header .header_left img {
	width:100%;
	height:auto;
	max-width:200px;
}

#header .header_right {
	display:none;
}

}

/* nav */
nav#nav {
	width:100%;
	z-index:100;
	background:#0099CC;
	padding-top:2rem;
	padding-bottom:2rem;
}

nav#nav ul {
	position: relative;
	list-style: none;
}

nav#nav > ul {
	display:table;
	width:100%;
	max-width:1200px;
	margin:0 auto;
}

nav#nav > ul:after {
	content:none;
}

nav#nav > ul li {
	position: relative;
}

nav#nav > ul > li {
	position:relative;
	display:table-cell;
	text-align:center;
	width:16.666%;
}

nav#nav > ul > li > a {
	font-size:1.1em;
	width:100%;
	text-align: center;
	line-height:1.2;
	letter-spacing:0;
	color:#FFF;
	padding:0 1rem;
	border-right:1px solid #FFF;
}

nav#nav > ul > li:nth-child(1) > a {
	border-left:1px solid #FFF;
}

nav#nav > ul > li:last-child a{
}

nav#nav > ul > li.current_page_item a {
}

nav#nav ul li a:hover {
}

nav#nav ul li:not(:first-child) {
	border-left: none;
}
nav#nav ul li:hover {
	text-decoration:none;
}
nav#nav ul li a {
	text-decoration: none;
	white-space: nowrap;
	display:block;
}

nav#nav ul li a:hover {
}

nav#nav ul ul {
	position: absolute;
	top: 100%;
	z-index:100;
}
nav#nav ul ul li {
	float: none;
	margin: 0;
	border-bottom:1px solid #FFF;
	text-align: left;
}

nav#nav ul ul li:last-child {
	border-bottom:none;
}
nav#nav ul ul li a {
	color:#FFF;
	padding:0.75rem 1.5rem;
	display:block;
	background:#0099CC;
	font-size:0.9em;
}

nav#nav ul ul li a:before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right:0.5rem;
}

nav#nav ul ul li a:hover {
	background:#ef9702;
}

nav#nav ul ul li:not(:first-child) {
}

nav#nav ul ul ul {
	display:none;
	position: absolute;
	left: 100%;
}

nav#nav ul ul {
  visibility: hidden;
  opacity: 0;
  transition: .2s ease-in-out;
}

nav#nav ul li:hover > ul {
  visibility: visible;
  opacity: 1;
}

@media (max-width: 1120px) {
nav#nav > ul > li {
	margin-left:0;
}

nav#nav > ul > li > a {
	padding:1.5rem 0.5rem;
	font-size:0.9em;
}
}

@media (max-width: 980px) {
nav#nav {
	display: none;
}
}


/* nav */
nav#nav2 {
	width:100%;
	z-index:100;
	background:#0099CC;
	padding-top:2rem;
	padding-bottom:2rem;
}

nav#nav2 ul {
	position: relative;
	list-style: none;
}

nav#nav2 > ul {
	display:table;
	width:100%;
	max-width:1200px;
	margin:0 auto;
}

nav#nav2 > ul:after {
	content:none;
}

nav#nav2 > ul li {
	position: relative;
}

nav#nav2 > ul > li {
	position:relative;
	display:table-cell;
	text-align:center;
	width:20%;
}

nav#nav2 > ul > li > a {
	font-size:1.1em;
	width:100%;
	text-align: center;
	line-height:1.2;
	letter-spacing:0;
	color:#FFF;
	padding:0 1rem;
	border-right:1px solid #FFF;
}

nav#nav2 > ul > li:nth-child(1) > a {
	border-left:1px solid #FFF;
}

nav#nav2 > ul > li:nth-child(2) {
	display: none;
}


nav#nav2 > ul > li:last-child a{
}

nav#nav2 > ul > li.current_page_item a {
}

nav#nav2 ul li a:hover {
}

nav#nav2 ul li:not(:first-child) {
	border-left: none;
}
nav#nav2 ul li:hover {
	text-decoration:none;
}
nav#nav2 ul li a {
	text-decoration: none;
	white-space: nowrap;
	display:block;
}

nav#nav2 ul li a:hover {
}

nav#nav2 ul ul {
	position: absolute;
	top: 100%;
	z-index:100;
}
nav#nav2 ul ul li {
	float: none;
	margin: 0;
	border-bottom:1px solid #FFF;
	text-align: left;
}

nav#nav2 ul ul li:last-child {
	border-bottom:none;
}
nav#nav2 ul ul li a {
	color:#FFF;
	padding:0.75rem 1.5rem;
	display:block;
	background:#0099CC;
	font-size:0.9em;
}

nav#nav2 ul ul li a:before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right:0.5rem;
}

nav#nav2 ul ul li a:hover {
	background:#ef9702;
}

nav#nav2 ul ul li:not(:first-child) {
}

nav#nav2 ul ul ul {
	display:none;
	position: absolute;
	left: 100%;
}

nav#nav2 ul ul {
  visibility: hidden;
  opacity: 0;
  transition: .2s ease-in-out;
}

nav#nav2 ul li:hover > ul {
  visibility: visible;
  opacity: 1;
}

@media (max-width: 1120px) {
nav#nav2 > ul > li {
	margin-left:0;
}

nav#nav2 > ul > li > a {
	padding:1.5rem 0.5rem;
	font-size:0.9em;
}
}

@media (max-width: 980px) {
nav#nav2 {
	display: none;
}
}






/* footer */

#footer {
	background:#0099CC;
	color:#FFF;
}

#footer_info {
	padding-top:6rem;
	padding-bottom:6rem;
}

#footer_info dl {
	padding-bottom:9rem;
	border-bottom:1px solid #FFF;
	margin-bottom:1.5rem;
}

#footer_info dl dt {
	margin-right:3rem;
}

#footer_info dl dd strong {
	display:block;
	color:#000;
	font-size: clamp(15px, 1.5vw, 20px);
}

#footer_info dl dd small {
	font-size:0.9em;
}

#footer_nav ul li {
	display:inline-block;
	margin-right:1rem;
}

#footer_nav ul li a {
	color:#FFF;
}

#copy {
	width:100%;
	text-align:center;
	padding-top:2rem;
	padding-bottom:2rem;
	background:#00759B;
	color:#FFF;
	font-size:0.9em;
}

@media (max-width: 980px) {
#footer {
  padding-bottom: 5.3rem;
}

#footer_info dl {
	padding-bottom:3rem;
}

#footer_info dl dt {
	width:50%;
}

#footer_info dl dd small {
	font-size:0.7em;
}

#footer_info dl dt img {
	max-width:200px;
}

#footer_nav ul li a {
	font-size:0.8em;
}
}





/* footer */

#footer2 {
	background:#0099CC;
	color:#FFF;
}

#footer_info2 {
	padding-top:6rem;
	padding-bottom:6rem;
}

#footer_info2 dl {
	padding-bottom:9rem;
	border-bottom:1px solid #FFF;
	margin-bottom:1.5rem;
}

#footer_info2 dl dt {
	margin-right:3rem;
}

#footer_info2 dl dd strong {
	display:block;
	color:#000;
	font-size: clamp(15px, 1.5vw, 20px);
}

#footer_info2 dl dd small {
	font-size:0.9em;
}

#footer_nav2 ul li {
	display:inline-block;
	margin-right:1rem;
}

#footer_nav2 ul li:nth-child(2) {
	display: none;
}


#footer_nav2 ul li a {
	color:#FFF;
}

#copy {
	width:100%;
	text-align:center;
	padding-top:2rem;
	padding-bottom:2rem;
	background:#00759B;
	color:#FFF;
	font-size:0.9em;
}

@media (max-width: 980px) {
#footer2 {
  padding-bottom: 5.3rem;
}

#footer_info2 dl {
	padding-bottom:3rem;
}

#footer_info2 dl dt {
	width:50%;
}

#footer_info2 dl dd small {
	font-size:0.7em;
}

#footer_info2 dl dt img {
	max-width:200px;
}

#footer_nav2 ul li a {
	font-size:0.8em;
}
}


/* main_img */
#loadimg {
	clear: both;
	text-align: center;
}

#loadimg img {
	width: 32px;
	padding: 20% 0;
}

#main_slide_wrapper {
}

#main_slide {
	background:url(../../images/index/mainvisual_bg.png) no-repeat center center;
	background-size:cover;
	padding-top:8%;
	padding-bottom:18%;
}

@media (max-width: 980px) {
	#main_slide {
		padding-top: 30%;
	}
}

#main_slide ul li {
	text-align:center;
}

#main_slide ul li img {
	width:100%;
	max-width:933px;
	height:auto;
	display:block;
	margin:0 auto;
}

@media (max-width: 980px){
#main_slide_wrapper {
}

#main_slide ul li img {
	width:100%;
	height:auto;
}
}

/*company*/
#company #primary iframe {
	margin-top:0 !important;
	max-width:100% !important;
}

.company_table table td {
	vertical-align:middle;
}

.company_table table td:nth-child(1) {
	width:25%;
	text-align:center;
}

/*privacy*/
#privacy #primary p {
	background:#F5F5F5;
	padding:3rem;
	margin-bottom:4.5rem;
}

#privacy #main ul {
	list-style:none !important;
}

#privacy #primary dl {
	margin:0 1.5rem;
}

#privacy #primary dl dt {
	margin-bottom:1rem;
	border-left:3px solid #1896e3;
	padding-left:1rem;
	line-height:1.4;
	font-size:1.1em;
}

#privacy #primary dl dd {
	margin-bottom:4.5rem;
	padding-left:1.5rem;
	line-height:1.8;
}

#privacy #primary dl dd:last-child {
	margin-bottom:0;
}

#privacy #primary dl dd table {
	width:100%;
	margin:2rem auto 0 auto;
}

#privacy #primary dl dd table td {
	padding:1.5rem 2rem;
	border:1px solid #DDD;
	vertical-align:middle;
}

#privacy #primary dl dd table th {
	width:30%;
	padding:1.5rem 2rem;
	border:1px solid #DDD;
	background:#FAFAFA;
}

@media (max-width: 980px){
#privacy #primary {
}

#privacy #primary p {
	padding:1.5rem;
	font-size:0.9em;
}

#privacy #primary dl dt {
	font-size:1.6rem;
}

#privacy #primary dl dd {
	font-size:1.4rem;
	margin-bottom:2rem;
}

#privacy #primary dl dd:last-child {
	padding-left:0;
}

#privacy #primary dl dd table td:nth-child(1),
#privacy #primary dl dd table td {
	padding:10px;
}
}

/*sitemp*/
#sitemap #main ul {
	list-style:none !important;
	padding-left:0;
	margin-left:0;
}

#sitemap #main ul li {
	margin-bottom:2rem;
}

#sitemap #main ul li:last-child {
	margin-bottom:0;
}

#sitemap #main ul li a {
	display:block;
	background:#F5F5F5;
	padding:1.5rem 2rem;
	text-decoration:none;
}

#sitemap #main ul li a:before {
    content: "\f152";
    font-family: FontAwesome;
    margin-right:0.5rem;
	color:#1896e3;
}

#sitemap #main ul li.menu-item-has-children > a {
    pointer-events: none;
}

#sitemap #main ul li ul {
	margin:1.5rem 0 0 4.5rem;
}

#sitemap #main ul li ul li {
	margin-bottom:1rem;
}

#sitemap #main ul li ul li a {
	background:none;
	padding:0;
}

#sitemap #main ul li ul li a:before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right:0.5rem;
	color:#1896e3;
}

@media (max-width: 980px){
#sitemap #main ul  {
	margin-right:0;
}

#sitemap #main ul li {
	margin-bottom:1rem;
}

#sitemap #main ul li a {
	margin-bottom:0.5rem;
}
}

/*contact*/
table.contact {
	margin:4.5rem auto 3rem auto;
}

table.contact th,
table.contact td:nth-child(1) {
	width:35%;
	border:1px solid #DDD;
	font-weight:400;
	vertical-align:middle;
	background:#F5F5F5;
}

table.contact td {
	border:1px solid #DDD;
	line-height:1.8;
	vertical-align:middle;
}

table.contact td input,
table.contact td textarea {
	font-size:1.6rem;
    font-weight: 200;
}

table.contact td input[type="text"] ,
table.contact td input[type="email"],
table.contact td input[type="tel"],
table.contact td input[type="date"] {
	height:40px;
	padding:0.25rem;
	width:80%;
	border:1px solid #DDD;
    box-sizing: border-box;
}

table.contact td select {
	padding:0.25rem;
	border:1px solid #DDD;
    box-sizing: border-box;
	font-size:1.6rem;
}

table.contact td input[type="date"] {
	border:1px solid #CCC;
	height:35px;
	padding:0.5rem;
	width:20%;
}

table.contact td input[type="text"]:focus,
table.contact td input[type="email"]:focus,
table.contact td input[type="tel"]:focus,
table.contact td input[type="date"]:focus,
table.contact td textarea:focus {
	outline: 0;
	-moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2);
	-webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
	box-shadow: inner 0 0 4px rgba(0, 0, 0, 0.2);
}

table.contact td span.sp_btm10 {
	display:block;
	margin-bottom:0.5rem;
}

table.contact td span small {
	display:inline-block;
	padding:0.25rem 0.5rem;
	background:#135fa7;
	color:#FFF;
	font-size:0.8em;
	position:relative;
	top:-3px;
}

table.contact td p {
	margin-bottom:0;
}

table.contact td textarea {
	width:100%;
	border:1px solid #DDD;
	padding:0.5rem;
}

table.contact th span.required {
	background:#FF0000;
	color:#FFF;
	font-size:0.8em;
	padding:0.15rem 0.5rem;
	display:inline-block;
	margin-left:0.5rem;
}

p.submit {
	text-align:center !important;
	margin-bottom:1.5rem !important;
}

p.submit input {
	font-size:2rem;
	padding:0.75rem 1.5rem;
	margin:0 1rem;
	border:1px solid #CCC;
}

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing, div.wpcf7-response-output {
	border:2px solid #FF0000 !important;
	padding:1rem !important;
	text-align:center;
	background:#FFFFFF;
	color:#FF0000;
	margin:0 auto !important;
	font-size:1.4rem !important;
	width:80% !important;
}

span.wpcf7-list-item {
	margin:0 0.75rem 0 0 !important;
}

span.wpcf7-not-valid-tip {
	font-size:1.4rem;
}

table.contact td strong {
	font-size:1.2em;
	margin-bottom:0.5rem;
	display:block;
}

table.contact td #privacy_box {
	font-size:0.8em;
	max-height:180px;
	overflow:auto;
	background:#FFF;
	padding:1rem;
}

table.contact td #privacy_box p {
	margin-bottom:0.5rem;
}

table.contact td.birth input[type="text"] {
	width:10%;
}

@media (max-width: 980px){
.entry-content p.has-background {
	padding: 10px;
}

table.contact {
	margin:0 0 3rem 0;
	width: 100%;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-all;
}

table.contact th,
table.contact td:nth-child(1) {
	width:100%;
	background:#FAFAFA;
}

table.contact th,
table.contact td {
}

table.contact td:nth-child(1) {
	width:100%;
	border-bottom:none;
}

#omitsumori .content_wrapper p span {
	font-size:1em !important;
}

table.contact td input,
table.contact td textarea {
	font-size:1.5rem !important;
}

table.contact td input[type="text"] ,
table.contact td input[type="email"],
table.contact td input[type="tel"] {
	width:100%;
}

table.contact td input[type="date"] {
	width:100%;
}

table.contact td.birth input[type="text"] {
	width:20%;
}

table.contact td span small {
	font-size:1em;
}

input[type=text],
textarea {
}

span.wpcf7-list-item {
	display:block;
	margin-bottom:0.5rem !important;
}

.wpcf7 table {
    border-bottom: 1px solid #EEE;
}

.wpcf7 table th,
.wpcf7 table td {
	width:100%;
	display:block;
	border-bottom:none;
}

p.submit input {
	font-size:1.2em;
	padding:0.5rem 1rem;
}
}

#prev_next {
	margin-bottom:6rem;
}

#prev_next ul {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	border-top:1px solid #E0E0E0;
	border-bottom:1px solid #E0E0E0;
}

#prev_next ul li {
	width:50%;
}

#prev_next ul li #prev_title,
#prev_next ul li #next_title {
	width:100%;
}

#prev_next ul li #prev_title a:hover,
#prev_next ul li #next_title a:hover {
	text-decoration:underline;
}

#prev_next ul li #prev_title a {
	padding:1rem 2rem;
	background:#F7F7F7;
	display:block;
	font-size:1.5rem;
	font-weight:bold;
}

#prev_next ul li #prev_title a:before {
    content: "\f0a8";
    font-family: FontAwesome;
    margin-right:0.5rem;
}

#prev_next ul li #next_title a {
	padding:1rem 2rem;
	background:#F7F7F7;
	text-align:right;
	display:block;
	font-size:1.5rem;
	font-weight:bold;
}

#prev_next ul li #next_title a:after {
    content: "\f0a9";
    font-family: FontAwesome;
    margin-left:0.5rem;
}

#prev_next ul li {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

#prev_next ul li.bktop{
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items:center; /* 縦方向中央揃え */
}

#prev_next ul li figure {
	width:35%;
	padding:2rem;
}

#prev_next ul li p {
	width:100%;
	padding:2rem;
	font-weight:bold;
	font-size:1.5rem;
	line-height:1.3;
}

#prev_next ul li:nth-child(2) p {
	text-align:right;
}

#prev_next ul li p a:hover {
	text-decoration:underline;
}

#prev_next ul li:nth-child(1) {
	border-right:1px solid #E0E0E0;
}

.bktop {
}

.bktop a {
	display:block;
	text-align:center;
	width:100%;
	font-size:1.5rem;
	font-weight:bold;
}

.bktop a:before {
    content: "\f015";
    font-family: FontAwesome;
    margin-right:0.5rem;
}

@media (max-width: 980px){
#prev_next {
	margin-bottom:3rem;
}

#prev_next ul {
	padding:0;
	border-bottom:1px solid #E0E0E0;
}

#prev_next ul li {
	-webkit-align-items: flex-start; /* 縦方向中央揃え（Safari用） */
	align-items:flex-start; /* 縦方向中央揃え */
}


#prev_next ul li #prev_title a,
#prev_next ul li #next_title a {
	padding:1rem 10px;
	font-size:1.2rem;
}

#prev_next ul li figure {
	display:none;
}

#prev_next ul li p {
	width:100%;
	padding:10px;
}

#prev_next ul li p a {
	font-size:1.2rem;
}

.bktop a {
	font-size:1.2rem;
}

}

.sns-container {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.sns-container > div {
	width:25%;
	text-align:center;
}

.sns-container > div > a {
	display:block;
	padding:1.5rem 1rem;
	font-size:1.4rem;
	font-weight:bold;
}

.sns-container > div:nth-child(1) a {
	background:#3b5998;
	color:#FFF;
}

.sns-container > div:nth-child(2) a {
	background:#55acee;
	color:#FFF;
}

.sns-container > div:nth-child(3) a {
	background:#00b900;
	color:#FFF;
}

.sns-container > div:nth-child(4) a {
	background:#008fde;
	color:#FFF;
}

.sns-container > div:nth-child(4) a b {
}

@media (max-width: 980px){
.sns-container > div > a {
	padding:1rem 0.5rem;
	font-size:0.8em;
	letter-spacing:0;
}
}

/*装飾*/
.head-border {
    display: flex;
    align-items: center;
}
 
.head-border:before,
.head-border:after {
    content: "";
    height: 3px;
    flex-grow: 1;
    background-color: #fea65e;
}
 
.head-border:before {
    margin-right: 3rem;
}
 
.head-border:after {
    margin-left: 3rem;
}

/*index*/

#index01,
#index02,
#index03,
#index04,
#index05,
#index06 {
}

@media (max-width: 980px){
}

/*よくある質問*/
#faq {
	padding-bottom:6rem;
}

#faq h2 {
    margin:0 0 3rem 0;
	font-size:1.3em;
	font-weight:normal;
	position:relative;
	background: #1896e3;
	padding:1rem 3rem;
	color:#FFF;
}

#faq h2:before {
    content: "\f152";
    font-family: FontAwesome;
    margin-right:0.5rem;
}

#faq .question_wrapper {
	margin-bottom:6rem;
	background:#F7F7F7;
	padding:3rem;
}

#faq .question_wrapper ul {
	margin-bottom:0;
}

#faq .question_wrapper li {
	margin-bottom:1.5rem;
	padding-bottom:1.5rem;
	border-bottom:1px dashed #DDD;
}

#faq .question_wrapper li:before {
    content: "Q.";
    margin-right:0.5rem;
	font-family:Verdana, Geneva, sans-serif;
	font-size:1.4em;
	font-weight:bold;
	color:#1896e3;
}

#faq .question_wrapper li:last-child {
	margin-bottom:0;
}

#faq .answer_wrapper {
	background:#F7F7F7;
	padding:3rem;
}

#faq .answer_wrapper {
	margin-bottom:0;
}

#faq .answer_wrapper li {
	margin-bottom:3rem;
	padding-bottom:3rem;
	border-bottom:1px dashed #DDD;
}

#faq .answer_wrapper li p {
	margin:0;
	padding:0;
}

#faq .answer_wrapper li:last-child {
	margin-bottom:0;
}

#faq .answer_wrapper li dl dt {
	font-size:1.2em;
	margin-bottom:1.5rem;
}

#faq .answer_wrapper li dl dt:before {
    content: "Q.";
    margin-right:0.5rem;
	font-family:Verdana, Geneva, sans-serif;
	font-size:1.15em;
	font-weight:bold;
	color:#1896e3;
}

#faq .answer_wrapper li dl dd {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-justify-content: flex-start; /* 横方向中央揃え（Safari用） */
	justify-content: flex-start; /* 横方向中央揃え */
	margin-left:3rem;
}

#faq .answer_wrapper li dl dd:before {
    content: "A.";
    margin-right:0.5rem;
	font-family:Verdana, Geneva, sans-serif;
	font-size:1.4em;
	font-weight:bold;
	color:#0191c3;
	width:3%;
}

#faq .answer_wrapper li dl dd p {
	width:95%;
	padding-top:0.25rem;
	font-size:1.1em;
}

@media (max-width: 980px){

#faq h2 {
  font-size: 1.1em;
  padding: 1rem 1.5rem;
  margin-top: 1.5rem;
  margin-bottom: 2rem;
  letter-spacing: 0;
}

#faq .question_wrapper {
	padding:1rem 1rem 2rem 2rem;
	margin-bottom:3rem;
}

#faq .question_wrapper li {
	margin-bottom:1rem;
	padding-bottom:1rem;
	border-bottom:1px dashed #DDD;
}

#faq .answer_wrapper {
	padding:1rem 1rem 1rem 2rem;
}

#faq .answer_wrapper li dl dt {
	font-size:1em;
}

#faq .answer_wrapper li dl dd {
	margin-left:1.5rem;
}

#faq .answer_wrapper li dl dd:before {
	font-size: 1.15em;
	width:8%;
}

#faq .answer_wrapper li dl dd p {
	width:89%;
	font-size:1em;
}
}

/*事例紹介*/

.category-list {
	margin-bottom:4.5rem;
	list-style:none;
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	background:#FAFAFA;
}

.category-list:before {
	content:"記事カテゴリー";
	background:#1896e3;
	color:#FFF;
	padding:1rem 1.5rem;
}

.category-list li {
	padding:1rem !important; 
}

.category-list li:nth-child(1) {
	padding-left:2rem !important;
}

.category-list li:before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right: 1rem;
    color: #1896e3;
}

@media (max-width: 980px){

.category-list {
	padding-bottom:1rem;
	margin-bottom:2rem;
}

.category-list:before {
    padding: 0.5rem 1.5rem;
	width:100%;
	font-size:0.85em;
	margin-bottom: 1rem;
}

.category-list li {
	padding:0.25rem 0 !important;
	margin:0 0 0 1.5rem;
	font-size:0.9em;
}

.category-list li:nth-child(1) {
	padding-left:0 !important;
}

.category-list li:before {
	margin-right:0.5rem;
}

.category-list li,
.category-list li a {
	line-height:1.2;
	letter-spacing:0;
}

}


.item_list_wrapper {
	margin-bottom:4.5rem;
}

.item_list_wrapper > h2 {
    margin: 3rem 0;
	font-size:1.3em;
	font-weight:normal;
	position:relative;
	background: #1896e3;
	padding:1rem 3rem;
	color:#FFF;
	width:100%;
}

.item_list_wrapper > h2:before {
    content: "\f152";
    font-family: FontAwesome;
    margin-right:0.5rem;
}

.item_list {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
}

.item_list article {   
	width: 30%;
    margin-right: 5%;
    position: relative;
	margin-bottom:4.5rem;
	background:#F7F7F7;
}

.item_list article:last-child {
	margin-bottom:4.5rem !important;
}

.item_list article img {
    width: 100%;
    height: 240px;
    object-fit: cover;
}

.item_list article:nth-child(3n) {
	margin-right:0;
}

.item_list article .text {
	width:100%;
	padding:3rem 2rem;
}

.item_list article .text dt {
	font-size: 1.2em;
	margin-bottom: 0.5rem;
}

.item_list article .text dt:before {
  content: "\f0da";
  font-family: FontAwesome;
  margin-right: 0.5rem;
}

.item_list article .text dt a {
	text-decoration:none;
}

.item_list article .text dd {
	background: #F7F7F7;
}

.item_list article .text dd strong {
	display: block;
	text-align: right;
	font-size: 1.8em;
	font-weight: bold;
	font-family: Arial, Helvetica, sans-serif;
	letter-spacing: -1px;
	color: #FF0000;
}

.item_list article .text ul.post-categories {
	list-style:none;
	margin-bottom:0.5rem;
	display:inline-block;
}

.item_list article .text ul.post-categories li {
    display: inline-block;
	margin-right:0.25rem;
}

.item_list article .text ul.post-categories li span {
	position:relative;
	top:0.5rem;
}

.item_list article .text ul.post-categories li span a {
	text-decoration:none;
    font-size: 0.8em;
    display: inline-block;
    padding: 0.25rem 0.5rem;
	border:1px solid #333;
	vertical-align: bottom;
}

.item_list article .text span.article-date {
	font-size:0.8em;
	margin-bottom: 0.5rem;
}

.item_list article .text h2 {
	margin-top:0.5rem;
	margin-bottom: 0.5em;
	padding-bottom: 0.75rem;
	padding-left: 0;
	border-bottom: 1px solid #DDD;
	line-height:1.4;
	font-size:1.1em;
}

.item_list article .text h2 a {
	line-height:1.4;
	text-decoration:none;
}

.item_list article .text small {
	font-size:0.8em;
	display:inline-block;
	padding:0 0.25rem;
	background:#aa0000;
}

.item_list article .text p {
	margin-bottom:1.5rem;
}

.item_list article .detail_text {
    text-align: center;
	margin-top:2rem;
}

.item_list article .detail_text a {
	display:inline-block;
	background:#1896e3;
	color:#FFF;
	padding:1rem 6rem;
	max-width:400px;
	font-weight:500;
	letter-spacing:0.1rem;
	text-decoration:none;
}

.item_detail {
	margin-bottom:6rem;
}

.item_detail .right dl {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-bottom:2rem;
}

.item_detail .right dl:after {
	content:none;
}

.item_detail .right dl dt {
	width:25%
}

.item_detail .right dl dd {
	width:72%;
}

.item_detail .right dl dd strong {
	font-size:1.6em;
	font-weight:bold;
	font-family:Arial, Helvetica, sans-serif;
	line-height:1;
}

.item_detail .right .item_contact {
	text-align:center;
	margin-bottom:3rem;
}

.item_detail .right .item_contact a {
	display:inline-block;
	background: #b48120;
	background: -moz-linear-gradient(top,  #b48120 20%, #c79612 50%, #b48120 80%);
	background: -webkit-linear-gradient(top,  #b48120 20%,#c79612 50%,#b48120 80%);
	background: linear-gradient(to bottom,  #b48120 20%,#c79612 50%,#b48120 80%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b48120', endColorstr='#b48120',GradientType=0 );
	color:#FFF;
	padding:0.5rem 1rem;
	border-radius:5px;
	max-width:400px;
	font-weight:500;
	font-size:0.9em;
	letter-spacing:0.1rem;
	text-shadow:1px 1px 0 #333;
	filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.4));
}

@media (max-width: 980px){
.category-list {
	margin-bottom:2rem;
}

.item_list_wrapper {
	margin-top:3rem;
	margin-bottom:3rem;
}

.item_list_wrapper > h2 {
  font-size: 1.1em;
  padding: 1rem 1.5rem;
  margin-top: 1.5rem;
  margin-bottom: 2rem;
  letter-spacing: 0;
}

.item_list {
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.item_list:after {
	content:none;
}

.item_list article {
	width:48%;
	margin-right:0;
	margin-bottom:1rem;
}

.item_list article:last-child {
	margin-bottom:1rem !important;
}

.item_list article img {
	height:120px;
}

.item_list article .text {
	padding:1rem;
}

.item_list article .text dt {
	font-size:1em;
	letter-spacing:0;
}

.item_list article .text dd strong {
	font-size: 1.1em;
}

.item_list article .text h2 {
	font-size:0.9em;
}

.item_list article .text p {
	font-size:0.9em;
}

.item_list article .detail_text a {
	padding:0.5rem 3rem;
	font-size:0.9em;
}

.item_detail {
	margin-bottom:3rem;
}

.item_detail .left,
.item_detail .right {
	width:100%;
}
}


.single article p {
	margin-bottom:3rem !important;
}

.single .entry-content h2 {
    margin: 3rem 0;
	font-size:1.3em;
	font-weight:700;
	position:relative;
	background: #1896e3;
	padding:1rem 3rem;
	color:#FFF;
	width:100%;
}

.single .entry-content > h2:nth-child(1) {
	margin-top:0;
}

.single .entry-content h2:before {
    content: "\f152";
    font-family: FontAwesome;
    margin-right:0.5rem;
	font-weight:normal;
}

.single .entry-content h3 {
	border-bottom: solid 3px #FAFAFA;
	position: relative;
	font-size:1.2em;
	font-weight:normal;
	line-height:1.4;
	padding:1rem 1.5rem;
	margin: 3rem 0;
	font-weight:700;
}

.single .entry-content h3:before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right:1rem;
	margin-left:0.5rem;
	color:#1896e3;
}

.single .entry-content h3:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #1896e3;
  bottom: -3px;
  width: 20%;
  left:0;
}

.single .entry-content h4 {  
	margin-bottom: 1rem;
	border-left: 3px solid #1896e3;
	padding-left: 1rem;
	line-height: 1.4;
	font-size: 1.1em;
	font-weight:700;
}

.single .before_after {
	margin-bottom:6rem;
	margin-top:6rem;
}

.single .before_after:last-child {
	margin-bottom:0;
}

.single .before_after h3 {
	margin-top:0 !important;
}

.single .ba_box {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	position:relative;
}

.single .ba_box:after {
	content:none;
}

.single .ba_box > div {
	width:42%;
	background:#F7F7F7;
	padding:3rem;
	position:relative;
}

.single .ba_box > div:nth-child(1):before {
	content:"BEFORE";
	position:absolute;
	left:4.5rem;
	top:4.5rem;
	color:rgb(255,255,255,0.6);
	font-size:3em;
	font-weight:bold;
	font-family:Arial, Helvetica, sans-serif;
	letter-spacing:0;
	line-height:1;
}

.single .ba_box > div:nth-child(3):before {
	content:"AFTER";
	position:absolute;
	left:4.5rem;
	top:4.5rem;
	color:rgb(255,255,255,0.6);
	font-size:3em;
	font-weight:bold;
	font-family:Arial, Helvetica, sans-serif;
	letter-spacing:0;
	line-height:1;
}

.single .ba_box > div > dl > dt {
	margin-bottom:1.5rem;
}

.single .ba_box > i {
	/*中央*/
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	margin: auto;
	display:inline-block;
	font-size:3.6em;
	color:#777;
}


@media (max-width: 980px){
.single .entry-content h2 {
	font-size: 1.1em;
	padding: 1rem 1.5rem;
	margin-top: 1.5rem;
	margin-bottom: 2rem;
	letter-spacing: 0;
}

.single .entry-content h3 {
	font-size:1.1em;
	padding:1rem 1.5rem;
	margin-top: 1.5rem;
	margin-bottom: 2rem;
}

.single .entry-content h4 {
	font-size:1em;
	margin-bottom:0.5rem;
}

.single #before_after_wrapper {
	margin-bottom:3rem;
}

.single .before_after {
	margin-top:3rem;
	margin-bottom:3rem;
}

.single .ba_box > div {
	padding:1rem;
	width:45%;
	font-size:0.85em;
}

.single .ba_box > div > dl > dt {
	margin-bottom:0.5rem;
}

.single .ba_box > div > dl > dd {
	letter-spacing:0;
	line-height:1.4;
}

.single .ba_box > div:nth-child(1):before {
	left:1.5rem;
	top:1.5rem;
	font-size:1.2em;
}

.single .ba_box > div:nth-child(3):before {
	left:1.5rem;
	top:1.5rem;
	font-size:1.2em;
}

.single .ba_box > i {
	font-size:1.4em;
}

}

.menu01,
.menu03,
.menu04 {
	margin-bottom:6rem;
}

.menu01 h2 {
	margin-top:0 !important;
}

.menu01 dl dd strong {
	display:block;
	margin-bottom:3rem;
	font-size:2em;
	font-weight:bold;
	font-family:Arial, Helvetica, sans-serif;
	color:#f53e35;
}

.menu01 dl dd strong small {
	font-weight:900;
	font-size:0.6em;
}

.menu02 {
	margin-bottom:3rem;
}

.menu02 dl {
	margin-right:2.666%;
	margin-bottom:3rem;
}

.menu02 dl:nth-child(4n) {
	margin-right:0;
}

.menu02 dl dd {
	text-align:center;
}

.menu02 dl dd p {
	margin-bottom:0 !important;
}

.menu03 .before_after {
	margin-top:3rem !important;
	margin-bottom:3rem !important;
}


@media (max-width: 980px){
.menu01, .menu03, .menu04 {
  margin-bottom: 3rem;
}

.menu01 dl dt {
	width:100%;
	margin-bottom:1.5rem;
	text-align:center;
}

.menu01 dl dd {
	width:100%;
}

.menu01 dl dd strong {
	margin-bottom:1.5rem;
}

.menu01 dl dd p {
	line-height:1.4;
}

.menu01 dl dd strong {
	font-size:1.6em;
}

.menu02 .box01 {
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.menu02 dl {
	width:49%;
	margin-right:0;
	margin-bottom:2rem;
}

.menu02 dl dd p {
	text-align:left;
	line-height:1.4;
	margin-top:0.5rem;
}

}

.page-id-423 .entry-content h3,
.page-id-420 .entry-content h3,
.page-id-421 .entry-content h3 {
    margin: 0;
}

dl.faq {
	width:96%;
	margin:0 auto !important;
	padding:1.5rem 1.5rem 2rem 1.5rem;
	border-bottom:1px dashed #DDD;
	background:#FAFAFA;
}

dl.faq:last-child,
dl.faq:first-child {
}

dl.faq dt {
	font-size:1.1em;
}

dl.faq dt:before {
    content: "Q.";
    margin-right:0.5rem;
	font-size:1.15em;
	font-weight:900;
	color:#1896e3;
}

dl.faq dd {
	margin-top:2rem;
	padding-left:3.5rem;
	position:relative;
}

dl.faq dd:before {
	position:absolute;
	top:-0.45rem;
	left:0.15rem;
    content: "A.";
    margin-right:0.5rem;
	font-size:1.4em;
	font-weight:900;
	color:#1896e3;
}

.qa-list dl {
    position: relative;
    padding: 28px 80px 28px 30px;
    cursor: pointer;
    border-bottom: 1px solid #DDD;
}
.qa-list dl:first-child {
    border-top: 1px solid #DDD;
}
.qa-list dl::before {
    position: absolute;
    top: 35px;
    right: 35px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
}
.qa-list .open::before {
    transform: rotate(-45deg);
}

@media screen and (max-width: 980px) {
dl.faq dt {
	font-size:1em;
}

.qa-list dl {
	padding: 1rem 40px 1rem 1rem;
}

.qa-list dl::before {
    right: 20px;

}
}

#index01 {
	margin-bottom:4.5rem;
}

#index01 dl {
	background:#EEEEEE;
	padding:1.5rem 2rem;
	border-radius:10px;
	margin-top:-13%;
}

#index01 dl dt {
	font-weight:700;
    font-size: clamp(18px, 3.6vw, 60px);
	text-align:center;
	margin-bottom:1rem;
	color:#0099CC;
}

#index01 dl dd ul li {
	margin-bottom:1.5rem;
}

#index01 dl dd ul li a {
	padding:2rem 1rem;
	text-align:center;
	display:block;
	background:#FFF;
    font-size: clamp(15px, 1.8vw, 28px);
	font-weight:500;
}

#index02 h2 {
	text-align:right;
	line-height:1.4;
	margin-bottom:4.5rem;
}

#index02 h2 span {
    font-size: clamp(30px, 3.2vw, 48px);
	display:block;
	font-family:Arial, Helvetica, sans-serif;
	font-weight:900;
}

#index02 h2 strong {
	display:block;
	font-size:clamp(16px, 2.3vw, 20px);
	font-weight:700;
	letter-spacing:0;
	position:relative;
}

#index02 h2 strong:after {
	content:"";
	width:40px;
	height:7px;
	display:block;
	position:absolute;
	right:0;
	bottom:-12px;
	background:#000;
}

#index02 .box_wrapper_all {
	background:#E3F9FF;
}

#index02 .box_wrapper01 {
	padding-top:6rem;
	padding-bottom:6rem;
	position:relative;
	z-index:10;
}

#index02 .box_wrapper01 h3 {
	font-size:clamp(20px, 2vw, 30px);
	font-weight:700;
	color:#0099CC;
	letter-spacing:0;
	margin-bottom:2rem;
	margin-top:3rem;
}

#index02 .box_wrapper01 p {
	line-height:2.2;
}

#index02 .box_wrapper01 p strong {
	font-weight:bold;
}

#index02 .box_wrapper02 {
	background:#0099CC;
	padding-top:10%;
	margin-top:-10%;
	padding-bottom:6%;
	position:relative;
	z-index:5;
}

#index02 .box_wrapper02 dl {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
	-webkit-justify-content: space-between;
	justify-content: space-between;
	border-bottom:1px solid #FFF;
	margin-bottom:4.5rem
}

#index02 .box_wrapper02 dl dt {
	width:16.7%;
}

#index02 .box_wrapper02 dl dd {
	width:83.3%;
	color:#FFF;
	padding-left:1.5rem;
	padding-right:1.5rem;
}

#index02 .box_wrapper02 dl dd a {
	display:block;
	background:#FFF;
	color:#0099CC;
	padding:0.5rem 1rem;
	width:80%;
	text-align:center;
	border-radius:3px;
	margin-top:0.5rem;
}

#index02 .box01.box1200.base {
    display: flex;
    gap: 5%;
}

@media (max-width: 980px){
	#index02 .box01.box1200.base {
		flex-wrap: wrap;
	}
}

#index02 .box_inner.w55 {
    padding-bottom: 20%;
}

#index03 {
	padding-top:6rem;
	padding-bottom:6rem;
}

#index03 .box_wrapper {
	overflow:hidden;
}

#index03 h2 {
	text-align:left;
	line-height:1.4;
	margin-bottom:6rem;
}

#index03 h2 span {
    font-size: clamp(30px, 3.2vw, 48px);
	display:block;
	font-family:Arial, Helvetica, sans-serif;
	font-weight:900;
}

#index03 h2 strong {
	display:block;
	font-size:clamp(16px, 2.3vw, 20px);
	font-weight:700;
	letter-spacing:0;
	position:relative;
}

#index03 h2 strong:after {
	content:"";
	width:40px;
	height:7px;
	display:block;
	position:absolute;
	left:0;
	bottom:-12px;
	background:#000;
}

#index03 .box01 {
	padding-top:3rem;
	padding-bottom:3rem;
	position:relative;
}

#index03 .box01:after {
    content: "";
    width: 1px;
    height: 10000px;
    background: #000;
    position: absolute;
    top: 0;
    right: -9%;
}

#index03 .box02 {
	padding-top:3rem;
	padding-bottom:3rem;
}

#index03 .box01 h3 {
	color:#0099CC;
    font-size: clamp(24px, 2.4vw, 36px);
	text-align:center;
	font-weight:700;
	margin-bottom:3rem;
}

#index03 .box02 h3 {
	color:#FF3366;
    font-size: clamp(24px, 2.4vw, 36px);
	text-align:center;
	font-weight:700;
	margin-bottom:3rem;
}

#index03 .box01 .box_inner {
	background:#0099CC;
	padding:2rem;
	margin-bottom:4.5rem;
}

#index03 .box02 .box_inner {
	background:#FF3366;
	padding:2rem;
	margin-bottom:4.5rem;
}

#index03 .box01 .box_inner dl {
	border:1px solid #FFF;
	padding:6rem 1.5rem;
	text-align:center;
	color:#FFF;
}

#index03 .box01 .box_inner dl dt {
    font-size: clamp(20px, 2vw, 30px);
	text-align:center;
	font-weight:700;
	margin-bottom:1.5rem;
}

#index03 .box02 .box_inner {
	background:#FF3366;
	padding:2rem;
	margin-bottom:4.5rem;
}


#index03 .box02 .box_inner dl {
	border:1px solid #FF3366;
	padding:6rem 1.5rem;
	text-align:center;
	color:#FFF;
}

#index03 .box02 .box_inner dl {
	border:1px solid #FFF;
	padding:6rem 1.5rem;
	text-align:center;
	color:#FFF;
}

#index03 .box02 .box_inner dl dt {
    font-size: clamp(20px, 2vw, 30px);
	text-align:center;
	font-weight:700;
	margin-bottom:1.5rem;
}

@media (max-width: 980px){
	#index03 .box_wrapper.flex_wrapper.jc-center {
    flex-wrap: wrap;
}
}

#index04 {
	background:#EEEEEE;
	padding-top:6rem;
	padding-bottom:6rem;
}

#index04 h2 {
	text-align:right;
	line-height:1.4;
	margin-bottom:4.5rem;
}

#index04 h2 span {
    font-size: clamp(30px, 3.2vw, 48px);
	display:block;
	font-family:Arial, Helvetica, sans-serif;
	font-weight:900;
}

#index04 h2 strong {
	display:block;
	font-size:clamp(16px, 2.3vw, 20px);
	font-weight:700;
	letter-spacing:0;
	position:relative;
}

#index04 h2 strong:after {
	content:"";
	width:40px;
	height:7px;
	display:block;
	position:absolute;
	right:0;
	bottom:-12px;
	background:#000;
}

#index04 ul li {
	background:#FFF;
	padding:0 1.5rem 1.5rem 1.5rem;
	margin-right:2%;
}

#index04 ul li:nth-child(3n) {
	margin-right:0;
}

#index04 ul li small {
	display:block;
}

#index04 ul li small a {
	display:inline-block;
	font-size:0.9em;
	padding:0.25rem 1rem;
	background:#0099CC;
	color:#FFF;
}

#index04 ul li time {
	display:block;
	font-size:0.9em;
	margin-bottom:0.5rem;
}

#index04 ul li h4 {
}


#index05 {
	padding-top:6rem;
	padding-bottom:6rem;
}

#index05 h2 {
	text-align:left;
	line-height:1.4;
	margin-bottom:4.5rem;
}

#index05 h2 span {
    font-size: clamp(30px, 3.2vw, 48px);
	display:block;
	font-family:Arial, Helvetica, sans-serif;
	font-weight:900;
}

#index05 h2 strong {
	display:block;
	font-size:clamp(16px, 2.3vw, 20px);
	font-weight:700;
	letter-spacing:0;
	position:relative;
}

#index05 h2 strong:after {
	content:"";
	width:40px;
	height:7px;
	display:block;
	position:absolute;
	left:0;
	bottom:-12px;
	background:#000;
}

.instabox {
	position:relative;
	width:100%;
	height:0;
	padding-top:50%;
}

.instabox iframe {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

@media (max-width: 1500px){
}

@media (max-width: 1200px){
}

@media (max-width: 980px){
#index01 dl {
	padding:1.5rem 1rem;
}

#index01 dl.w46 {
	width:49%;
}

#index01 dl dd ul li a {
	padding:1rem;
}

#index02 .box_wrapper01 {
	padding-top:3rem;
	padding-bottom:3rem;
}

#index02 .box_wrapper01 .thumbs.w37 {
	width:70%;
	margin-left:auto;
	margin-right:auto;
}

#index02 .box_wrapper01 .box_inner.w59 {
	width:100%;
}

#index02 .box_wrapper02 {
	margin-top:0;
}


#index02 .box_wrapper01 p {
	line-height:1.6;
}

#index02 .box_wrapper02 dl {
	padding-bottom:3rem;
}

#index02 .box_wrapper02 dl dt {
	width:100%;
	text-align:center;
	margin-bottom:1.5rem;
}

#index02 .box_wrapper02 dl dd {
	width:100%;
}

#index02 .box_wrapper02 dl dd a {
	width:100%;
	margin-top:1.5rem;
	font-size:0.9em;
}

#index03 .box01 {
	width:100%;
}

#index03 h2 {
	margin-bottom:3rem;
}

#index03 .box01 h3 {
	margin-bottom:1.5rem;
}

#index03 .box02 {
	width:100%;
}

#index03 .box02 h3 {
	margin-bottom:1.5rem;
}

#index03 .box01 .box_inner,
#index03 .box02 .box_inner {
	margin-bottom:2rem;
}

#index03 .box02 {
	padding-top:0;
}

#index03 .box02 .box_inner dl dd {
	letter-spacing:0;
}

#index04 h2.w20 {
	width:100%;
}

#index04 ul.w80 {
	width:100%;
}

#index04 ul.w80 li.w32 {
	width:49%;
}

#index04 ul.w80 li.w32:nth-child(1) {
	width:100%;
	margin-bottom:1.5rem;
	margin-right:0;
}

}

.page .entry-content .casestudy {
	background:#EEEEEE;
	padding-top:6rem;
	padding-bottom:6rem;
}

.page .entry-content .casestudy  > div {
		display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-align-items: flex-start; /* 縦方向中央揃え（Safari用） */
	align-items: flex-start; /* 縦方向中央揃え */
}

.page .entry-content .casestudy h2 {
	font-size: clamp(16px, 2.2vw, 30px);
	text-align: right;
	letter-spacing: 0;
	line-height:1.4;
}

.page .entry-content .casestudy h2:after {
	left:inherit;
	right: 0;
	bottom: -30px;
}

.page .entry-content .casestudy ul li {
	background:#FFF;
	padding:1.5rem 1rem;
}

.page .entry-content .casestudy ul li span {
	padding:0.5rem 1rem;
	background:#0099CC;
	font-size: clamp(16px, 2.2vw, 30px);
	font-family:Arial, Helvetica, sans-serif;
	display:block;
	text-align:center;
	color:#FFF;
	font-weight:bold;
	margin-bottom:1rem;
}

.page .entry-content .casestudy ul li p {
	padding:0 10px;
}

.leaseback_about {
	background:#e3f9ff;
	padding-top:4.5rem;
	padding-bottom:6rem;
}

.arrow01 {
	color:#0099cc;
	font-size:clamp(24px, 3.6vw, 42px);
	line-height:1.4;
	margin-bottom:0 !important;
	margin-top:-2rem !important;
}

.merit {
	margin-bottom:6rem;
    gap: 0 !important;
}

.wp-block-columns:after {
	content:none !important;
}

.merit .wp-block-column {
	border-right:1px solid #000;
	padding-left:1.5rem;
	padding-right:1.5rem;
	margin-left:0 !important;
}

.merit .wp-block-column:nth-child(3) {
	border:none;
}

.merit .wp-block-column figure {
	text-align:center !important;
}

.merit .wp-block-column figure img {
	width:70%;
	max-width:337px;
	height:auto;
	margin:0 auto !important;
}

.flow_box {
	margin-top:9rem;
}

.flow_box ol {
	list-style:none;
	margin-left:0;
	padding-left:0;
}

.flow_box ol li {
	border:1px solid #333;
	padding:4.5rem 1.5rem 3rem 1.5rem;
	position:relative;
}

.flow_box ol li:nth-child(1):after,
.flow_box ol li:nth-child(2):after,
.flow_box ol li:nth-child(3):after {
    content: "\f04b";
    font-family: FontAwesome;
	position:absolute;
	/*中央*/
	position: absolute;
	top: 50%;
	transform: translateY(-50%) ;
	-webkit-transform: translateY(-50%);
	margin: auto;
	display:inline-block;
	right:-26%;
    font-size: clamp(20px, 4vw, 48px);
}

.flow_box ol li span {
	display:block;
	text-align:center;
    margin-top: -7rem;
}

.flow_box ol li strong {  
	padding: 0.5rem 3rem;
	background: #0099CC;
	font-size: clamp(16px, 1.6vw, 24px);
	font-family: Arial, Helvetica, sans-serif;
	display:inline-block;
	text-align: center;
	color: #FFF;
	font-weight: bold;
	margin-bottom: 2rem;
}

.flow_box ol li img {
	margin:0 auto 3rem auto;
	display:block;
}


.flow_box ol li a img {
	margin-bottom:0;
	margin-top:1.5rem;
}

.entry-content .flow_box ol li p {
	margin-bottom:0;
}

.faq {  
	background: #EEEEEE;
	padding-top: 4.5rem;
	padding-bottom: 4.5rem;
}

.faq dl dt {
	background:#FFF;
	padding:0.5rem 1rem;
	font-size: clamp(16px, 1.6vw, 24px);
	color: #0099CC;
	font-weight:700;
	margin-bottom:1rem;
}

.faq dl dd {
	margin-bottom:3rem;
	padding-left:1.5rem;
	font-size: clamp(14px, 1.4vw, 20px);
}

.tokucho {
	margin-top:-3rem;
}

.tokucho dl {
	background:#FFF;
	padding:1.5rem 3rem;
	color:#0099CC;
	margin-bottom:1.5rem;
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.tokucho dl:after {
	content:none;
}

.tokucho dl dt {
	width:10%;
}

.tokucho dl dd {
	width:86%;
}

.tokucho dl dd strong {
	display:block;
	font-weight:900;
	font-size: clamp(16px, 1.6vw, 24px);
}

.select_category {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	margin-bottom:12rem;
}

.select_category li {
	width:16%;
	margin-right:2%;
}

.select_category li a {
	padding:2rem 1.5rem;
	background:#0099CC;
	display:block;
	color:#FFF;
	text-decoration:none;
	font-size: clamp(15px, 1.4vw, 20px);
	position:relative;
}

.select_category li a:after {
	content:"▼";
	color:#FFF;
	/*中央*/
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	right:1.5rem;
	margin: auto;
	display:inline-block;
	font-size:0.8em;
}

.item_wrapper {
	margin-bottom:9rem;
}

.item_wrapper .wp-block-columns {
	border-bottom:2px dotted #0099CC;
	padding-bottom:4.5rem;
	margin-bottom:4.5rem;
    gap: 0em;
}

.item_wrapper table td {
	padding:3px 1rem;
	font-size:0.9em;
	border:1px dashed #777 !important;
}

.item_wrapper table tr:nth-child(1) td {
	text-align:center;
	color:#0099CC;
	font-size:1em;
	background:#E3F9FF;
}

.item_wrapper table tr:nth-child(n+2) td:nth-child(2) {
	text-align:center;
}

.item_wrapper .wp-block-columns p {
	letter-spacing:0;
}

.wp-block-group__inner-container {
	display:block;
    clear: both;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}

.compnay_message {
	line-height:2.4;
}

@media (max-width: 980px){

.page .entry-content .casestudy h2,
.page .entry-content .casestudy ul {
	width:100%;
}

.page .entry-content .casestudy ul li {
	width:100%;
	margin-bottom:2rem;
}

.select_category {
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-bottom:3rem;
}

.select_category li {
	width:48%;
	margin-right:0;
	margin-bottom:1rem;
}

.select_category li a {
	padding:1rem;
}

.flow_box {
	padding-bottom:0
}

.flow_box ol li {
	width:80%;
	margin-bottom:6rem;
	margin-left:auto;
	margin-right:auto;
}

.flow_box ol li:nth-child(1):after, .flow_box ol li:nth-child(2):after, .flow_box ol li:nth-child(3):after {
	content:none !important;
}

.flow_box ol li img {
	width:45%;
	max-width:170px;
	height:auto;
}

.page .entry-content .casestudy h2 {
    font-size: clamp(20px, 2.4vw, 34px);
}

.page .entry-content .casestudy h2:after {
    bottom: -20px;
}

.tokucho dl {
	padding-top:3rem;
	padding-bottom:3rem;
}

.tokucho dl dt {
	width:30%;
	margin:0 auto 2rem auto;
}

.tokucho dl dd {
	width:100%;
}

.merit .wp-block-column {
}

.item_wrapper .wp-block-columns {
	border-bottom:none;	
	padding-bottom: 0;
    margin-bottom: 2rem;
}

.item_wrapper .wp-block-columns .wp-block-column {
    margin-bottom: 2rem;
}

.tokucho dl {
	color:#0099CC;
	margin-bottom:1.5rem;
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap: wrap;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.tokucho dl:after {
	content:none;
}

.tokucho dl dt {
	width:10%;
}

.tokucho dl dd {
	width:86%;
}

.tokucho dl dd strong {
	display:block;
	font-weight:900;
	font-size: clamp(16px, 1.6vw, 24px);
}

.select_category {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	margin-bottom:12rem;
}

.select_category li {
	width:16%;
	margin-right:2%;
}

.select_category li a {
	padding:2rem 1.5rem;
	background:#0099CC;
	display:block;
	color:#FFF;
	text-decoration:none;
	font-size: clamp(15px, 1.4vw, 20px);
	position:relative;
}

.select_category li a:after {
	content:"▼";
	color:#FFF;
	/*中央*/
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	right:1.5rem;
	margin: auto;
	display:inline-block;
	font-size:0.8em;
}

.item_wrapper {
	margin-bottom:9rem;
}

.item_wrapper .wp-block-columns {
	border-bottom:2px dotted #0099CC;
	padding-bottom:4.5rem;
	margin-bottom:4.5rem;
    gap: 0em;
}

.item_wrapper table td {
	padding:3px 1rem;
	font-size:0.9em;
	border:1px dashed #777 !important;
}

.item_wrapper table tr:nth-child(1) td {
	text-align:center;
	color:#0099CC;
	font-size:1em;
	background:#E3F9FF;
}

.item_wrapper table tr:nth-child(n+2) td:nth-child(2) {
	text-align:center;
}

.item_wrapper .wp-block-columns p {
	letter-spacing:0;
}

.wp-block-group__inner-container {
	display:block;
    clear: both;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}

.compnay_message {
	line-height:2.4;
}


/* ユニークなルールのみ残してメインのメディアクエリ（3560行目〜）を閉じる */
.item_wrapper .wp-block-columns .wp-block-column:last-child {
	margin-bottom:0;
	padding-bottom:0;
}

.page .entry-content .item_wrapper .wp-block-columns .wp-block-column h6 {
	margin-bottom:0;
}

.item_wrapper .wp-block-columns .wp-block-column figure {
	margin-bottom:0.5rem !important;
}

}

/* ========================================
   追加：エイトプライムサブページ用スタイル
   (対象: 買取 id 423, 販売 id 420, レンタル id 421)
======================================== */

/* 特徴セクション見出しを白にする場合のみ上書き */
.page-id-423 .tokucho_wrapper h2.white,
.page-id-420 .tokucho_wrapper h2.white,
.page-id-421 .tokucho_wrapper h2.white {
    color: #013F72 !important; /* 背景色なしに合わせてネイビーに変更 */
    margin-bottom: 40px !important;
}

.page-id-423 .tokucho_wrapper h2.white:after,
.page-id-420 .tokucho_wrapper h2.white:after,
.page-id-421 .tokucho_wrapper h2.white:after {
    display: none !important;
}

/* 2. 8Primeの特徴セクション */
.page-id-423 .tokucho_wrapper,
.page-id-420 .tokucho_wrapper,
.page-id-421 .tokucho_wrapper {
    background: none; /* 背景色なし */
    padding: 60px 0;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    margin-bottom: 100px;
}

.page-id-423 .tokucho,
.page-id-420 .tokucho,
.page-id-421 .tokucho {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
}

.page-id-423 .tokucho dl,
.page-id-420 .tokucho dl,
.page-id-421 .tokucho dl {
    display: flex;
    align-items: center;
    background: #e1f8fe;
    margin-bottom: 12px;
    padding: 20px 30px;
    border: 2px solid #0099CC; /* 縁をつける */
    border-radius: 8px;
}

.page-id-423 .tokucho dl dt,
.page-id-420 .tokucho dl dt,
.page-id-421 .tokucho dl dt {
    width: 120px;
    flex-shrink: 0;
    margin-right: 30px;
}

.page-id-423 .tokucho dl dd,
.page-id-420 .tokucho dl dd,
.page-id-421 .tokucho dl dd {
    flex: 1;
    color: #0099CC;
    font-size: 14px;
    line-height: 1.6;
}

.page-id-423 .tokucho dl dd strong,
.page-id-420 .tokucho dl dd strong,
.page-id-421 .tokucho dl dd strong {
    display: block;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 5px;
}

/* 3. 事例 (Casestudy) */
.page-id-423 .casestudy_list,
.page-id-420 .casestudy_list,
.page-id-421 .casestudy_list {
    margin: 0 auto 100px;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 2%;
    flex-wrap: wrap;
    list-style: none;
}

.page-id-423 .casestudy_list li,
.page-id-420 .casestudy_list li,
.page-id-421 .casestudy_list li {
    background: #FFF;
    border: 2px solid #eee; /* 少し太めの縁に */
    padding: 30px 20px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    text-align: center;
    width: 32%;
    box-sizing: border-box;
    border-radius: 8px;
}

/* よくある質問セクションの背景リセット（ページ個別） */
.page-id-423 .faq,
.page-id-420 .faq,
.page-id-421 .faq {
    background: none !important;
}

.page-id-423 .faq dl dt,
.page-id-420 .faq dl dt,
.page-id-421 .faq dl dt {
    border: 2px solid #0099CC;
    border-radius: 4px;
}

.page-id-423 .casestudy_list li span,
.page-id-420 .casestudy_list li span,
.page-id-421 .casestudy_list li span {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #999;
    margin-bottom: 15px;
}

.page-id-423 .casestudy_list li p,
.page-id-420 .casestudy_list li p,
.page-id-421 .casestudy_list li p {
    text-align: left;
    font-size: 15px;
    line-height: 1.8;
    color: #333;
}

/* 4. 流れ (Flow) */

.page-id-423 .flow_box ol,
.page-id-420 .flow_box ol,
.page-id-421 .flow_box ol {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    padding: 0;
    margin: 50px 0 0;
    list-style: none;
}

.page-id-423 .flow_box ol li,
.page-id-420 .flow_box ol li,
.page-id-421 .flow_box ol li {
    position: relative;
    width: 23%;
    border: 2px solid #0099CC; /* 縁を太めに */
    padding: 40px 15px 30px;
    text-align: center;
    background: #FFF;
    box-sizing: border-box;
    border-radius: 8px;
}

/* 三角矢印 - CSSのみで作成 */
.page-id-423 .flow_box ol li:not(:last-child):after,
.page-id-420 .flow_box ol li:not(:last-child):after,
.page-id-421 .flow_box ol li:not(:last-child):after {
    content: "";
    position: absolute;
    top: 50%;
    right: -25px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 0 15px 20px;
    border-color: transparent transparent transparent #333;
    z-index: 2;
}

/* STEPラベル */
.page-id-423 .flow_box ol li .step_label,
.page-id-420 .flow_box ol li .step_label,
.page-id-421 .flow_box ol li .step_label {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: #0099CC;
    color: #FFF;
    font-weight: 700;
    padding: 5px 25px;
    font-size: 18px;
    white-space: nowrap;
}

.page-id-423 .flow_box ol li h4,
.page-id-420 .flow_box ol li h4,
.page-id-421 .flow_box ol li h4 {
    color: #0099CC !important;
    font-size: clamp(16px, 1.8vw, 22px) !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
    line-height: 1.4 !important;
    border: none !important;
    padding: 0 !important;
    background: none !important;
    margin-top: 0 !important;
}

.page-id-423 .flow_box ol li .icon,
.page-id-420 .flow_box ol li .icon,
.page-id-421 .flow_box ol li .icon {
    width: 60px;
    height: 60px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-id-423 .flow_box ol li .icon img,
.page-id-420 .flow_box ol li .icon img,
.page-id-421 .flow_box ol li .icon img {
    max-width: 100%;
    height: auto;
}

.page-id-423 .flow_box ol li .desc,
.page-id-420 .flow_box ol li .desc,
.page-id-421 .flow_box ol li .desc {
    font-size: 13px;
    line-height: 1.6;
    text-align: left;
    color: #333;
}

/* LINEボタン */
.page-id-423 .flow_box .line_btn,
.page-id-420 .flow_box .line_btn,
.page-id-421 .flow_box .line_btn {
    display: inline-block;
    background: #00c300;
    color: #FFF !important;
    padding: 8px 15px;
    border-radius: 4px;
    font-weight: 700;
    margin-top: 15px;
    text-decoration: none;
    font-size: 14px;
    transition: opacity 0.3s;
}

.page-id-423 .flow_box .line_btn:hover,
.page-id-420 .flow_box .line_btn:hover,
.page-id-421 .flow_box .line_btn:hover {
    opacity: 0.8;
}

/* 5. スマホレスポンシブ対応 */
@media (max-width: 980px) {
    .page-id-423 .casestudy_list li,
    .page-id-420 .casestudy_list li,
    .page-id-421 .casestudy_list li {
        width: 100% !important;
        margin-bottom: 20px;
    }

    .page-id-423 .flow_box ol,
    .page-id-420 .flow_box ol,
    .page-id-421 .flow_box ol {
        flex-direction: column;
        align-items: center;
    }

    .page-id-423 .flow_box ol li,
    .page-id-420 .flow_box ol li,
    .page-id-421 .flow_box ol li {
        width: 100%;
        margin-bottom: 50px;
    }

    .page-id-423 .flow_box ol li:not(:last-child):after,
    .page-id-420 .flow_box ol li:not(:last-child):after,
    .page-id-421 .flow_box ol li:not(:last-child):after {
        top: auto;
        bottom: -35px;
        right: 50%;
        transform: translateX(50%) rotate(90deg);
    }
}

@media (max-width: 767px) {
    .page-id-423 .tokucho dl,
    .page-id-420 .tokucho dl,
    .page-id-421 .tokucho dl {
        flex-direction: column;
        text-align: center;
    }

    .page-id-423 .tokucho dl dt,
    .page-id-420 .tokucho dl dt,
    .page-id-421 .tokucho dl dt {
        margin-right: 0;
        margin-bottom: 15px;
        margin-left: auto; /* スマホ中央揃え */
        margin-right: auto; /* スマホ中央揃え */
    }

    .page-id-423 .tokucho_wrapper,
    .page-id-420 .tokucho_wrapper,
    .page-id-421 .tokucho_wrapper {
        padding: 40px 0;
    }
}
/* ========================================
   エイトプライム 販売・レンタルページ専用 調整
   (ID: 420, 421)
======================================== */

/* 1. 冒頭文章セクション（タイトル＋テキスト）の余白調整 */
.page-id-420 .wp-block-group.has-background,
.page-id-421 .wp-block-group.has-background {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}

/* 2. 商品一覧 (Item List) のスタイル調整 */
/* テーブル：ヘッダーとデータのスタイルを強制上書き (style.cssの!importantを超えるため最優先セレクタ) */

/* ヘッダー全体 (th) / 1行目のセル: 水色に統一 */
body.page-id-420 .entry-content th,
body.page-id-421 .entry-content th,
body.page-id-420 .entry-content figure[class*="wp-block-table"] table th,
body.page-id-421 .entry-content figure[class*="wp-block-table"] table th,
body.page-id-420 .entry-content table tr:first-child td,
body.page-id-421 .entry-content table tr:first-child td {
    background-color: #E3F9FF !important;
    background: #E3F9FF !important;
    color: #0099CC !important;
    font-weight: 700 !important;
    text-align: center !important;
    border: 1px dashed #0099CC !important;
    padding: 10px 15px !important;
    font-size: 15px !important;
    white-space: nowrap !important;
    width: auto !important;
}

/* データ行全体 (td / 特に1列目): 白背景に黒文字 */
body.page-id-420 .entry-content table tr td,
body.page-id-421 .entry-content table tr td,
body.page-id-420 .entry-content figure[class*="wp-block-table"] table tr td:first-child,
body.page-id-421 .entry-content figure[class*="wp-block-table"] table tr td:first-child {
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #333333 !important;
    border: 1px dashed #0099CC !important;
    padding: 8px 15px !important;
    font-size: 14px !important;
}

/* 1列目 (td) : 折り返し禁止と中央揃えを強制、背景を白に固定（style.cssの紺色を上書き） */
body.page-id-420 .entry-content table tr td:first-child,
body.page-id-421 .entry-content table tr td:first-child,
body.page-id-420 .entry-content figure[class*="wp-block-table"] table tr td:first-child,
body.page-id-421 .entry-content figure[class*="wp-block-table"] table tr td:first-child {
    white-space: nowrap !important;
    width: auto !important;
    min-width: 100px !important;
    text-align: center !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #333333 !important;
}

/* 商品区切りの点線 */
body.page-id-420 .entry-content .wp-block-columns,
body.page-id-421 .entry-content .wp-block-columns {
    border-bottom: 2px dotted #0099CC !important;
    padding-bottom: 4rem !important;
    margin-bottom: 4rem !important;
}

/* 画像とタイトルの配置調整（PC/タブレット） */
body.page-id-420 .entry-content .wp-block-media-text,
body.page-id-421 .entry-content .wp-block-media-text {
    align-items: start !important;
}

body.page-id-420 .entry-content .wp-block-media-text__content h4,
body.page-id-421 .entry-content .wp-block-media-text__content h4 {
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #333 !important;
    border: none !important;
    padding: 0 !important;
}

/* h5見出し：装飾（ドット・棒）を完全に解除 */
body.page-id-420 .entry-content h5,
body.page-id-421 .entry-content h5 {
    margin: 0 0 15px 0 !important;
    padding: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #333 !important;
    border: none !important;
    background: none !important;
    position: relative !important;
}

body.page-id-420 .entry-content h5::before,
body.page-id-421 .entry-content h5::before,
body.page-id-420 .entry-content h5:before,
body.page-id-421 .entry-content h5:before,
body.page-id-420 .entry-content h5::after,
body.page-id-421 .entry-content h5::after,
body.page-id-420 .entry-content h5:after,
body.page-id-421 .entry-content h5:after {
    content: none !important;
    display: none !important;
}

/* 3. カテゴリボタンのレスポンシブ対応 */
@media (max-width: 767px) {
    .page-id-420 .select_category,
    .page-id-421 .select_category {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding: 0 10px !important;
        margin-bottom: 50px !important;
    }

    .page-id-420 .select_category li,
    .page-id-421 .select_category li {
        width: 48% !important;
        margin-right: 0 !important;
        margin-bottom: 10px !important;
        float: none !important; /* クリア */
    }

    .page-id-420 .select_category li a,
    .page-id-421 .select_category li a {
        padding: 10px 2px !important;
        font-size: 12px !important;
        text-align: center !important;
        white-space: nowrap !important; /* テキストが縦書きにならないように */
        letter-spacing: -1px !important; /* 詰める */
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden;
    }

    .page-id-420 .select_category li a:after,
    .page-id-421 .select_category li a:after {
        position: relative !important;
        top: 0 !important;
        right: -3px !important;
        margin: 0 !important;
        transform: scale(0.7) !important;
    }
}

/* 商品一覧：スマホ時に画像とタイトルの崩れを微調整 */
@media (max-width: 767px) {
    body.page-id-420 .entry-content .wp-block-media-text,
    body.page-id-421 .entry-content .wp-block-media-text {
        grid-template-columns: 100% !important;
    }
    
    body.page-id-420 .entry-content .wp-block-media-text__media,
    body.page-id-421 .entry-content .wp-block-media-text__media {
        margin-bottom: 15px !important;
    }
}

/* スマホ時のテーブルを縦並び1列にしない＆水色ヘッダー優先 */
@media (max-width: 768px) {
    body.page-id-420 .entry-content table,
    body.page-id-421 .entry-content table,
    body.page-id-420 .entry-content figure[class*="wp-block-"] table,
    body.page-id-421 .entry-content figure[class*="wp-block-"] table {
        display: table !important;
        width: 100% !important;
    }
    body.page-id-420 .entry-content table tbody,
    body.page-id-421 .entry-content table tbody,
    body.page-id-420 .entry-content figure[class*="wp-block-"] table tbody,
    body.page-id-421 .entry-content figure[class*="wp-block-"] table tbody {
        display: table-row-group !important;
    }
    body.page-id-420 .entry-content table tr,
    body.page-id-421 .entry-content table tr,
    body.page-id-420 .entry-content figure[class*="wp-block-"] table tr,
    body.page-id-421 .entry-content figure[class*="wp-block-"] table tr {
        display: table-row !important;
        border-bottom: none !important;
    }
    body.page-id-420 .entry-content table th,
    body.page-id-421 .entry-content table th,
    body.page-id-420 .entry-content figure[class*="wp-block-"] table th,
    body.page-id-421 .entry-content figure[class*="wp-block-"] table th,
    body.page-id-420 .entry-content table td,
    body.page-id-421 .entry-content table td,
    body.page-id-420 .entry-content figure[class*="wp-block-"] table td,
    body.page-id-421 .entry-content figure[class*="wp-block-"] table td {
        display: table-cell !important;
        width: auto !important;
        border: 1px dashed #0099CC !important;
    }

    /* スマホでも水色ヘッダーと白tdなどを優先 */
    body.page-id-420 .entry-content th,
    body.page-id-421 .entry-content th,
    body.page-id-420 .entry-content figure[class*="wp-block-table"] table th,
    body.page-id-421 .entry-content figure[class*="wp-block-table"] table th,
    body.page-id-420 .entry-content table tr:first-child td,
    body.page-id-421 .entry-content table tr:first-child td {
        background-color: #E3F9FF !important;
        background: #E3F9FF !important;
        color: #0099CC !important;
    }

    body.page-id-420 .entry-content table tr td:first-child,
    body.page-id-421 .entry-content table tr td:first-child,
    body.page-id-420 .entry-content figure[class*="wp-block-table"] table tr td:first-child,
    body.page-id-421 .entry-content figure[class*="wp-block-table"] table tr td:first-child {
        background-color: #ffffff !important;
        background: #ffffff !important;
        color: #333333 !important;
    }
}

/* PC/スマホ共通：テーブルの「規格」セル（1行目1列目想定）を「重量」セル等（1行目）と同じく水色にする */
body.page-id-420 .entry-content table tr:first-child td:first-child,
body.page-id-421 .entry-content table tr:first-child td:first-child,
body.page-id-420 .entry-content figure[class*="wp-block-table"] table tr:first-child td:first-child,
body.page-id-421 .entry-content figure[class*="wp-block-table"] table tr:first-child td:first-child {
    background-color: #E3F9FF !important;
    background: #E3F9FF !important;
    color: #0099CC !important;
}
