/*
Theme name: ot25.7
Description: theme for firm
Author: Syuhei Kowata

Requires at least: 6.0
Tested up to: 7.4.30
Requires PHP: 7
*/
/*==================================================== CSS変数の宣言 */
:root {
--mxW:   1280px;
--medW:  94vw;

--contentBasicWd:	90%;
--contentBoxPdTop:	1.2rem;
--contentBoxPd:		min(6vw,7rem);
--menuBoxPd:		calc(var(--contentBoxPd)/2);
--colGap:		2.4em;

--basicFontSize: 	10px;
--basicLineHeight: 	1.7em;
--bodyFontSize: 	1.4rem;
--menuFontSize: 	1.3rem;
--smallFontSize: 	1.1rem;
--footerFontSize: 	 .8rem;

--eyeAspect:	3.0 / 1;
--eyeAspectM:	2.5 / 1;
--eyeAspectS:	2.0 / 1;
--eyeAspectHome:	1.6 / 1;

/*--oneLogoMax: 	280px;*/
--oneLogoMax: 	270px;
--oneLogoMid: 	150px;
--oneLogoMin: 	124px;


--topMg:		3rem;
--footMg:		4rem;
--footerMgTop:	5rem;

}
/*-------------------------------基本*/
html {
font-size: var(--basicFontSize);
}

html,
body,
div {
margin:0;
padding:0;
}
/*-------------------------------書体*/
@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;600&display=swap');

body {
font-family: 				"Noto Sans JP", sans-serif;
font-variation-settings:	"wdth" 100;
font-optical-sizing: 		auto;
font-style:					normal;
font-weight:	400;
font-feature-settings: "palt" 1;

font-size: var(--bodyFontSize);
line-height: var(--basicLineHeight);
text-align: left;
}

h1,h2,h3,h4{
font-weight:	600	!important;
font-feature-settings: "palt" 1;
}
.menu {
font-weight:	600;
font-feature-settings: "palt" 1;
}

/*中国語*/
em,
.ch{
font-style: normal;
font-family: 	"Noto Sans SC";
font-weight:	400;
}
.chB{
font-family: 	"Noto Sans SC";
font-weight:	600;
}
/*==================================================== 構造*/
.content{
width:var(--contentBasicWd);
margin:	0 auto;
}
#container{
margin: 0;
padding: 0;
position:	relative;
}
#allContents{
display : flex;
flex-direction: column;
max-width: var(--mxW);
min-height: calc(100vh - 7.2rem);
width: 94%;
margin: var(--topMg) auto ;
/*overflow:	hidden;*/
contain: paint;
}

#menuLogoContainer,
#mainContainer{
margin: 0;
display: flex;
}

#mainContainer{
position:	relative;
z-index:20;
flex-grow: 1;
margin: 0;
padding: 0;
height: fit-content;
}
.contentBox{
flex-direction: column;
padding:0	var(--contentBoxPd);
}

/*-------------------------------フッター*/
#footer{
margin-top:  var(--footerMgTop);
width:100%;
z-index:	100;
text-align: center;
}

#footerCopy{
display: block;
width:100%;
padding:1rem 0;
font-size: var(--footerFontSize);
text-indent: 0;
text-align: center;
line-height: 1em;
}

/*------------------------------- eyeCatch画像*/
#eyeCatchContainer{
width: 		100%;
aspect-ratio:var(--eyeAspect);
overflow: hidden;
display: flex;
align-items: center;
}
#eyeCatch img{
object-fit: cover;
}
/*------------------------------- ページタイトル*/

#topSpace{		/*	タイトルエリア*/
position:	relative;
width: 100%;
height:auto;
}

#postTitle{		/*	タイトル文字*/
position: absolute;
bottom: 3rem;
margin:0;

right: 0;
text-align: right;
/*padding: 0.2rem	2rem 0.5rem 5em;*/
padding: 0.2rem	2rem 0.5rem 2rem;

/*left: 0;
text-align: left;
padding: 0.2rem	5em 0.5rem 2rem;*/
}

/*-------------------------------見出し　*/
h1,h2,h3,h4,h5{
line-height: 1.4em	!important;
text-align: left;
font-weight: normal;
}

h1{	font-size: 2.3rem;	}
h2{	font-size: 2.1rem;	}
h3{	font-size: 1.9rem;	}
h4{	font-size: 1.8rem;	}
h5{	font-size: 1.6rem;	}

h2{
padding:	0.3em	0em;
margin-top:		1.5em;
margin-bottom:	0;
}

h3,h4{
margin-top:		2em;
margin-bottom:	0;
}

/*-------------------------------本文　*/
p{
text-indent: 	0em;
padding-left:	0em;
text-align:justify;
}

#mainContainer a{
word-break: break-all;	/*	長いURLの途中改行あり	*/
text-underline-offset:		0.1em;
}

input,
textarea{
font-size:		16px;
}
figcaption{
font-size:		var(--menuFontSize) !important;
line-height: 1.5em	!important;
padding-top: .7rem	!important;

}

.contentBox ol,
.contentBox ul {
padding-inline-start: 1.2em	!important;
}

li{
margin-top:		0.4em;
line-height: 	1.5em;
}
.list-circle{
list-style-type:none;
}
.list-circle li:before{
content:"○ ";
}
.list-hierarchy li{
line-height: 3em;
margin-top: 1.5em;
}
.list-hierarchy li ul li{
list-style-type:disc;
line-height: 1.8em;
margin-top: 0.3em;
margin-bottom: 0em;
}

/*-------------------------------表組*/
.tblHD{
margin: 0	!important;
}
.tblHD,
.tblHD tbody{
margin: 0	!important;
}
.tblHD th,
.tblHD tr,
.tblHD td {
border: none	!important;
width: 100%;
}
.tblHD td {
font-size: var(--bodyFontSize);
}
.tblHD tr{
background: none;
vertical-align: top;
/*line-height: 1.6em;*/
}
.tblHD tr>*:first-child{
width: 0;
white-space: nowrap;
text-align:justify;
text-align-last:justify;
}

/*-------------　コラム*/
.col1,
.col2,
.col3{
column-width: 16em;
column-gap: var(--colGap);
}

.col1{
column-count: 1;
}
.col2{
column-count: 2;
}
.col3{
column-count: 3;
}

/*-------------　修飾*/
.ind{
text-indent: 1em;
}
.ind-off{
text-indent: 0;
}
.shift-off{
padding-left:0;
}
.nallow{
padding-left:20%;
padding-right:5%;
}
.spacious{
font-size: 1.6rem;
line-height: 2em;
margin: 3em 0;
}
.nw{
white-space: nowrap;
}
.dn{
display:none;
}
.large{
font-size: 1.5rem;
line-height: 1.7em;
}
.small{
font-size: 1.3rem;
line-height: 1.7em;
}
.smallGapTop{
margin-top: 1.2rem;
}
/*-------------------------------コンテンツ*/
.full,
.fullW{
column-span: all;
width: 100%;
padding: 0;
}

.wp-block-columns.has-background{
padding: 0		!important;
}

/*-------------------------------画像類*/
img{
width: 100%;
height: auto;
}
figure{
margin-top: 2rem;
margin-bottom: 2rem;
}
/*-------------------------------画像類*/
#eyeCatchContainer{
width: 100%;
height: auto;
}

figcaption{
text-align: center;
font-size: 0.9em;
margin-top:0	!important;
}
.aligncenter {
margin-left: auto;
margin-right: auto;
}

/*-------------　幅*/
.w30{	width: 30%;}
.w40{	width: 40%;}
.w50{	width: 50%;}
.w60{	width: 60%;}
.w70{	width: 70%;}
.w80{	width: 80%;}
.w90{	width: 90%;}
.w100{	width: 100%;}
.w30, .w40, .w50, .w60, .w70, .w80, .w90{
margin-left: auto;
margin-right: auto;
}
/*-------------　マージン左右両側*/
.mg5{	margin-left:	5%;	margin-right:		5%;		}
.mg10{	margin-left:	10%;	margin-right:	10%;	}
.mg15{	margin-left:	15%;	margin-right:	15%;	}
.mg20{	margin-left:	20%;	margin-right:	20%;	}
.mg25{	margin-left:	25%;	margin-right:	25%;	}
.mg30{	margin-left:	30%;	margin-right:	30%;	}
/*-------------　マージン右*/
.mgR5{margin-right: 	5%;}
.mgR10{margin-right: 	10%;}
.mgR15{margin-right: 	15%;}
.mgR20{margin-right: 	20%;}
.mgR25{margin-right: 	25%;}
.mgR30{margin-right: 	30%;}
.mgR35{margin-right: 	35%;}
.mgR40{margin-right: 	40%;}
.mgR45{margin-right: 	45%;}
.mgR50{margin-right: 	50%;}
/*-------------　マージン左*/
.mgL5{margin-left: 		5%;}
.mgL10{margin-left: 	10%;}
.mgL15{margin-left: 	15%;}
.mgL20{margin-left: 	20%;}
.mgL25{margin-left: 	25%;}
.mgL30{margin-left: 	30%;}
.mgL35{margin-left: 	35%;}
.mgL40{margin-left: 	40%;}
.mgL45{margin-left: 	45%;}
.mgL50{margin-left: 	50%;}

/*-------------　マージン上*/
.mgT5{	margin-top: 0.5rem;}
.mgT10{	margin-top: 1.0rem;}
.mgT15{	margin-top: 1.5rem;}
.mgT20{	margin-top: 2.0rem;}
.mgT25{	margin-top: 2.5rem;}
.mgT30{	margin-top: 3.0rem;}
.mgT35{	margin-top: 3.5rem;}
.mgT40{	margin-top: 4.0rem;}
.mgT45{	margin-top: 4.5rem;}
.mgT50{	margin-top: 5.0rem;}
/*-------------　マージン下*/
.mgB5{	margin-bottom: 0.5rem;}
.mgB10{	margin-bottom: 1.0rem;}
.mgB15{	margin-bottom: 1.5rem;}
.mgB20{	margin-bottom: 2.0rem;}
.mgB25{	margin-bottom: 2.5rem;}
.mgB30{	margin-bottom: 3.0rem;}
.mgB35{	margin-bottom: 3.5rem;}
.mgB40{	margin-bottom: 4.0rem;}
.mgB45{	margin-bottom: 4.5rem;}
.mgB50{	margin-bottom: 5.0rem;}

/*-------------　回り込み*/
.floatL{	float: left;	margin-right: 	2rem;	margin-top: 1rem;}
.floatR{	float: right;	margin-left: 	2rem;	margin-top: 1rem;}

/*-------------------------------Google reCAPTCHA関連	*/
.reCAPTCHA_str{
margin: 0rem 0 0 0; 
font-size: 0.9rem;
line-height: 1.5em;
text-indent: 0;
text-align: center;
}
/*reCAPTCHAバッジ*/
.grecaptcha-badge {
visibility: hidden;
}

/*---------------------------------------------------------------------------------------------メディア*/

/*==================================================== メディア*/
@media screen and (max-width: 640px) {
#container{
padding: 10px;
}


#eyeCatchContainer{
aspect-ratio: var(--eyeAspectM);
}

/*-------------　両マージン*/
.mg1-5,
.mg1-4,
.mg1-3,
.mg1-2,
.mg2-3{
margin-left:	0;
margin-right:	0;
}
/*-------------　マージン右*/
.mgr1-4,
.mgr1-3,
.mgr1-2,
.mgr2-3{
margin-right: 	0;
}
}
 
/*====================================================メディア*/
@media screen and (max-width: 480px) {
.content{
width:96%;
}

#container{
padding: 0;
}
#eyeCatchContainer{
aspect-ratio: var(--eyeAspectS);
}
.contentBox{
margin-top:0;
}
#allContents{
width: 100%;
min-height: 100vh;
margin: 0;
border: none;
filter: none;
}
h1{
font-size: 2.0rem;
margin-top:1rem;
}
h2{
font-size: 1.8rem;
font-weight:normal;
}
h3{
font-size: 1.7rem;
}
h4{
font-size: 1.6rem;
}
.nallow{
padding-left:0;
padding-right:0;
}

}
