@charset "utf-8";
:root{
	--beige:#FCFAF6;
	--beigedark:#FBF3EB;
	--white:#F8FAFB;
	--orange:#E88C3E;
	--orangelight:#F6D9BE;
	--green:#00B901;
	--greenlight:#EFFFEF;
	--black:#202020;
	--blacklight:#333333;
	--blackdark:#1c1c1c;
	--red:#B90000;
	--reddark:#9B0000;
	--yellow:#ffa00a;
	--pink:#ff9999;
	--linktext:#0a96bf;
	--blue:#004E9C;
	--bluelight:#E6F1F8;
	--blueexlight:#e8f0f9;
	--gray:#5A5A5A;
	--shadow: 0 3px 13px rgba(204, 204, 204, 0.5);
	--en:'Montserrat',sans-serif;
	--ja:YakuHanJP,"Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	--mintyou:"游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	--cardo:"Cardo", serif;
	--roboto:"Roboto", sans-serif;
}
*, ::before, ::after {
    box-sizing: border-box;
    background-repeat: no-repeat;
}
::before,
::after {
    text-decoration: inherit;
    vertical-align: inherit;
}
html {
    font-family: sans-serif;
    cursor: default;
    line-height:1.5;
    tab-size:4;
	word-break: break-word;
	scroll-behavior: smooth;
}
body{
	color: #202020;
    font-family: YakuHanJP,"Local Noto Sans JP", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; 
	font-size: clamp(1rem, 0.803rem + 0.24vw, 1.094rem);/* 1300px:16px ~~ 1920px:17.5px */
    margin: 0;
	font-weight:400;
    line-height: 1.5;
    text-align: left;
	letter-spacing:0.05em;
    background-color: #fff;
	-webkit-font-smoothing: antialiased;
	position:relative;
	overflow-x:clip;/*hiddenだとstickyが効かず、かけないとwindow横幅が荒ぶるため*/
}
@media(width<=768px){
	body{
		font-size:clamp(0.875rem, 0.815rem + 0.25vw, 0.938rem);	
	}
}
body.page,body.post{
	margin-bottom:0;
}
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
    display: block;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 0.5em;
}
p {
    margin-top: 0;
    margin-bottom: 1em;
}

nav ol,nav ul{
    list-style: none;
    padding: 0;
}
ul,li{
	margin-top:0;
	margin-bottom:0;
	margin-left:0;
	margin-right:0;
	padding-top:0;
	padding-bottom:0;
	padding-left:0;
	padding-right:0;
}
ol,
ul,
dl {
    margin-top: 0;
    margin-bottom:0;
}
ol{
	margin-left: 1.5em;
    margin-block: 20px 40px;
	padding:0;	
}
ol ol,
ul ul,
ol ul,
ul ol {
    margin-bottom: 0;
}

dt {
    font-weight: 700;
}

dd {
    margin-bottom: .5rem;
    margin-left: 0;
}
a {
    color: var(--linktext);
    text-decoration: none;
    background-color: transparent;
    transition: .25s;
	cursor:pointer;
}
a:visited {
	color:inherit;
}
a:focus {
	outline:none;
}
a:hover {
    color: var(--bluemain);
    text-decoration: none;
}

a:not([href]):not([class]) {
    color: inherit;
    text-decoration: none;
}

a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none;
}
figure {
    margin: 0 0 1rem;
}

img {
    border-style: none;
}
audio, canvas, iframe, img, svg, video {
    vertical-align: middle;
}
svg:not([fill]) {
    fill: currentColor;
}
table {
    border-collapse: collapse;
}
textarea {
    resize: vertical;
}
a, area, button, input, label, select, summary, textarea, [tabindex] {
    touch-action: manipulation;
}
th {
    text-align: inherit;
    text-align: -webkit-match-parent;
}

label {
    display: inline-block;
    margin-bottom: 0.5rem;
}

button {
    border-radius: 0;
}

button:focus:not(:focus-visible) {
    outline: 0;
}

input,
button,
select,
optgroup,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

[role="button"] {
    cursor: pointer;
}

select {
    word-wrap: normal;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
    cursor: pointer;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    padding: 0;
    border-style: none;
}

input[type="radio"],
input[type="checkbox"] {
    box-sizing: border-box;
    padding: 0;
}

textarea {
    overflow: auto;
    resize: vertical;
}

[aria-busy="true"] {
    cursor: progress;
}

[aria-controls] {
    cursor: pointer;
} 

[aria-disabled="true"], [disabled] {
    cursor: default;
}

[aria-hidden="false"][hidden] {
    display: initial;
} 

[aria-hidden="false"][hidden]:not(:focus) {
    clip: rect(0, 0, 0, 0);
    position: absolute;
}

button, input, select, textarea {
    background-color: transparent;
    border: 1px solid WindowFrame;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    padding: 0.25em 0.375em;
}

[type="color"],
[type="range"] {
    border-width: 0;
    padding: 0;
}

select {
    -moz-appearance: none;
    -webkit-appearance: none;
    background: no-repeat right center / 1em;
    border-radius: 0;
    padding-right: 1em;
}
  
::-ms-expand {
    display: none;
}

:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.54);
}

img,
input,
select,
textarea {
    height: auto;
    max-width: 100%;
}

/*=================================
*   defaultSetClass
*/

.font14{
    font-size:14px;
}

.font15{
    font-size:15px;
}

.font16{
    font-size:16px;
}

.weight400{
    font-weight: 400;
}

.weight500{
    font-weight: 500;
}

.weight600{
    font-weight: 600;
}

.bold{
	font-weight:bold;
}

.left{
    text-align: left;
}

.right{
    text-align: right;
}

.center{
    text-align: center;
}

.miauto{
    margin-inline:auto;
}
.mt0{
	margin-top:0!important;
}
.mb0{
	margin-bottom:0!important;
}
.flex{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.inline{
    display: inline;
}

.inline-block{
    display: inline-block;
}

.none{
    display: none!important;
}
.underline{
	text-decoration:underline;
}
.underlinelink a{
	text-decoration:underline;
	text-underline-offset:2px;
}
.underlinelink a:hover{
	text-decoration:none;
}
.underlinelink.linktext a:hover{
	color:var(--linktext);
}
.mintyou{
	font-family: YakuHanJP,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
	font-weight:bold;
}
.yugothic{
    font-family: YakuHanJP,"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    font-weight: 500;
}
.en{
    font-family: YakuHanJP,'Montserrat', sans-serif;
}
.ja{
	font-family: YakuHanJP,"Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; 
}
.blue{
	color:var(--bluemain);
}
.linktext{
	color:var(--linktext);
}
.redmain{
	color:var(--redmain);
}
.orangemain{
	color:var(--orangemain);
}
.graylight{
	color:var(--graylight);
}
.greenhead{
	color:var(--greenhead);
}
.fontsize-up{
	font-size:1.2em;
}
.fontsize-down{
	font-size:0.75em;
	margin-left:3px;
}

.fontfeature{
	font-feature-settings: "palt";
}
.hoverscale{
	overflow:clip;	
}
.hoverscale img{
	transition:all .25s;
}
.hoverscale::before{
	backdrop-filter:blur(0px);
	transition:all .25s;
}
.page-def-inner p:not(.notdef){
	margin-bottom:1.5em;
	line-height:1.75;
}
.page-def-inner figure:not(.notdef){
	margin-block:30px 40px;
}
.page-def-inner figure:not(.notdef):has(>img) img{
	border-radius:5px;
}
.page-def-inner figure:not(.notdef) a:hover{
	opacity:0.7;
}
.page-def-inner figcaption:not(.notdef){
	font-size:13px;
	color:#6a6a6a;
	text-align:center;
}
.page-def-flex{
	gap:50px;
}
.page-def-inner figure:has(iframe){
	height:fit-content;
}
.page-def-inner figure:has(iframe) iframe{
	height:auto;
	aspect-ratio:16/9;
}
.page-def-inner details summary{
	color:var(--linktext);
	text-decoration:underline;
}
@media(width<=900px){
	.page-def-flex{
		display:block!important;
	}	
}
@media (any-hover: hover) {
	.hoverscale a:hover img{
		transform:scale(1.1);
	}
	.hoverscale:has(a:hover)::before{
		backdrop-filter:blur(3px);
		background:rgba(0,0,0,0.6);
	}
}
@media (any-hover: none) {
	.hoverscale a:active img{
		transform:scale(1.1);
	}
	.hoverscale:has(a:active)::before{
		backdrop-filter:blur(3px);
		background:rgba(0,0,0,0.6);
	}
}
.pc-only,.pc-only1024{
	display:block;
}
.pagetop.pc-only{
	display:flex;
}
.sp-only,
.pagetop.sp-only,
#uritai-top-img.sp-only,
.mobile-only,
.sp-only1024{
	display:none;
}
@media(width<=1024px){
	.pc-only1024{
		display:none;
	}
	.sp-only1024{
		display:block;
	}
}
@media(width<=768px){
	.pc-only,
	.pagetop.pc-only,
	#uritai-top-img.pc-only{
		display:none;
	}
	.pc-only.hasmobile{
		display:block;
	}
	.sp-only,
	#uritai-top-img.sp-only,
	.sp-only1024{
		display:block;
	}
	.pagetop.sp-only{
		display:flex;
	}
}
@media(width<=560px){
	.pc-only.hasmobile{
		display:none;
	}
	.mobile-only{
		display:block;
	}
}

/*=================================
*   アニメーション関連
*/
.fadeupIN {
	opacity: 0;
	transform: translateY(100px);
	transition: opacity 0.75s ease-out 0.1s, transform 0.75s ease-out;
	/* 0.1の部分が遅延秒数 */
}
.fadeupIN.visible {
	opacity: 1;
	transform: translateY(0);
}
.blurIN {
	opacity: 0;
	transition: transform 0.1s linear;
	animation-duration: 1.2s;
	animation-fill-mode: both;
	/* 0.1の部分が遅延秒数 */
}
.blurIN.visible {
	opacity: 1;
	animation-name: imageBlur;
	transition: .8s;
}
@keyframes imageBlur {
  from {
    opacity: 0;
    filter: blur(15px);
  }

  to {
	opacity: 1;
    filter: blur(0px);
  }
}
/*=================================
*   SNS sets grayscale
*/

/* ボタン全体 */
.snsbtn{
    display:inline-block;	
    font-size:35px;
    text-decoration:none;
    transition:all .3s;
    color:#cccccc;	
}
/* ラインだけ少し大きく */
.snsbtn .fa-line{
    font-size:38px;
}
/* Twitterマウスホバー時 */
.snsbtn .fa-twitter:hover{
    color:#55acee;
}
/* Facebookマウスホバー時 */
.snsbtn .fa-facebook-f:hover{
    color:#3b5998;
}
/* LINEマウスホバー時 */
.snsbtn .fa-line:hover{
    color:#00c300;
}
/* ulタグの内側余白を０にする */
ul.snsbtniti{
    padding:0!important;
}
/* アイコン全体の位置 */
.snsbtniti{
    display:flex;
    flex-flow:row wrap;
    justify-content:space-between;	
}
/* アイコン同士の余白 */
.snsbtniti li{
    flex:0 0 33%;
    text-align:center!important;
}
.pagetop {
    position: fixed;
    bottom: -120px;
    right: 20px;
	transition:all .5s;
	z-index:99;
}
.pagetop a{
	position: relative;
	display: block;
	width: 45px;
	height: 45px;
	border-radius:50%;
	border:2px solid white;
	background: var(--orangepin);
	box-shadow:0 5px 10px rgba(0,0,0,0.1);
	text-decoration: none;
	transition:all .25s;
}
@media(max-width:768px){
	.pagetop a{
		width: 40px;
		height: 40px;
	}
}
.pagetop a::before{
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f106';
	font-size: 20px;
	color: white;
	position: absolute;
	width: 20px;
	height: 20px;
	top: 1px;
	bottom: 0;
	right: 0;
	left: 0;
	line-height:1;
	margin: auto;
	text-align: center;
}
.pagetop a:hover{
	background: white;
}
.pagetop a:hover::before{
	color:var(--orangepin);
}
@media(max-width:768px){
	.pagetop {
		right: 10px;
	}
}
/* パンくずリストBreadcrumb NavXTプラグイン */
.breadcrumbs{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	width:100%;
	padding:0 5%;
	margin:40px auto;
}
.footer-breadcrumbs{
	padding:40px 5% 150px;
	background:#fff;
	margin:100px auto 0;
	position:relative;
	box-shadow:0 -10px 10px rgba(0,0,0,0.01);
}
.pankuzu_arrow{
    content: '＞';
    display: inline-block;
    vertical-align: top;
    transform: scaleX(0.5) scaleY(0.8);
    margin: 0px 10px;
}

.breadcrumbs > span{
	font-size:14px;
}
.breadcrumbs > span > a,
.breadcrumbs > span > a:visited{
    color:var(--linktext);
}
.breadcrumbs > span > a:hover{
	color:var(--orangepin);
}

.breadcrumbs span[property="name"] {
    display: inline-block;
    padding: 0;
    margin-top: -3px;
    vertical-align: middle;
    max-width: 20em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.footer-breadcrumbs::before{/*上向きグレー三角（background色は各containerで指定）*/
    content: "";
    display: block;
    width: 100%;
    height: 75px;
    background: linear-gradient(to left bottom, transparent, transparent 50%, #fbf4e7 calc(50% + 1px), #fbf4e7);
    position: absolute;
    bottom: 0;
    left: 0;
    filter: drop-shadow(0 -5px 5px rgba(0,0,0,0.02));
}
.footer-breadcrumbs::after{/*上向き色付き三角（background色は各containerで指定）*/
	content: "";
	display: block;
	width: 100%;
	height: 150px;
	background: linear-gradient(to right bottom, transparent, transparent 50%, var(--bodywhite) calc(50% + 1px), var(--bodywhite));
	position: absolute;
	bottom: 0;
	left: 0;
	filter: drop-shadow(0 -5px 5px rgba(0,0,0,0.04));
}

/* reCAPTCHAバッジ非表示 */
.grecaptcha-badge { visibility: hidden; }

/* 管理画面用 */
.admin-caution{
	display:none;
}
.widget_block .has-background{
	background-color:initial!important;
}
.adminback{
	background-color:initial!important;
}
/* chat */
/* ボーダー */
:root {
  --border-chat-item-distance: 8px;/* アイコン画像〜吹き出し間の距離(吹き出し角分は自動で空きます) */

  --border-chat-icon-radius: 50%;/* アイコン円形, 四角形角丸は px で指定 */
  --border-chat-icon-bgcolor: rgb(237,247,255);/* アイコン背景色(透過PNGへの配慮) */

  --border-chat-triangle-size: 16px;/* 吹き出し角大きさ */
  --border-chat-triangle-position-top: 15px;/* 吹き出し角位置(上から) */

  --border-chat-text-radius: 6px;/* テキスト角丸 */
  --border-chat-text-border-width: 2px;/* テキストボーダー太さ */
  --border-chat-text-border-color: rgb(213,213,213);/* テキストボーダー色 */
  --border-chat-text-bgcolor: rgb(249,249,249);/* テキスト背景色 */
  --border-chat-text-color: rgb(51,51,51);/* テキスト文字色 */
}
.chatgroup {
	margin-block:70px;
}
.chatgroup > div > .chat:not(:last-child){
	margin-bottom:2em;
}
.border__chat {
	align-items:flex-start;
  gap: 0 calc(var(--border-chat-item-distance) + calc(calc(var(--border-chat-triangle-size) / 1.5) + calc(var(--border-chat-text-border-width) * 2) - calc(var(--border-chat-text-border-width) - 1px)));
}
/*
.border__chat .chat__icon {
  border-radius: var(--border-chat-icon-radius);
  background-color: var(--border-chat-icon-bgcolor);
}*/
.chat__icon{
	flex-shrink:0;
}
.chat__icon figure{
	/*border: 2px solid #8fb5db;
	border-radius: 100px;*/
	margin:0;
}
.chat__icon figure img{
	aspect-ratio: 1;
    scale: 0.95;
	/*border-radius:100px*/
}

.border__chat .chat__text {
	position:relative;
  border-radius: var(--border-chat-text-radius);
  border: var(--border-chat-text-border-width) solid var(--border-chat-text-border-color);
  background: var(--border-chat-text-bgcolor);
  color: var(--border-chat-text-color);
}

.border__chat .chat__text::before,
.border__chat .chat__text::after {
  content: "";
  display: block;
  position: absolute;
  clip-path: polygon(100% 100%, 100% 0, 0 50%);
}

.border__chat .chat__text::before {
  top: calc(var(--border-chat-triangle-position-top) - var(--border-chat-text-border-width));
  right: 100%;
  width: calc(calc(var(--border-chat-triangle-size) / 1.5) + calc(var(--border-chat-text-border-width) * 2) - calc(var(--border-chat-text-border-width) - 1px));
  height: calc(var(--border-chat-triangle-size) + calc(var(--border-chat-text-border-width) * 2));
  background: var(--border-chat-text-border-color);
}

.border__chat .chat__text::after {
  top: var(--border-chat-triangle-position-top);
  right: calc(100% - 1px);
  width: calc(var(--border-chat-triangle-size) / 1.5);
  height: var(--border-chat-triangle-size);
  background: var(--border-chat-text-bgcolor);
}

.border__chat.chat__r .chat__text::before,
.border__chat.chat__r .chat__text::after {
  right: auto;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
}

.border__chat.chat__r .chat__text::before {
  left: 100%;
}

.border__chat.chat__r .chat__text::after {
  left: calc(100% - 1px);
}
.chat__r {
    justify-content: flex-end;
}
.chat__text > div{
	padding:1em 1.5em;
}
.chat__text p{
	margin-bottom:0.5em;
	font-size:clamp(0.906rem, 0.74rem + 0.35vw, 1rem);
}
.chat__text > div > p:last-child{
	margin-bottom:0;
	letter-spacing:0.05em;
	line-height:1.75;
}
@media(width < 600px){
	.chat__icon figure img{
		width:85px!important;
	}
	.chat__text{
		font-size:14.5px;
	}
}
@media(width < 460px){
	.chat__icon figure img{
		width:50px!important;
	}
	.chat__text{
		font-size:14px;
	}
	.chat__text > div{
		padding:0.75em 1.25em;
	}
}
/* tableプラグイン設定 */
.wp-block-flexible-table-block-table{
	margin-bottom:90px;
}
.wp-block-flexible-table-block-table :where(th,td){
	padding:1.2em 1em!important;
	border-color:#ccc!important;
}
.wp-block-flexible-table-block-table th{
	background:#f3f8fc!important;
	color:#2c4b6b;
	font-size:1.05em;
	font-weight:400;
}
@media(width<768px){
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td{
		font-size:15px;
	}
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th{
		font-size:16px;
	}
	.wp-block-flexible-table-block-table :where(th,td){
		padding:0.75em 1em!important;
	}
	.is-scroll-on-mobile table{
		min-width:800px;
		margin-right:1px;
	}
	.is-scroll-on-mobile::before{
		content:'※横にスクロールできます';
		display:block;
		font-size:12px;
		color: var(--redpin);
        margin-bottom: 5px;
	}
	.wp-block-flexible-table-block-table{
		margin-bottom:60px;
	}
	.wp-block-flexible-table-block-table figcaption{
		margin-bottom:10px;
	}
}
@media(width<560px){
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td{
		font-size:14px;
	}
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th{
		font-size:14px;
	}
	.is-scroll-on-mobile table{
		min-width:600px;
		margin-right:1px;
	}
}
/*ContactForm7カスタマイズ*/
.wpcf7-form{
	padding:3em 2em;
	background:#fff;
	border-radius:10px;
	margin-block:60px;
}
table.CF7_table{
	font-size:16px;
}

.page .entry-content table.CF7_table,
.page .entry-content table.CF7_table tbody{
	display:block;
}

/*入力欄*/
.CF7_table tr{
	display:flex;
	flex-direction:column;
	width:100%;
	margin-bottom:2em;
}
.CF7_table input:not([type="checkbox"]), .CF7_table textarea {
	border: 1px solid #ededed;
	background:#fafafa;
	width: 100%;
	padding: 0.75em 1em;
	font-size:15px;
	font-family:var(--ja);
	cursor:pointer;
}
.CF7_table input.shortinput{
	max-width:7em;
}
.CF7_table input.middleinput{
	max-width:20em;
}
.CF7_table select{
	border: 1px solid #ededed;
    background: #fafafa;
    padding: 0.75em 1em;
    font-size: 15px;
    font-family: var(--ja);
    cursor: pointer;
}
.CF7_table input:hover,
.CF7_table textarea:hover,
.CF7_table input:focus,
.CF7_table textarea:focus{
	outline-width:3px;
	outline-color:var(--bluemain);
}
.CF7_table th{
	width:100%;
	font-weight:400;
	display:flex;
	width:100%;
	gap:1em;
	padding-left: 1em;
    border-left: 2px solid var(--bluemain);
    margin-left: 0.25em;
}
.CF7_table td{
	margin-top:0.75em;
}
.CF7_table ::placeholder {
	color:#a2a2a2;
	font-size:14px;
	font-weight:400;
	padding-left:.5em;
	font-family:var(--ja);
}

/*「必須」文字*/
.CF7_req{
	font-size:.9em;
	padding: 2px 8px;
	border:1px solid var(--bluemain);
	color: var(--bluemain);
	border-radius: 0;
	font-size: 13px;
}

.wp-block-contact-form-7-contact-form-selector{
	width:100%;
}

/* レスポンシブ */
@media screen and (max-width: 1100px){
	table.CF7_table{
		width:95%;
		margin-inline:auto;
	}
	table.CF7_table tbody{
		width:100%;
	}
}
.wpcf7 p.width1300{
	margin-bottom:2em;
}
.wpcf7 p.width1300 a{
	color:#0a96bf;
	margin-inline:0.25em;
}
/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
	background-color:var(--bluemain);
	border:1px solid var(--bluemain);
	color:#fff;
	font-size:1em;
	font-weight:400;
	font-family:var(--ja);
	padding:1.25rem 3rem 1.25rem;
	margin:0 auto;
	transition:all .3s;
	cursor:pointer;
	display:flex;
	flex-direction:column;
}
.wpcf7 input.wpcf7-submit:hover{
	background-color:rgba(0,0,0,0);
	color:var(--bluemain);
}
.CF7_btn{
	text-align:center;
	margin-top:20px;
}

.wpcf7-spinner{
	width:0;
	margin:0;
}
.wpcf7-not-valid-tip{
	color: #ff2121;
	padding: 0.2em 0.5em;
	font-size:13px!important;
	background: #ffadad;
	margin-top:0.25em;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
	padding:1em!important;
	font-size:14px;
	margin-top:0;
	border-radius:3px;
}
.wpcf7 form.sent .wpcf7-response-output{
	padding:1em!important;
	border-color:#1bb4f6!important;
}
.hissutext strong{
	padding: 2px 8px;
    border: 1px solid var(--bluemain);
    color: var(--bluemain);
	background:#fff;
    border-radius: 0;
    font-size: 13px;
	font-weight:400!important;
	margin-right:0.5em;
}
.grecaptcha-badge{
	visibility: hidden;
}
.wpcf7-radio,.wpcf7-checkbox{
	display:block;
	margin-left:1em;
	margin-top:0.25em;
}
.wpcf7-list-item{
	display:block!important;
	margin: 0 0 0.25em!important;
}
.wpcf7-list-item.last {
  margin: 0;
}
.wpcf7-list-item:not(:has(input[type="checkbox"])) .wpcf7-list-item-label {
  cursor: pointer;
  display: flex;
}
.CF7_table input.form-calendar{
	width:fit-content;
}
.CF7_table p.bikou{
	font-size:13px;
	color:#666666;
	margin-top:1em;
}
.wpcf7-list-item:has(input[type="checkbox"]) .wpcf7-list-item-label{
	cursor:pointer;
}
/* デフォルトのボタン */
input[type="radio"] {
  opacity: 0; /* デフォルトのボタンを非表示 */
  position: absolute;
}

/* チェック前のボタン */
.wpcf7-list-item:not(:has(input[type="checkbox"])) .wpcf7-list-item-label::before {
  background: #fff;
  border: 1px solid #b9b9b9;
  border-radius: 100%; /* ラジオボタンっぽく丸くする */
  content: "";
  height: 1.2em;
  margin-bottom: auto;
  margin-right: .5em;
  margin-top: auto;
  transition: background-color .5s; /* 色をじんわり変化させる */
  width: 1.2em;
}
/* チェック後のボタン */
input[type="radio"]:checked + .wpcf7-list-item-label::before {
  background-color: var(--bluemain); /* チェック後の中心の色 */
  box-shadow: inset 0 0 0 3px #fff; /* 中心の色のスタイル */
	border: 1px solid var(--bluemain);
}
@media(width<=768px){
	table.CF7_table{
		font-size:15px;
		width:100%;
	}
	.CF7_table input::placeholder,
	.CF7_table textarea::placeholder{
		font-size:12px;
	}
	.CF7_table input, .CF7_table textarea{
		padding:0.75em;
	}
	.wpcf7-list-item{
		font-size:14px;
	}
	.CF7_table select{
		font-size:14px;
	}
	.wpcf7-form{
		margin-bottom:0;
	}
}
@media(width<=375px){
	.wpcf7-form{
		padding:3em 1.5em;
	}
}
/*ContactForm7カスタマイズここまで*/

/*WordPressデフォルトページネーションthe_posts_pagination();*/
.pagination .nav-links {
	margin-top:100px;
	text-align: center;
}
.pagination .nav-links .current {
	display:inline-block;
	padding: 0.8em 1.4em;
	font-size:15px;
	font-weight:700;
	color:var(--bluemain);
	position:relative;
}
.pagination .nav-links a{
	position:relative;
	transition:all .25s;
}
.pagination .nav-links .current::after {
	position:absolute;
	content:'';
	width:1em;
	height:1px;
	bottom: 0;
	left: 50%;
	background-color: var(--bluemain);
	transform: translate(-50%);
}
.pagination .nav-links a::after{
	position:absolute;
	content:'';
	width:1em;
	height:1px;
	bottom: 0;
	left: 50%;
	background-color: transparent;
	transform: translate(-50%);
	transition:all .25s;
}

.pagination .nav-links a:hover::after{
	background-color: var(--bluemain);
}
.pagination .nav-links .dots {
	padding:0.8em 1.4em;
}
.pagination .nav-links a.page-numbers {
	display:inline-block;
	padding: 0.8em 1.4em;
	font-size:15px;
	font-weight:500;
	text-decoration:none;
	color:var(--black);
}
.pagination .nav-links a.page-numbers:hover {
	color:var(--bluemain);
}

.pagination .nav-links a.prev.page-numbers{
  display:inline-block;
  padding:1em 1em;
  position:relative;
}

.pagination .nav-links a.prev.page-numbers::before{
  position:absolute;
  content:'';
  width:100%;
  height:100%;
  bottom: 50%;
  left: 50%;
  transform: translate(-50% , 49%);
}

.pagination .nav-links a.next.page-numbers {
  position:relative;
  display:inline-block;
  padding:1em 1em;
}

.pagination .nav-links a.next.page-numbers::before{
  position:absolute;
  content:'';
  width:100%;
  height:100%;
  bottom: 50%;
  left: 50%;
  transform: translate(-50% , 49%);
}

.pagination .nav-links a.prev.page-numbers:hover,
.pagination .nav-links a.next.page-numbers:hover {
}
@media(width < 560px){
	.pagination .nav-links a.page-numbers,
	.pagination .nav-links .current,
	.pagination .nav-links .dots{
		font-size:13px;
	}
	.pagination .nav-links a.page-numbers,
	.pagination .nav-links .current{
		padding:0.5em 1em;
	}
	.pagination .nav-links a.prev.page-numbers,
	.pagination .nav-links a.next.page-numbers{
		display:none;
	}
	.pagination .nav-links .dots{
		padding:0.5em 0.5em;
	}
	.pagination .nav-links a::after{
		width:1.5em;
		bottom:0;
	}
}
/*TOCプラグイン設定*/
#toc_container a{
	color:var(--black);
}
div#toc_container{
	padding:1em 1.5em;
	border-radius:5px;
	margin-bottom:2em;
	font-size:0.9em;
}
.toc_number{
	margin-right:3px;
	font-weight:700;
}
#toc_container .toc_list li{
	margin-bottom:5px;
}
#toc_container .toc_list li a{
	text-decoration:none;
	transition:all .25s;
}
#toc_container .toc_list li ul{
	margin-top:5px;
}
#toc_container .toc_list li a:hover{
	color:var(--linktext);
}
#toc_container .toc_toggle a{
	color:var(--linktext);
}
/* loading .loaderだと名前が競合するためmyloader */

.myloader {
	position: fixed;
	width: 100%;
	height: 100vh;
	background-color: #fff;
	z-index: 10000;
	top: 0;
	left: 0;
	display: flex;
	flex-direction:column;
	justify-content: center;
	align-items: center;
	gap:3vw;
	font-family: "Arial", "メイリオ";
}
.myloader img{
	width:30vw;
	max-width:200px;
	animation: flash 1s ease-in-out infinite alternate;
	transform: translate3d(0, 0, 0);
}
@keyframes flash {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 0.5;
	}
}
.loading-area {
    display: flex;
    justify-content: center;
    gap: 5px;
}

.loading-area span {
    display: inline-block;
	color:#6f6f6f;
    font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', '游ゴシック Medium', YuGothic, YuGothicM, 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif;
    font-size: 1.7rem;
    animation: rotate 1.5s infinite linear;
    text-transform: uppercase;
	transform: translate3d(0, 0, 0);
}

.loading-area span:nth-child(2) {
    animation-delay: 0.1s;
}

.loading-area span:nth-child(3) {
    animation-delay: 0.2s;
}

.loading-area span:nth-child(4) {
    animation-delay: 0.3s;
}

.loading-area span:nth-child(5) {
    animation-delay: 0.4s;
}

.loading-area span:nth-child(6) {
    animation-delay: 0.5s;
}

.loading-area span:nth-child(7) {
    animation-delay: 0.6s;
}

.loading-area span:nth-child(8) {
    animation-delay: 0.7s;
}

.loading-area span:nth-child(9) {
    animation-delay: 0.8s;
}

.loading-area span:nth-child(10) {
    animation-delay: 0.9s;
}

@keyframes rotate {
	40%,60% {
        transform: translatey(0px);
    }
    50% {
        transform: translatey(-0.5em);
    }
}

/*EXUnitのSNSシェアボタン*/
.veu_socialSet{
	margin-top:15px;
}
.sb_icon .sns_txt{
	display:none;
}
.veu_socialSet .sb_icon .sb_icon_inner{
	width: fit-content;
    padding: 10px;
    border-radius: 5px;
    display: flex;
    width: 37px;
	height:28px;
    font-size: 15px;
    line-height: 1;
    align-items: center;
    justify-content: center;
    box-shadow: none;
    color: #ffffff;
	background: #656565;
	border:1px solid #656565;
	transition:all .25s;
}
.veu_socialSet.veu_contentAddSection ul{
	column-gap:9px;
}
.veu_socialSet.veu_contentAddSection ul li{
	width:fit-content;
	margin-inline:0px;
	flex-grow:initial;
	flex-basis:initial;
	margin-bottom: 5px !important;
}
body:not(.home) .entry-content a[target="_blank"]:not(.wp-element-button):not(:has(img)).sb_icon_inner::after{
	content:none;
}
.veu_socialSet .sb_icon .sb_icon_inner .icon_sns{
	padding:0;
}
.veu_socialSet .sb_icon .sb_icon_inner.copy-button i{
	font-size:15px;
}
.veu_socialSet .sb_icon.sb_facebook .sb_icon_inner{
	color:#ffffff;
	background:#1877f2;
	border:1px solid #1877f2;
}
.veu_socialSet .sb_icon.sb_x_twitter .sb_icon_inner{
	color:#ffffff;
	background:#000000;
	border:1px solid #000000;
}
.veu_socialSet .sb_icon.sb_hatena .sb_icon_inner{
	color:#ffffff;
	background:#00a5df;
	border:1px solid #00a5df;
}
.veu_socialSet .sb_icon.sb_line .sb_icon_inner{
	color:#ffffff;
	background:#00c854;
	border:1px solid #00c854;
}
.veu_socialSet .sb_icon.sb_pocket .sb_icon_inner{
	color:#ffffff;
	background:#ef4056;
	border:1px solid #ef4056;
}
.veu_socialSet .sb_icon .sb_icon_inner:hover{
	color:#656565;
	background:#ffffff;
	transform:initial;
}
.veu_socialSet .sb_icon.sb_facebook .sb_icon_inner:hover{
	color:#1877f2;
	background:#ffffff;
}
.veu_socialSet .sb_icon.sb_x_twitter .sb_icon_inner:hover{
	color:#000000;
	background:#ffffff;
}
.veu_socialSet .sb_icon.sb_hatena .sb_icon_inner:hover{
	color:#00a5df;
	background:#ffffff;
}
.veu_socialSet .sb_icon.sb_line .sb_icon_inner:hover{
	color:#00c854;
	background:#ffffff;
}
.veu_socialSet .sb_icon.sb_pocket .sb_icon_inner:hover{
	color:#ef4056;
	background:#ffffff;
}
.foot-sns-share{
	border-radius:2px;
	padding:1em;
    background: var(--blueback);
	margin-top:clamp(2.5rem, -0.192rem + 7.69vw, 5rem);/* 40-560--80-1080 */
}
.foot-sns-share .veu_socialSet.veu_contentAddSection ul{
	margin-block: 0 !important;
    margin-inline: 0 !important;
    justify-content: center;
}
.foot-sns-share .veu_socialSet{
	margin-top:0;
	margin-bottom:0;
}
.foot-sns-share p{
	font-size:14px;
	color:var(--black);
	margin-bottom:0.5em;
	font-weight:700;
}
.single-main .foot-sns-share p{
	margin-bottom:0.5em;
}
.veu_socialSet .sb_icon .sb_icon_inner:active{
	opacity:0.5;
	transform:scale(0.9);
}

/*EXUnitのSNSシェアボタンここまで*/

/* 404デザイン */
.error404 a.toTOP404{
	display: block;
    width: fit-content;
    padding: 0.75em 1.5em;
    font-size: 15px;
    border-radius: 5px;
    margin-top: 40px;
	margin-bottom:10px;
    margin-inline: auto;
    border: 1px solid var(--black);
    background: var(--black);
    color: #fff;
    transition: all 0.25s;
}
.error404 a.toTOP404:hover{
	background:#fff;
	color:var(--black);
}

.error404 main{
}
.error404 .nairankai-banner{
	display:none;
}
.error404 .footer-cta-container{
	margin-top:0;
}
@media (width >= 1100px) {
	.error404 .page-ttl-wrap{
		padding-block:170px;
	}
}
.search-single a{
	color:var(--linktext)!important;
}
.search-container .entry-summary{
	margin-top:1em;
	font-size:14px;
}
.search-result-form{
	width:fit-content;
	margin-inline:auto;
	margin-top:60px;
}
.search-result-form .search-field{
	padding: 0.5em 1em;
	font-size: 14px;
	border-radius:100px;
}
.search-result-form .search-submit{
	padding: 0.5em 1em;
	font-size: 14px;
	background:var(--bluelight); 
}
.search-result-h2{
	font-weight:500;
	font-size:16px;
	text-align:center;
	margin-bottom:2em;
}
.search-result-h2 span{
    color: #0067cf;
	margin-right:0.4em;
}
.search-result-h2 span.search-kensuu{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
	margin-left: 0.6em;
    font-family: 'Roboto';
}
.search-single{
	font-size:16px;	
}
.search-container article p{
	margin-bottom:0;
}
.search-container article:not(:has(p)) :is(h3,.entry-summary){
	margin-block:0!important;
}
.search-container:has(article:nth-child(n+1)) article{
	padding-bottom:1.5em;
	border-bottom:1px dashed #aaa;
	margin-bottom:1.5em;
}

/*iPhone(iOS)ではカバーブロックの固定背景が効かないバグを解消するCSSコード*/
/* カバーブロックの基本設定 */
.wp-block-cover.has-parallax {
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
  position: relative;
  overflow: hidden;
}

/* 背景画像の設定 */
.wp-block-cover__image-background.has-parallax {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  object-fit: cover;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  will-change: transform;
}

/* オプション：モバイルデバイスでの最適化 */
@media screen and (max-width: 768px) {
  .wp-block-cover__image-background.has-parallax {
    transform: none;
    -webkit-transform: none;
  }
}
/* ファイルブロック */
.entry-content .wp-block-file object{
	display:none!important;
}
.entry-content .wp-block-file a:first-of-type::before{
	content: '\f15c';
    display: inline-block;
    justify-content: center;
    align-items: center;
	right: 16px;
    font-family: 'Font Awesome 6 Free';
    font-size: 16px;
    font-weight: 400;
	color:var(--bluemain);
	margin-right:0.5em;
}
.entry-content .wp-block-file a:first-of-type{
	color:var(--bluemain);
	pointer-events:none;
	cursor:initial;
	font-size:16px;
}
.entry-content .wp-block-file a:first-of-type + .wp-block-file__button{
	border:1px solid var(--bluemain);
	background:var(--bluemain);
	color:#fff;
	border-radius:5px;
	margin-left:1.5em;
	margin-top:5px;
}
.entry-content .wp-block-file a:first-of-type + .wp-block-file__button:hover{
	color:var(--bluemain);
	background:#fff;
}
.entry-content .wp-block-file:has(.wp-block-file__button:hover) a:first-of-type{
	text-decoration:underline;
}