/*
Theme Name: ディアノイア_ver_01_2026
Theme URL:
Author:
Author URI:
Description: ディアノイア_のテンプレートver01
Version: 9999
Tags:
License:
License URI:
*/
/* ==========================================================================
   Foundation
   ========================================================================== */
/* Reset
   ----------------------------------------------------------------- */

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav.gnav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:400;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav.gnav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}
figure{margin-bottom:0;}
/* Base
   ----------------------------------------------------------------- */
.serif{
	font-family:"Noto Serif JP", serif;
	font-weight: 500;
  font-style: normal;
}
body{
	font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
	color:#222;
	/*max-width:2400px;*/
	margin:0 auto;
	letter-spacing: 1px;
	font-feature-settings: "palt";
	background-color:#fff;
}
@media screen and (max-width: 480px){
	body{letter-spacing:0;}
}
a{
	color:#234461;
	text-decoration:none;
}
a:hover{opacity:0.8;}
img{
	vertical-align:top;
	max-width:100%;
	height:auto;
}
figcaption{
	text-align:center;
	font-size:clamp(13px, 1.5vw, 16px);
	line-height:1.5em;
	margin:5px 0;
}
ol{list-style:none}
strong{font-weight:bold;}
/* ==========================================================================
   共通
========================================================================== */
html{
	font-size:clamp(13px, 1.5vw, 16px);
	scroll-padding-top: 50px;/*追従headerの高さ指定*/
}
main{/*overflow:hidden;*/}

/*文字寄せ*/
.txt-right{text-align:right;}
.txt-center{text-align:center;}
/*一文字空白*/
.indent{text-indent: 1em;}
/*URL改行防止*/
main p{word-break: break-all;}


/*共通ボタン(もっと見る)*/

.btn {text-align:center;}
.btn a{
	font-size:16px;
  box-sizing:border-box;
  line-height:43px;
  padding:0 8px 0 38px;
  width:210px;
  display:inline-block;
  margin:0 auto;
  background-color:#005AA9;
  color:#fff;
  font-weight:bold;
  border-radius:22px;
  text-decoration:none;
  position:relative;
  overflow:hidden; /* はみ出し防止 */
}
.btn a:before{
	content:"";
  width:25px;
  height:25px;
  background:#fff;
  border-radius:50%;
  position:absolute;
  left:8px;
  top:9px;
  z-index:1;

}
.btn a:after{
	content:"";
	width:5px;
	height:7px;
	background:#005AA9;
	z-index:2;
	position:absolute;
	left:18px;
	top:18px;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	
}
.btn a:hover{	padding:0 38px 0 8px;background:#0088FF;opacity:1;}
.btn a:hover:after{background:#0088FF;}

/*アニメーション用*/
.btn a::before,
.btn a::after{
  transition: transform .3s ease, background-color .3s ease;
}
/* hover */
.btn a:hover::before{
  transform: translateX(168px);
}

.btn a:hover::after{
  transform: translateX(168px);
}



/*共通テーブル*/
table.tbl100{width: 100%;}

.tbl01{
	margin-bottom: 2rem;
	box-sizing: border-box;
	border-top:solid 1px #ccc;
	border-left:solid 1px #ccc;
}
.tbl01 thead th{
	background:#e1dded;
	font-weight:bold;
	text-align:center;
}
.tbl01 tbody th{
	text-align:center;
}
.tbl01 tbody td{background:#fff;}
.tbl01 tbody td:nth-child(1){
	text-align:center;
}
.tbl01 tbody td.point{
	background:#f4f3f2;
}
.tbl01 tbody td.pr{text-align:center;}
.tbl01 td,
.tbl01 th{
	padding: 1rem ;
	line-height: 1.5rem;
	font-size:clamp(11px, 1.25vw, 15px);
	border-bottom:solid 1px #ccc;
	border-right:solid 1px #ccc;
	vertical-align: middle;
}


@media screen and (max-width: 768px){
.scroll{
	overflow: auto;
	white-space: nowrap;
	margin-bottom: 1em;
}
.scroll table{
	width: 100%;
	margin-bottom: 0.5em;
}
}
@media screen and (max-width: 480px){
.tbl01 td,
.tbl01 th{padding: 1rem 1rem;}
}



/*線なしのミニテーブル*/
.tbl-min{
	margin-bottom: 2rem;
	box-sizing: border-box;
}
.tbl-min td,
.tbl-min th{
	padding: 0.5rem ;
	line-height: 1.5rem;
	font-size:clamp(13px, 1.5vw, 16px);
}
.tbl-min th{
	vertical-align: top;
	text-align: left;
}


/*mapレスポンシブ*/
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 36.25%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}
@media screen and (max-width: 640px){
	.gmap {padding-bottom: 56.25%;}
}

/*動画レスポンシブ*/
.youtube{
	width: 100%;
	aspect-ratio: 16 / 9;
}
.youtube iframe{
	width: 100%;
	height: 100%;
}



/*tel スマホサイズのみクリック可*/
@media (min-width: 769px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}


.sec{padding:6rem 2rem;}
@media screen and (max-width: 768px){.sec{padding:4rem 2rem;}}
@media screen and (max-width: 480px){.sec{padding:3rem 2rem;}}



.inner{ 
	max-width:1200px;
	margin:0 auto;
	box-sizing:border-box;
}

.inner900{
	max-width:900px;
	margin:0 auto;
	box-sizing:border-box;
}


/*sp用*/
@media screen and (min-width: 481px){.sp480{display:none;}}
@media screen and (min-width: 381px){.sp380{display:none;}}
/*見出し*/

/*共通の見出しサイズ*/
h1,
h2,
h3,
h4,
h5,
p{line-height:1.75em;}

h1:not(.not){font-size:clamp(28px, 4vw, 62px);}
h2:not(.not){font-size:clamp(25px, 3.5vw, 62px);}
h3:not(.not){font-size:clamp(22px, 2.5vw, 36px);}
h4:not(.not){font-size:clamp(20px, 2vw, 28px);}
h5:not(.not){font-size:clamp(18px, 1.75vw, 21px);}
h6:not(.not){font-size:clamp(16px, 1.5vw, 18px);}
p,a{font-size:clamp(15px, 1.25vw, 16px);}

h1:not(.not) span,
h2:not(.not) span,
h3:not(.not) span,
h4:not(.not) span,
h5:not(.not) span,
h6:not(.not) span{display:inline-block;}
p span{display:inline-block;}

/*共通の見出し装飾と余白*/
.bold{font-weight: 700;}
h1:not(.not){margin-bottom:2rem;font-weight: 700;}
h2:not(.not){margin-bottom:1rem;font-weight: 700;}
h3:not(.not){margin-bottom:1rem;font-weight: 700;}
h4:not(.not){margin-bottom:1rem;font-weight: 700;}
h5:not(.not){margin-bottom:1rem;font-weight: 700;}
h6:not(.not){margin-bottom:1rem;font-weight: 700;}
p:not(.not){margin-bottom:1rem;}

/*テキストの色指定用*/
.txt-blue{color:#004CA0;}
.txt-gold{color:#C9A333;}

h3.tit-border{
	background-image: linear-gradient(90deg, #C9A333, #C9A333 120px, #DBDBDB 120px, #DBDBDB);
	background-repeat: no-repeat;
	background-size: 100% 3px;
	background-position: bottom;
	padding: 0 0 1rem 0;
	margin-bottom: 2rem;
}
h3.tit-border .min{
	font-size:clamp(20px, 2vw, 28px);
	font-weight:bold;
}
/*=====共通リスト=====*/

/*丸ドットのリスト*/
ul.list01{
	margin-left: 0.5rem;
	margin-bottom:1.5rem;
}
ul.list01 > li{
	font-size:clamp(13px, 2vw, 16px);
	line-height: 1.5em;
	padding:0 0 0 26px;
	position:relative;
	margin-bottom:1rem;
}
ul.list01 > li:before{
	content: "";
	position: absolute;
	left: 10px;
	top: calc(1em - 5px);
	width: 5px;
	height: 5px;
	background: #1F2E55;
	display: block;
	border-radius: 5px;
}
/*数字リスト*/
ol.list-num01 {
	margin-left: 0.5rem;
	margin-bottom:1.5rem;
	counter-reset: listnum;
}
ol.list-num01 > li{
	font-size:clamp(14px, 2vw, 16px);
	line-height: 1.5em;
	margin: 0 0 1rem 0;
	padding:0 0 0 26px;
	position:relative;
}
ol.list-num01 > li:before{
	position: absolute;
	left: 0px;
	counter-increment: listnum;
	content: counter(listnum) ".";
	width: 23px;
	text-align: right;
}

/*（）付き数字リスト*/
ol.in-list-num {
	margin-left: 0.5rem;
	margin-bottom:2rem;
	counter-reset: listnum;
}
ol.in-list-num > li{
	font-size:clamp(14px, 2vw, 16px);
	line-height: 2em;
	margin: 0 0 1rem 0;
	padding:0 0 0 26px;
	position:relative;
}
ol.in-list-num > li:before{
	position: absolute;
	left: 0px;
	counter-increment: listnum;
	content: "(" counter(listnum) ")";
	width: 23px;
	text-align: right;
}

/*パンくず*/
#bread{
	padding:.75rem 1rem;
	background:#f4f3f2;
}
#bread ul{
	display:flex;
	flex-wrap:wrap;
	max-width:1140px;
	margin:0 auto;
}
#bread ul li{
	padding:0 .5rem 0 0;
	font-size:.8rem;
	line-height: 1rem;
	font-weight:bold;
}
#bread ul li a{
	font-size:.8rem;
	font-weight:normal;
}
#bread ul li a:after{content:"／";margin-left:.5rem;}

@media screen and (max-width: 769px){
	#bread ul li{padding:0 0.2rem 0 0 ; font-size:0.7rem;}
	#bread ul li a{font-size:0.7rem;}
}



/* ==========================================================================
   Layout
========================================================================== */


/* Header と side
----------------------------------------------------------------- */
header{
	width:100%;
	box-sizing:border-box;
	position:relative;
	padding:0;
	background-image: linear-gradient(130deg, rgba(24,24,24,1), rgba(50,50,50,1) 50%, rgba(24,24,24,1));
}
.header-in{
	max-width:1200px;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	height:80px;
}
.header-in .h-logo{
	position:relative;
	z-index:999;
	margin-right:1rem;
	background:#fff;
	padding:0;
	clip-path: polygon(32px 0%, 100% 0%, calc(100% - 32px) 100%, 0% 100%);
	height: 80px;
	display: flex;
	align-items: center;
	padding: 0 48px;
}
.header-in .item{
	flex:1;
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	justify-content: center;
	margin-right:300px;
}
@media screen and (max-width: 1200px){
.header-in .h-logo{
	clip-path: polygon(0% 0%, 100% 0%, calc(100% - 32px) 100%, 0% 100%);
	padding: 0 38px 0 8px;
}

}
@media screen and (max-width: 1080px){
	
	.header-in .h-logo img{height: 50px;width: auto;}
}
@media screen and (max-width: 980px){
	.header-in,
	.header-in .h-logo{height:60px;}
	.header-in .h-logo img{height: 40px;width: auto;}
}
@media screen and (max-width: 480px){
	.header-in .h-logo img{height: 30px;width: auto;}
}




/*追従*/
header.m_fixed{
	width:100%;
	box-sizing: border-box;
	position:fixed;
	z-index:9999;
	left:0;
	top:0;
}


/*h-nav*/


/*ハンバーガーメニューの高さがはみ出した時のスクロールバー*/
.globalMenuSp-in::-webkit-scrollbar{width: 8px;}
.globalMenuSp-in::-webkit-scrollbar-track{background-color: #ddd;}
.globalMenuSp-in::-webkit-scrollbar-thumb{background-color: #0088FF;}


nav.globalMenuSp {
	position: fixed;
	inset: 0;
	z-index: 1000;
	pointer-events: none;
}
.globalMenuSp-in{
	width: 100%;
	height: 100%;
	background: #005AA9;
	clip-path: circle(0% at 100% 0%);
	transition: clip-path 0.6s ease-in-out;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 50px 1rem 1rem;
	box-sizing: border-box;
}
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
	transform: translateX(0%);
	display:block;
}
.globalMenuSp.is-open {
	pointer-events: auto;
}
.globalMenuSp.is-open .globalMenuSp-in {
	/* 右上から左下へ広がる */
	clip-path: circle(150% at 100% 0%);
}

/*メニューはスクロールするけど、裏のページは動かない*/
body.is-menu-open {
	overflow: hidden;
}

.navToggle {
	display: block;
	position: absolute;
	right: 20px;
	top: 18px;
	width: 30px;
	height: 30px;
	cursor: pointer;
	z-index: 999999;
	text-align: center;
}
.navToggle span {
	display: block;
	position: absolute;    /* .navToggleに対して */
	width: 30px;
	height:1px;
	background:#fff;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	left: 0;
}
.navToggle span:nth-child(1) {top: 0;}
.navToggle span:nth-child(2) {top: 12px; }
.navToggle span:nth-child(3) {top: 24px;}
.navToggle span:nth-child(4) {
	display:none;
}
.navToggle.active{
	position:fixed;
	right: 20px;
	top: 18px;

}
/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
	top: 15px;
	left: 0;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
	top: 15px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}
.navToggle.active span:nth-child(3),
.navToggle.active span:nth-child(4){display:none;}


@media screen and (min-width: 981px){
.navToggle{display:none;}
}



/*ハンバーガー内のナビ*/

@media screen and (min-width: 541px){.globalMenuSp-in .sp{display:none;}}
@media screen and (max-width: 540px){.globalMenuSp-in .pc{display:none;}}

.globalMenuSp-in .w1100{
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
	max-width:1100px;
	margin:2rem auto;

}
.globalMenuSp-in .w1100 .pc{width:25%;}
.h_nav_wrap{
	flex:1;
	padding: 0 2rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}


.h_nav{}
.h_nav li{margin-bottom:3em;text-align:center;}
.h_nav li a,
.h_nav li a strong,
.h_nav li a span{display:inline-block;}
.h_nav li a strong{
	font-size:21px;
	letter-spacing:3px;
	color:#fff;
	margin-bottom:8px;
	font-weight:500;
}
.h_nav li a span{
	font-size:14px;
	color:#94D1EE;
}

.h_nav_min li{text-align:center;}
.h_nav_min li a{
	display:inline-block;
	color:#fff;
	font-size:13px;
	text-decoration: underline;
	line-height:1.5em;
	padding:8px;
}

.h_sns{margin-bottom:2rem;}
.h_sns li{text-align:center;padding:.5rem;}
.h_sns li a{display:inline-block;}



@media screen and (min-width: 541px){
.globalMenuSp-in .w1100{min-height: calc(100vh - 200px);}
}
@media screen and (max-width: 540px){
.globalMenuSp-in .w1100{display: block;}
.h_nav_wrap{margin-bottom:2rem;}
.globalMenuSp-in .sp{text-align:center;}

}

/*----ハンバーガー end----*/

/*pcのheaderナビ*/
.h_nav_pc {
	display:flex;
	flex-wrap:wrap;
}
.h_nav_pc li{
	margin-right:1.5rem;
}
.h_nav_pc li a{
	font-size:clamp(13px, 1.25vw, 16px);
	display:inline-block;
	color:#fff;
	font-weight:bold;

}
@media screen and (max-width: 980px){
.h_nav_pc{display:none;}

}


/*headerのお問い合わせボタン*/
.h-contact-wrap{
	position:fixed;
	right:10px;
	top:0;
	display: flex;
	flex-wrap:wrap;
	z-index:9;
}
.h-contact-wrap .contact-btn,
.h-contact-wrap .contact-agency-btn{
	
}
.h-contact-wrap .contact-btn a,
.h-contact-wrap .contact-agency-btn a{
	display: block;
	width:145px;
	height:100px;
	padding: 10px 10px;
	border-radius:0 0 8px 8px;
	box-sizing:border-box;
	color:#fff;
	font-size:16px;
	text-align:center;
	line-height: 1.25em;
	margin-left:10px;
}
.h-contact-wrap .contact-btn a{background:#004CA0;border:solid 2px #004CA0;}
.h-contact-wrap .contact-agency-btn a{background:#C9A333;border:solid 2px #C9A333;}
.h-contact-wrap .contact-btn a span,
.h-contact-wrap .contact-agency-btn a span{display: block;}
.h-contact-wrap .contact-agency-btn a span{margin-top: .5em;}

@media screen and (min-width: 981px){
	.h-contact-wrap .contact-btn a,
	.h-contact-wrap .contact-agency-btn a{border-top:none;}
}

.h-contact-wrap .contact-btn a:before,
.h-contact-wrap .contact-agency-btn a:before{
	content:"";
	width:39px;
	height:39px;
	display:block;
	background-repeat:no-repeat;
	background-size:100%;
	margin: 0 auto;
}

.h-contact-wrap .contact-btn a:before{background-image:url(img/icon_mail_w.png);}
.h-contact-wrap .contact-agency-btn a:before{background-image:url(img/icon_agency_w.png);}

.h-contact-wrap .contact-btn a:hover,
.h-contact-wrap .contact-agency-btn a:hover{
	background:#fff;
	opacity:1;
}
.h-contact-wrap .contact-btn a:hover{color:#004CA0;}
.h-contact-wrap .contact-agency-btn a:hover{color:#C9A333;}
.h-contact-wrap .contact-btn a:hover:before{background-image:url(img/icon_mail.png);}
.h-contact-wrap .contact-agency-btn a:hover:before{background-image:url(img/icon_agency.png);}

.h-contact-wrap .contact-agency-btn a span{margin-top:.5em;}


@media screen and (max-width: 1080px){
.h-contact-wrap .contact-btn a,
.h-contact-wrap .contact-agency-btn a{
	width: 120px;
	font-size: 13px;
}
}
@media screen and (max-width: 980px){
.h-contact-wrap{
	right: 0;
	top: unset;
	bottom: 0;
	}
	.h-contact-wrap .contact-btn a,
.h-contact-wrap .contact-agency-btn a{
	margin-left:0;
	border-radius:unset;
}
}
@media screen and (max-width: 480px){
	.h-contact-wrap .contact-btn a,
.h-contact-wrap .contact-agency-btn a{
	width: 80px;
	height: 80px;
	padding:5px 0;
}

.h-contact-wrap .contact-btn a span,
.h-contact-wrap .contact-agency-btn a span{
	font-size: 10px;
	line-height: 1.25em;
}
}


/*
.header-in .to-contact{
	margin:0 0px 0 20px;
}
.header-in .to-contact a{
	background:#fff;
	color:#005AA9;
	display:block;
	line-height:54px;
	width:178px;
	box-sizing:border-box;
	border-radius:30px;
	text-align:center;
	font-size:clamp(13px, 1.5vw, 16px);
	font-weight:500;
}
*/
/*

@media screen and (max-width: 1100px){
header{padding: 15px 15px 25px;}
.header-in .h-logo{width: 280px;}
.navToggle{right:20px; top:30px;}

.navToggle.active{right:20px; top:30px;}

.header-in .to-contact{margin:0;}
}
@media screen and (max-width: 980px){
	header{min-height: 80px;}
	.header-in .h-logo{width: 210px;}
	.header-in .to-contact a{width:140px;line-height: 45px;}
	.navToggle{right:20px; top:25px;}
	.navToggle.active{right:20px; top:25px;}
}
@media screen and (max-width: 768px){
header{min-height: 70px;}
.header-in .item{display: none;}
.navToggle{right:20px; top:20px;}
.navToggle.active{right:20px; top:20px;}
}
@media screen and (max-width: 420px){
	header{
		min-height: 60px;
		background:
	linear-gradient(
      to bottom,
      #005AA9 0%,
      #005AA9 80%,
      transparent 80%,
      transparent 100%
    ),
		url(img/wave-bg.svg);
		background-repeat: no-repeat, no-repeat;
	background-size:100% 100%,100% auto;
	background-position:top,left bottom;
	}
	.header-in .h-logo{width:200px;}
	.navToggle{right:15px; top:15px;}
	.navToggle.active{right:15px; top:15px;}
}
*/
/* footer
---------------------------------------------------------------- */


footer{

}



footer .f-inner{
	max-width:1200px;
	margin:0 auto;
	padding: 6rem 2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}
.f-inner .item-add{
	
}

.f_nav_wrap{
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	margin-left: auto;
}
.f_nav li{
	margin-bottom:1rem;
}

.f_nav li a{
	position:relative;
	padding-left:20px;
	color:#222;
}
.f_nav li a:before{
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 2px;
	width: 5px;
	height: 5px;
	border-top: 2px solid #C9A333;
	border-right: 2px solid #C9A333;
	transform: rotate(45deg);
}

@media screen and (max-width: 768px){
	.f_nav{display:none;}
}




footer .address{
	font-size:clamp(12px, 1.15vw, 13px);
	color:#fff;
	text-align: center;
	background:#101010;
	padding: 1.5rem 0;
}

/* カテゴリー
---------------------------------------------------------------- */

.cat_list_wrap{
	background: #f4f3f2;
	padding: 4rem 6rem;
}
@media screen and (max-width: 1140px){
.cat_list_wrap{padding:4rem 2rem;}
}

@media screen and (max-width: 480px){
.cat_list_wrap{padding:2rem 1rem;}
}

.cat_list .cat_txt{
	display:flex;
	flex-wrap:wrap;
	border-bottom: solid 1px #c3bdda;
    padding: 1rem .5rem;
}
.cat_list .cat_txt .date{
	width:6em;
	margin-right:1rem;
	line-height:1.75em;
	
}
@media screen and (max-width: 480px){
	cat_list .cat_txt{
	display:block;
	}
	.cat_list .cat_txt .date{margin-bottom:.5rem;}
}


/*pagenavi*/
.pagenavi{
	color: #fff;
	margin: 20px auto 20px;
	line-height:2em;
	text-align:center;
	clear: both;
	margin-bottom:2em;
}
.pagenavi a{
	text-decoration:none;
	color: #fff;
	background: #4F4F50;
}
.pagenavi a:hover{background:#b39ac4;}
.pagenavi a.page-numbers, .pagenavi .current{
	line-height: 33px;
	display: inline-block;
	padding: 0 12px;
	text-decoration: none;
	font-size: 16px;
	border-radius:30px;
}
.pagenavi .current{
	color: #fff;
	background: #b39ac4;
	font-weight: bold;
}
.pagenavi .prev.page-numbers,
.pagenavi .next.page-numbers{
	background:none;
	color:#1f1f1f;
}
@media screen and (max-width: 480px){
	.pagenavi a.page-numbers, .pagenavi .current{
		font-size:12px;
		padding:0 9px;
		line-height:24px;
	}
	
}



/*次の記事*/
.navigation{
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}
.navigation .alignleft,
.navigation .alignright{
	width:50%;
	box-sizing:border-box;
	position:relative;
}
.navigation .alignleft{padding-right:1rem;}
.navigation .alignright{padding-left:1rem;text-align:right; /*border-left:solid 1px #ddd;*/}

.navigation .next,
.navigation .prev{
	position:absolute;
	z-index:1;
	top:0;
	background:#958bbd;
	padding:3px 6px;
	color:#fff;
	font-size:12px;
}

.navigation .next{right:0;}
.navigation .prev{left:0;}


.navigation .tit{margin-bottom:0;}
.navigation a{
	display:block;
	padding:2rem 0;
	font-weight:bold;
	position:relative;
}
.navigation .date{
	position:absolute;
	bottom:5px;
	font-size:12px;
	color:#666;
}
.navigation .alignleft .date{left:0;}
.navigation .alignright .date{right:0;}

/* ==========================================================================
   main内共通
========================================================================== */

.entry_content{margin-bottom: 10rem;}
@media screen and (max-width: 480px){
	.entry_content{margin-bottom: 4rem;}
}



.page-top{
	padding:6rem 4rem;
	overflow:hidden;
}
.page-top-in{
	max-width:1480px;
	margin:0 auto;
}

.page-top h1{
	color:#004CA0;
	text-align:center;
}



@media screen and (max-width: 480px){
	.page-top{
	padding:4rem 2rem;
	overflow:hidden;
}
}



.page-main{padding:0 2rem 6rem;}

.page-main .entry_content{
	margin:0 auto 10rem;
	max-width:1200px;
}
@media screen and (max-width: 480px){
	.page-main .entry_content{margin:0 auto 4rem;}
}



/*フォームへボタン*/
.to-form a{
	font-size: clamp(14px, 1.5vw, 18px);
	box-sizing: border-box;
	line-height: 86px;
	padding: 0;
	text-align: center;
	max-width: 334px;
	display: inline-block;
	margin: 0 auto;
	background-color: #0088FF;
	color: #fff;
	font-weight: bold;
	border-radius: 44px;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
}
.to-form a:after{
	content: '';
	width: 48px;
	height: 15px;
	border-bottom: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: skew(45deg);
	margin-bottom: 5px;
	margin-left: 5px;
}
@media screen and (max-width: 480px){
	.to-form a{line-height:46px;max-width: 253px;}
	.to-form a:after{width:28px;height: 9px;}
}



/* ==========================================================================
   section別
========================================================================== */

/*index*/

#index-top{
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	padding-top:2rem;
	padding-bottom:2rem;
}
#index-top .item-img{
	width:50%;
	max-width:800px;
}
#index-top .item-txt{
	flex: 1;
	margin-right: calc((100% - 1200px) / 2);
}
#index-top .item-txt h2{
	font-size:clamp(23px, 3vw, 48px);
	margin-bottom:2rem;
}
#index-top .item-txt h3{
	margin-bottom:2rem;
}
#index-top .item-txt h2 img{
	width:50%;
	max-width:300px;
}
#index-top .item-txt p{
	font-size:clamp(15px, 1.5vw, 18px);
	line-height: 2.25em;
}
@media screen and (max-width: 1280px){
	#index-top .item-txt{margin-right:2rem;}
}


@media screen and (max-width: 768px){
	#index-top{display:block;}
	#index-top .item-img{width:80%;}
	#index-top .item-txt{
		margin-left:2rem;
		position: relative;
		top: -20px;
		}
	#index-top .item-txt h2,
	#index-top .item-txt h3{text-align: right;}
}


/*top動画レスポンシブ*/
#topmovie .movie{
	width: 100%;
	aspect-ratio: 1613 / 668;
	overflow: hidden;
}
#topmovie .movie video{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}

/*こんなお悩みの方*/

#worry .tit{
	margin-bottom:6rem;
}

#worry .tit h2{
	font-size:clamp(22px, 2.5vw, 36px);
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	font-weight:bold;
}
#worry .tit h2 span{
	display:inline-block;
	font-weight:bold;
}
#worry .tit h2 strong{
	display:inline-block;
	font-size:clamp(25px, 3.5vw, 62px);
	color:#C9A333;
	padding:0 4px 15px;
	margin: 0 8px;
	background-image:url(img/underline01.svg);
	background-repeat:repeat-x;
	background-position:left bottom;
}
@media screen and (max-width: 768px){
	#worry .tit h2 strong{
	padding:0 4px 8px;
	background-size:auto 6px;
	}
}

.worry-list{
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
	gap: 32px;
	
	
}
.worry-list li{
	width:calc((100% - 96px) / 4);
	position:relative;
}
.worry-list li:after{
	content:"";
	position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	z-index:2;
	border-radius:50%;
	background:rgba(0,0,0,0.12);
}
.worry-list li img{
	border-radius:50%;
	box-shadow:5px 10px 0 #C9A333;
}

.worry-list li span{
	z-index: 5;
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
	text-align: center;
	aspect-ratio: 1 / 1;
	width:100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color:#fff;
	font-weight:bold;
	font-size:clamp(16px, 1.75vw, 21px);
	line-height: 1.5em;
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 768px){
	.worry-list{gap:16px;}
	.worry-list li{width:calc((100% - 48px) / 4);}
}
@media screen and (max-width: 580px){
	.worry-list li{width:calc((100% - 16px) / 2);}
}

/*3つの特徴*/
#features{background:#004CA0;}
#features .tit{margin-bottom:4rem;}
#features .tit h2{
	font-size:clamp(22px, 2.5vw, 36px);
	color:#fff;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	font-weight:bold;
}
#features .tit h2 span{
	display: inline-block;
	font-weight: bold;
}
#features .tit h2 strong{
	display:inline-block;
	font-size:clamp(25px, 3.5vw, 62px);
	color:#C9A333;
	padding:0 4px;
	margin: 0 8px;
	/*background-image:url(img/underline01.svg);
	background-repeat:repeat-x;
	background-position:left bottom;*/
}
.features-list{
	display:flex;
	flex-wrap:wrap;
	gap:32px;
}
.features-list li{
	width:calc((100% - 64px) / 3);
}
.features-list li .item-img{
	margin-bottom:2rem;
}
.features-list li .item-txt{
	color:#fff;
}
.features-list li .item-txt h3{
	font-size:clamp(20px, 2vw, 28px);
	text-align:center;
}
@media screen and (max-width: 768px){
.features-list{gap:16px;}
.features-list li{width:calc((100% - 16px) / 2);}
}

@media screen and (max-width: 480px){
#features .tit{margin-bottom:2rem;}
.features-list{display:block;}
.features-list li{width:100%;margin-bottom:4rem;}
}

/*DENBA Healthとは*/
#whatis{
	background-image:url(img/whatis-bg.jpg);
	background-size:auto;
	background-repeat:no-repeat;
	background-position: center;
}
#whatis .tit{margin-bottom:4rem;}
#whatis .cont{
	padding: 4rem 2rem;
	background: rgba(255,255,255,0.8);
}
#whatis .cont p{line-height:2em;}
/*DENBAの技術*/
#technique .tit{margin-bottom:4rem;}
.tec_box{
	display:flex;
	flex-wrap:wrap;
	gap:32px;
	margin-bottom: 6rem;
}
.tec_box:last-child{margin-bottom: 0;}

.tec_box .item-img img{width:100%;}
.tec_box .item-txt{flex:1;}
.tec_box .item-txt p{line-height:2em;}
@media screen and (min-width: 769px){
	.tec_box .item-img{width:calc((100% - 32px) / 2);max-width:450px;}
}
@media screen and (max-width: 768px){
	.tec_box{display:block;}
	.tec_box .item-img{margin-bottom:2rem;}
}

/*Interview*/
#interview{background:#004CA0;}
#interview .tit{margin-bottom:4rem;}
#interview .cont{color:#fff;}

/*クチコミ*/
#voice{background:#EFF7FD;}
#voice .tit{margin-bottom:4rem;}
#voice .cont{
	display:flex;
	flex-wrap:wrap;
	gap:64px;
}
.voice-box{
	width:calc((100% - 64px) / 2);
	background:#fff;
	padding:3rem;
	box-sizing: border-box;
}
.voice-box .in-tit{
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	margin-bottom: 2rem;
}
.voice-box .in-tit .item-img{width:90px;margin-right:1rem;}
.voice-box .in-tit .item-txt{flex:1;}
.voice-box .in-tit .item-txt h3{
	font-size:clamp(18px, 1.75vw, 21px);
	font-weight:bold;
}

.voice-box .in-tit .item-txt p.name{
	margin-bottom:0;
	font-weight:bold;
}

.voice-box .in-cont p{margin-bottom:0;}


@media screen and (max-width: 1200px){
#voice .cont{gap:32px;}
.voice-box{width:calc((100% - 32px) / 2);}
}


@media screen and (max-width: 768px){
	#voice .cont{display:block;}
	.voice-box{width:unset;margin-bottom:2rem;}
}
@media screen and (max-width: 480px){
	.voice-box{padding: 2rem;}
	.voice-box .in-tit .item-img{width:60px;}
}

/*業種別 採用事例*/
#adopt{background:#004CA0;}
#adopt .tit{margin-bottom:4rem;}

.adopt-list{
	display:flex;
	flex-wrap:wrap;
	gap:32px;
}
.adopt-list li{
	width:calc((100% - 96px) / 4);
	background:#fff;
	box-sizing: border-box;
	background-size: auto 100%;
	background-repeat: no-repeat;
	background-position: center;
	position:relative;
	border-radius: 20px;
	color:#fff;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.adopt-list li:nth-child(1){background-image:url(img/adopt01.jpg);}
.adopt-list li:nth-child(2){background-image:url(img/adopt02.jpg);}
.adopt-list li:nth-child(3){background-image:url(img/adopt03.jpg);}
.adopt-list li:nth-child(4){background-image:url(img/adopt04.jpg);}


.adopt-list li:after{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	z-index: 2;
	border-radius: 20px;
	background: rgba(0, 0, 0, 0.4);
	aspect-ratio: 1 / 1;
	
}

.adopt-list li .item-txt{
	position:relative;
	z-index:3;
}
.adopt-list li h3{
	font-size:clamp(18px, 1.75vw, 21px);
	text-align:center;
}
.adopt-list li h3 span{font-weight:bold;}
.adopt-list li p{
	text-align:center;
}
.adopt-list li p span{font-weight:bold;}

@media screen and (max-width: 880px){
	.adopt-list{
	gap:16px;
}
.adopt-list li{
	width:calc((100% - 16px) / 2);
	aspect-ratio: 3 / 2;
	background-size: 100% auto ;
}
.adopt-list li:after{aspect-ratio: 3 / 2;}

}
@media screen and (max-width: 580px){
#adopt .tit{margin-bottom:2rem;}
.adopt-list{display:block;}
.adopt-list li{
	width:unset;
	border-radius:unset;
	aspect-ratio: 2 / 1;
	
}
.adopt-list li:after{border-radius:unset;aspect-ratio: 2 / 1;}
}

/*商品紹介*/

#product{
	padding: 6rem 2rem;
	background:#F8F8F8;
}

#product .inner{
	max-width:1800px;
}
#product .tit{margin-bottom:2rem;}
#product .tit h3{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom:1rem;
}
#product .tit h3 .in-txt{
	font-size:clamp(20px, 2vw, 28px);
	font-weight:bold;
}
#product .tit h3 .in-img{
	max-width:170px;
	margin: 2rem 1rem 0;
}
#product .tit p{
	font-size:clamp(18px, 1.75vw, 21px);
	font-weight:bold;
	text-align:center;
}

.product-list{
	display: flex;
	flex-wrap: wrap;
	gap:2rem;
}
.product-list li{
	width:calc((100% - 4rem) / 3 );
	
}
.product-list li .item-img{
	aspect-ratio: 1 / 1;
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	background:#fff;
	margin:0 auto 1rem;
	border-radius:20px;
	position:relative;
	overflow: hidden;
	box-shadow:2px 6px 6px rgba(0,0,0,0.16);
}
.product-list li .item-img .ori{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	box-sizing:border-box;
	border-radius:20px 20px 0 0;
	text-align:center;
	background:#004CA0;
	color:#fff;
	font-weight:bold;
	font-size:clamp(14px, 1.5vw, 21px);
	padding:1rem;
}
.product-list li h4{
	font-size:clamp(18px, 1.75vw, 21px);
	text-align:center;
	margin-bottom: 0;
}
.product-list li p{
	text-align:center;
}


@media screen and (max-width: 980px){
.product-list li .item-img{border-radius:20px;}
}
@media screen and (max-width: 768px){
	.product-list li{width:calc((100% - 2rem) / 2 );}
}
@media screen and (max-width: 480px){
	.product-list {display:block;}
	.product-list li{width:unset;margin-bottom: 4rem;}
}



/*販売代理店募集*/
#f-contact{
	background-image: linear-gradient(135deg, #2e2e2e, #303030 30%, #464646 55%, #0e0e0e);
	position:relative;
}
#f-contact:after{
	content:"";
	width:100%;
	height:20%;
	position:absolute;
	left:0;
	bottom:0;
	z-index:1;
	 background-image: linear-gradient(transparent, #000000cc);
}
#f-contact .f-inner{
	position:relative;
	z-index:2;
	max-width: 1200px;
	margin: 0 auto;
}





/*form*/
.form_box{
	max-width: 900px;
	margin: 4rem auto;
}


.field{
	margin-bottom:2rem;
}
.field p{margin-bottom:0;}

.field .field-head{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin-bottom:1rem;
}
.field .field-head p{
	margin-bottom:0.5rem;
	font-size:clamp(15px, 1.25vw, 20px);
	font-weight:bold;
	color:#234461;
}

.field .field-head .hissu,
.field .field-head .nin{
	width:40px;
	text-align:center;
	display:inline-block;
	padding:2px 0;
	color:#fff;
	font-size:13px;
	font-weight:bold;
	margin-right:3px;
	margin-top: 4px;
	line-height: 15px;
}

.field .field-head .hissu{background:#FF0000;}
.field .field-head .nin{background:#C9A439;}


.field-label{
	font-weight:bold;
	color:#C9A439;
	font-size:clamp(16px, 1.5vw, 20px);
}
.field-body p{
	
}


.field input[type="text"],
.field input[type="tel"],
.field input[type="email"],

.field select,
.field textarea{
	padding: 1rem;
	border: solid 1px #707070;
	width: 100%;
	box-sizing: border-box;
	font-size:clamp(15px, 1.25vw, 18px);
	font-weight:bold;
	border-radius:2px;
}

.field input[type="checkbox"]{
	border: solid 1px #707070;
}
input[type="radio"] {
  transform: scale(1.5); /* 1.5倍の大きさに拡大 */
  margin-right: 1em; /* 大きくした分の余白調整 */
}

.wpcf7 select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
	    color: #234461;
}
.field .wpcf7-form-control-wrap{
	display: block;
}
.field .your-service .wpcf7-list-item{
	display: block;
	margin: 0;
}

.form-submit {text-align:center;}
.form-submit input{
	padding: 10px 2em;
	margin-left: 15px;
	background-color: #fff;
	border:solid 1px #C9A333;
	border-radius:10px;
	font-size: clamp(15px, 1.75vw, 18px);
	color: #C9A333;
	margin-left: 72px;
	box-sizing:border-box;
	font-weight:bold;
}

.form-submit input:disabled{
	color:#fff;
	background:#ccc;
	border:solid 1px #ccc;
}
.form-submit input:not(:disabled):hover{
	background-color: #C9A333;
	color:#fff;
}


.form-agreement a{
	color:#0088FF;
}
.field input[type="checkbox"]{
	transform: scale(1.4); 
	margin-right: 0.4em;
}


@media screen and (max-width: 768px){
.field{display:block;}
.field .field-head .field-label{font-weight:bold;}
.field .field-body{margin-bottom:1rem;}
}


/*問い合わせ関連*/
.toiawase-box{margin-bottom:6rem;}

.btn-tel{
	text-align:center;
	margin-bottom: 1rem;
}
.btn-tel a{
	font-size:clamp(22px, 2.5vw, 36px);
	font-weight:bold;
}
.agreement{    transform: scale(1.7);
	margin:0 1em;
}


/*FAQ*/
.faq-item{
	border:solid 1px #ccc;
	padding:2rem;
	border-radius:10px;
	max-width:1000px;
	margin:0 auto 2rem;
}


.faq-question,
.faq-answer{
	position:relative;
	padding:8px 0 0 36px;;
}
.faq-question:before,
.faq-answer:before{
	position:absolute;
	left:0;
	top:8px;
	width:28px;
	line-height:28px;
	text-align:center;
	font-family:Century Gothic;
	color:#fff;
	font-weight:bold;
	font-size:18px;
	border-radius:15px;
}

.faq-question:before{
	content:"Q";
	background-color:#004CA0;
}
.faq-answer:before{
	content:"A";
	background-color:#C9A333;
}

.faq-question{margin-bottom:1rem;}

.faq-question h2{
	font-size:clamp(18px, 1.75vw, 21px);
	line-height:1.5em;
	font-weight:bold;
}

/*テーブル風ボックス*/


.tbl-item{
	max-width:900px;
	margin:0 auto;
}

@media screen and (min-width: 769px){
.tbl-item{
	display:flex;
	flex-wrap:wrap;
}
.tbl-item .tbl-th,
.tbl-item .tbl-td{
	padding:2rem;
}
.tbl-item .tbl-th{width: 10em;border-bottom:solid 3px #C9A333;}
.tbl-item .tbl-td{flex:1;border-bottom:solid 3px #DBDBDB;}
}

@media screen and (max-width: 768px){
.tbl-item{margin-bottom:2rem;}
.tbl-item .tbl-th,
.tbl-item .tbl-td{
	padding:1.5rem;
}
	.tbl-item .tbl-th{border-top:solid 3px #C9A333;background:#f5f5f5;}
}

.tbl-item .tbl-td p{margin-bottom:0;}
.tbl-item .tbl-th h2{
	font-weight:bold;
	font-size:clamp(16px, 1.5vw, 18px);
}



/*プライバシーポリシー*/
.policy-item{
	margin-bottom:2rem;
}

.policy-item h2{font-size:clamp(20px, 2vw, 28px);}



/*各商品のページ*/

.denba-item-top{margin-bottom:4rem;}
@media screen and (min-width: 769px){
.denba-item-top{
	display:flex;
	flex-wrap:wrap;
	gap: 32px;
}

.denba-item-top .main-img{
	width:calc((100% - 32px) / 2);
}
.denba-item-top .denba-txt{
	flex:1;
}
}
@media screen and (max-width: 768px){
	.denba-item-top .main-img{margin-bottom:2rem;}
}

.denba-item-top .denba-txt h2{
	font-size:clamp(20px, 2vw, 28px);
}




.tbl-item-min{
	max-width:900px;
	margin:0 auto;
}


.tbl-item-min{
	display:flex;
	flex-wrap:wrap;
}
.tbl-item-min .tbl-th,
.tbl-item-min .tbl-td{
	padding:.25rem 1rem;
}
.tbl-item-min .tbl-th{width:5em;background:#f8f8f8;border-bottom:solid 1px #ccc;}
.tbl-item-min .tbl-td{flex:1;border-bottom:solid 1px #ccc;}

.tbl-item-min .tbl-td p{margin-bottom:0;}





.denba-other-item{
	margin-bottom:4rem;
}
.denba-other-item .other-img{text-align:center;}


@media screen and (min-width: 769px){
.denba-other-item.col3{
	display:flex;
	flex-wrap:wrap;
	gap: 32px;
}
.denba-other-item.col3 .other-img{
	width:calc((100% - 64px) / 3);
}
}
@media screen and (max-width: 768px){
.denba-other-item.col3{
	display:flex;
	flex-wrap:wrap;
	gap: 16px;
}
.denba-other-item.col3 .other-img{
	width:calc((100% - 16px) / 2);
}
}