/*
Theme Name: msw
Theme URI: https://example.com/
Author: Your Name
Author URI: https://example.com/
Description: オリジナルテーマ（msw）
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: msw
Template: mswtheme
*/







html,body,h1,h2,h3,h4,h5,h6,ul,ol,dl,li,dt,dd,p,div,span,a,table,tr,th,td,figure,article {
  padding: 0;
  border: 0;
   vertical-align:baseline;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
img,video,object {
	vertical-align:middle;
}
html{font-size: 62.5%; /* 16px x 0.625 = 10px(=1rem) */}
body {font-size: 1.5rem;/* 16px */}

body{
	background-color:#e4e6e6;
height:100%;
	margin:0 auto;
}

body{
	font-family:"Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}
html, body{
	overflow-x:hidden;
}


/* ===== FooGallery カラム調整 ===== */

/* PC: 3カラム */
@media (min-width: 1025px) {
  .foogallery .fg-item {
    width: 32.3% !important;
  }
}

/* iPad横: 2カラム */
@media (min-width: 768px) and (max-width: 1024px) {
  .foogallery .fg-item {
    width: 49% !important;
  }
}

/* モバイル: 2カラム */
@media (max-width: 767px) {
  .foogallery .fg-item {
    width: 49% !important;
  }
}


















/*--------------------------------------
　フォント　テキスト
--------------------------------------*/

h1.word span,h2.word span,h3.word span,h4.word span,h5.word span,.word p span{
	word-wrap:break-word;
	font-size:inherit;
	line-height:inherit;
	display:inline-block;
}


h2,h3,h4,h5,h6{
	background:none;
	line-height:1.5;
	font-weight:normal;
	margin:2rem 0;
}
h2{font-size:2.6rem;}
h3{font-size:2.2rem;}
h4{font-size:1.8rem;}
h5,h6{font-size:1.6rem;}


p,.yellowbox,.graybox,.redbox,.post ul li,.post ol li{
	font-size:1.5rem;
	line-height:2.7rem;
}



/* リンクの色 */
a {
	color: #333;
	text-decoration:none;
}

/* リンクにマウスオーバーした時の色 */
a:hover {
	color: #778899;
}
#footer a:hover{
	color:#999;
}


/* オブジェクトフィット */
.fit{
	-o-object-fit:cover;
	   object-fit:cover;
	font-family: 'object-fit: cover;'
}
/*可変サイズフォント
h2{font-size:clamp(2.6rem, calc(2.107rem + 2.1vw), 4rem);}
h3{font-size:clamp(2.2rem, calc(1.848rem + 1.5vw), 3.2rem);}
h4{font-size:clamp(1.8rem, calc(1.518rem + 1.2vw), 2.6rem);}
h5,h6{font-size:clamp(1.6rem, calc(1.389rem + 0.9vw), 2.2rem);}
text-m{font-size:clamp(1.8rem, calc(1.518rem + 1.2vw), 2.6rem);}
text-l{font-size:clamp(2.2rem, calc(1.848rem + 1.5vw), 3.2rem);}
*/






.mont{
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
}
.g_font{
	font-family: "Montserrat", sans-serif;
	font-weight:600;
}
.em-h2{
	margin:0 0 2rem 0;
	font-size:2.6rem;
	font-family: "Montserrat", sans-serif;
	font-weight:600;
	line-height:1;
}
.sub_p{
	line-height:1;
	font-size:1.8rem;
	margin:0 0 3rem 0;
}






/*--------------------------------------
　ヘッダー部分
--------------------------------------*/


.sumanone{
	display:none;
}

.snsarea{
	display:none;
}

header.site-header{
	border-bottom:0.1rem solid #111;
	margin-bottom:6rem;
}

.site-branding img{
	width:30rem;
}
nav li a:hover{
	text-decoration:none;
}

.site-header .site-title{
	display:none;
}

.main-navigation{
	width:100%;
	height:auto;
}

.head-area{
	position:relative;
	padding:2rem 0rem;
	margin:0 auto;
	width:95%;
	max-width:1320px;
	z-index:1;
}
.site-description{
	margin:0.5rem 0 -1rem 0;
	font-size:1.3rem;
}


/*--------------------------------------
　スライドメニュー
--------------------------------------*/
#em-menubox{
	width:100%;
}
.suma{
	display:block;
	width:100%;
}
.slidemenu .menu{
	display:block;
	padding:0 5% 0 15%;
}


.navbar_toggle {
  z-index: 10001;
  margin: 0;
  cursor: pointer;
  position: absolute;
  top: 0.5rem;
  right: 0;
  padding: 1.5rem;
  /*background-color: rgba(252,252,252,0.5);*/
}

.navbar_toggle:hover {
  opacity: 0.7;
}

.navbar_toggle_icon {
  position: relative;
  display: block;
  height: 2px;
  width: 2rem;
  background: #5c6b80;
  transition: all 0.4s ease;
}

.navbar_toggle_icon + .navbar_toggle_icon {
  margin-top: 6px; /* ← 線間の間隔 */
}

/* OPEN時の動き */
.navbar_toggle.open {
  position: fixed;
	margin-right:2.5%;
}

.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}

.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {
  opacity: 0;
}

.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}











/*20250714*/
/* スライドメニュー本体 */
.slide-container {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100vh;
   z-index: 9999;
  transition: right 0.6s ease;
  overflow-y: auto;
	background:#e4e6e6;
}



/* メニュー表示時 */
.slide-container.active {
  right: 0;
}

/* メニュー中央配置とフェード表示 */
.slide-inner {
  position: relative;
  z-index: 2; /* ← overlayより上 */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 40px 20px;
}

.slidemenu {
  width: 100%;
  max-width: 300px;
  text-align: center;
}

.slidemenu li {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease;
  margin-bottom: 20px;
}

.slide-container.active .slidemenu li {
  opacity: 1;
  transform: translateY(0);
}

/* 遅延フェード */
.slidemenu li:nth-child(1) { transition-delay: 0.2s; }
.slidemenu li:nth-child(2) { transition-delay: 0.3s; }
.slidemenu li:nth-child(3) { transition-delay: 0.4s; }
.slidemenu li:nth-child(4) { transition-delay: 0.5s; }
.slidemenu li:nth-child(5) { transition-delay: 0.6s; }
.slidemenu li:nth-child(6) { transition-delay: 0.7s; }
.slidemenu li:nth-child(7) { transition-delay: 0.8s; }
.slidemenu li:nth-child(8) { transition-delay: 0.9s; }
/* 以降必要に応じて */

.slidemenu a {
  color: #111;
  font-size: 1.8rem;
  text-decoration: none;
	 font-family: "Montserrat", sans-serif;
	font-weight:600;
}

/* 裏のスクロールロック */
body.menu-open {
  overflow: hidden;
}
.slidemenu .fa-brands{
	font-size:3rem;
}

/*--------------------------------------
　パンくず部分
--------------------------------------*/

#breadcrumb{
	display:none;
	width:95%;
	margin:1rem auto;
	font-size:1.3rem;
	
}
#breadcrumb ol{
	padding:0 1rem;
}
/* パンくず位置調整 */


div#breadcrumb  ul li{
	display:inline;/*横並びにする*/
	line-height:20px;/*行間*/
}




/*--------------------------------------
　コンテンツ部分
--------------------------------------*/


#content-w{
	min-height:100%;
}


#content{
	max-width:100%;
	margin:0 auto;
}


.site{
	display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.em-main-page{
	width:100%;
}

.page-section{
padding:3rem 0;
overflow:hidden;
	position:relative;
}
.home .page-container{
width:95%;
	max-width:1320px;
margin:0 auto;
padding:0;
	position:relative;
	
}
.page-container{
width:95%;
	max-width:1320px;
margin:0 auto;
padding:0 4%;
	position:relative;
}

.post, .page{
	margin:auto;
}


.em-center{
text-align:center;
margin:auto;
}
.t-center{
	text-align:center;
}

.entry-content{
	margin:0;
}
.clearfix::after {
   content: "";
   display: block;
   clear: both;
}
.rel{
	position:relative;
}

/* スペース */
.pa-t{
    padding-top:1.6rem;
}
.pa-tx{
    padding-top:1.6rem;
}
.pa-txx{
	padding-top:3.2rem;
}
.pa-b{
	padding-bottom:1.6rem;
}
.pa-bx{
	padding-bottom:1.6rem;
}
.pa-bxx{
	padding-bottom:3.2rem;
}
.pa-tb{
	padding:1.6rem 0;
}
.pa-tbx{
	padding:1.6rem 0;
}
.pa-tbxx{
	padding:3.2rem 0;
}
.pa-all{
	padding:1.6rem;
}
.pa-allx{
	padding:1.6rem;
}
.pa-allxx{
	padding:3.2rem;
}
.ma-t{
	margin-top:1.6rem;
}
.ma-tx{
	margin-top:1.6rem;
}
.ma-txx{
	margin-top:3.2rem;
}
.ma-b{
	margin-bottom:1.6rem;
}
.ma-bx{
	margin-bottom:1.6rem;
}
.ma-bxx{
	margin-bottom:3.2rem;
}
.ma-tb{
	margin:1.6rem auto;
}
.ma-tbx{
	margin:1.6rem auto;
}
.ma-tbxx{
	margin:3.2rem auto;
}
.ma-all{
	margin:1.6rem;
}
.ma-allx{
	margin:1.6rem;
}
.ma-allxx{
	margin:3.2rem;
}
/* スペースここまで */



/*マージン・パディング設定*/
/* ベースのスペース変数を定義 */
:root {
--space-xs: clamp(0.8rem, 0.5vw + 0.5rem, 1.2rem);
--space-s:  clamp(1.2rem, 1vw + 0.5rem, 1.6rem);
--space-m:  clamp(2rem, 1.5vw + 1rem, 3.2rem);
--space-l:  clamp(3.2rem, 2vw + 1.6rem, 4.8rem);
--space-xl: clamp(4.8rem, 3vw + 2rem, 8rem);
--space-xxl: clamp(6.4rem, 4vw + 2.4rem, 12rem);
}


/* Padding */
.pt-xs { padding-top: var(--space-xs); }
.pt-s  { padding-top: var(--space-s); }
.pt-m  { padding-top: var(--space-m); }
.pt-l  { padding-top: var(--space-l); }
.pt-xl { padding-top: var(--space-xl); }

.pb-xs { padding-bottom: var(--space-xs); }
.pb-s  { padding-bottom: var(--space-s); }
.pb-m  { padding-bottom: var(--space-m); }
.pb-l  { padding-bottom: var(--space-l); }
.pb-xl { padding-bottom: var(--space-xl); }

.p-all-xs { padding: var(--space-xs); }
.p-all-s  { padding: var(--space-s); }
.p-all-m  { padding: var(--space-m); }
.p-all-l  { padding: var(--space-l); }
.p-all-xl { padding: var(--space-xl); }

/* Margin */
.mt-xs { margin-top: var(--space-xs); }
.mt-s  { margin-top: var(--space-s); }
.mt-m  { margin-top: var(--space-m); }
.mt-l  { margin-top: var(--space-l); }
.mt-xl { margin-top: var(--space-xl); }

.mb-xs { margin-bottom: var(--space-xs); }
.mb-s  { margin-bottom: var(--space-s); }
.mb-m  { margin-bottom: var(--space-m); }
.mb-l  { margin-bottom: var(--space-l); }
.mb-xl { margin-bottom: var(--space-xl); }

.m-all-xs { margin: var(--space-xs); }
.m-all-s  { margin: var(--space-s); }
.m-all-m  { margin: var(--space-m); }
.m-all-l  { margin: var(--space-l); }
.m-all-xl { margin: var(--space-xl); }

/* X / Y direction */
.mx-s { margin-left: var(--space-s); margin-right: var(--space-s); }
.my-s { margin-top: var(--space-s); margin-bottom: var(--space-s); }

.px-m { padding-left: var(--space-m); padding-right: var(--space-m); }
.px-l { padding-left: var(--space-l); padding-right: var(--space-l); }
.px-xl { padding-left: var(--space-xl); padding-right: var(--space-xl); }
.py-m { padding-top: var(--space-m); padding-bottom: var(--space-m); }

/*マージンン・パディングここまで*/







.em-mb{
	margin-bottom:6rem;
}





figure{
	margin:0;
}











.em-page .entry-title{
	margin:auto;
	text-align:center;
	font-size:2.4rem;
	color:#555;
}

.page .entry-title {
    margin: auto;
    text-align: left;
    font-size: 3.2rem;
	font-weight:normal;
    color: #111;
	width:100%;
	line-height:1;
}



.box_inner{
	width: -moz-fit-content;
  width: fit-content;
	margin:auto;
}

.box_area1{
	padding:0 5%;
}
.box_area2{
	padding:0 5%;
}
.box_area3{
	padding:0 5%;
}
.box_area4{
	max-width:50rem;
}

.wp-block-separator{
	border-top:0.1rem solid #111;
	background:none;
	margin:6rem 0;
}



.width_img img{
	width:100%;
	height:auto;
}
.box_p{
	margin:0 0 3rem 0;
}
.container_top{
	margin-top:13rem;
}
.contact_form_area{
	margin-top:6rem;
}


/* ===== ページヒーロー ===== */
.page-hero {
  position: relative;
  width: 100%;
  min-height: 42vh;           /* モバイルでの見え方を確保 */
  height: 70vh;           /* 画面が大きい場合に高さを抑制（任意） */
  overflow: hidden;
}

/* 背景画像をカバー */
.page-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 読みやすさ用の薄いグラデーション */
.page-hero__overlay {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.45), rgba(0,0,0,.05));
  pointer-events: none;
}

/* タイトルコンテナ（下寄せ） */
.page-hero__inner {
  position: absolute;
  left: 0;
	right: 0;
	bottom: clamp(3rem, 2rem + 3vw, 8rem);
}

.page-hero__title {
  margin: 0;
  color: #fff;
font-weight: 600;
line-height: 1.2;
  font-size: 4rem;
  font-family: "Montserrat", sans-serif;
  /* タイトルの左右にパディングが無いテーマの場合は調整 */
  padding: 0 .5rem;
}

/* ウィジェットを置く場合（任意） */
.page-hero__widgets {
  margin-top: .75rem;
  color: #fff;
}

@media (min-width: 768px) {
  .page-hero { min-height: 48vh; }
  
}

/* 管理バーが被る場合の保険（必要に応じて） */
.admin-bar .page-hero { margin-top: 0; }






/* スクリーンリーダー専用テキスト */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}









/*--------------------------------------
　HOME
--------------------------------------*/










.home .entry-title{
	display:none;
}


.home_top_area{
	position:relative;
	height:70vh;
	width:100%;
	overflow:hidden;
}
.home_top_area figure img{
	position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    object-fit: cover;
    min-height: 100%;
}
.home_top_area .home_layer_text{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-weight: bold;
    font-size: 2.6rem;
    letter-spacing: 1.0rem;
}



.onthe_text1{
	position:absolute;
	top:50%;
	left:8%;
	
	color:#fff;
}
.onthe_text1 h2{
	white-space:nowrap;
}
.onthe_text2{
	position:absolute;
	top:50%;
	left:8%;
	
	color:#fff;
}
.onthe_text2 h2{
	white-space:nowrap;
}


.home_layer_text{
	width:33rem;
}



 figure.em-layer1,figure.em-layer1{
	position:relative;
}
figure.em-layer1::after{
	content:'';
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:rgba(0,70,120,0.3);
}


.content-left{
	margin-left:5%;
}



/*--------------------------------------
　HOMEの新着記事部分202500612
--------------------------------------*/

.home-newpost-area ul li{
	list-style: none;
    line-height: 2.4;
    border-bottom: 0.1rem solid #666;
    margin-top: 1rem;
    font-size: 1.5rem;
}

.home-newpost-area ul li a{
	margin-left:2rem;
}




/*--------------------------------------
　for the children
--------------------------------------*/
.children_wrap{
	width:70%;
}
.number_under{
	font-family: "Montserrat", sans-serif;
    font-weight: 600;
    border-bottom: 2px solid #111;
    display: inline-block;
    line-height: 1.5;
    font-size: 2.6rem;
	margin-bottom:1.8rem;
}
.number_text{
	min-height:6rem;
}
/*--------------------------------------
　entry
--------------------------------------*/
.medium_font{
	font-size:2.1rem;
	line-height:1.5;
	margin-bottom:2rem;
	font-weight:bold;
}

/*--------------------------------------
　ギャラリー
--------------------------------------*/
body.gallery{
	margin-bottom:0;
	display:block;
	grid-gap:unset;
}
.foogallery{
	z-index:0;
}
/* ② 正方形サムネイル化（object-fitでトリミング） */
.gallery-thumb {
  position:relative;
  width:100%;
  aspect-ratio: 1 / 1;   /* 正方形を保つ */
  overflow:hidden;
  border-radius: 0px;     /* 角は直角 */
}

.thumb-img {
  width:100%;
  height:100%;
  object-fit:cover;       /* センターでトリミング */
  display:block;
	transition: transform 0.5s ease-in-out; /* ←ここで滑らかに */
}
/* サムネ無い時の代替背景（任意） */
.thumb-placeholder {
  background: #e9ecef;
  background-image: linear-gradient(45deg, rgba(0,0,0,.06) 25%, transparent 25%, transparent 50%, rgba(0,0,0,.06) 50%, rgba(0,0,0,.06) 75%, transparent 75%, transparent);
  background-size: 16px 16px;
}

/* ホバー演出（任意） */
.gallery-link { display:block; text-decoration:none; }
.gallery-link:focus .thumb-img,
.gallery-link:hover .thumb-img {transform: scale(1.05);} /* ←わずかに拡大、自然な範囲 */


/* ===== タイトル帯（指定：下に重ねる／背景#111／文字#f5f5f5） ===== */
.gallery-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;             /* ← “下に合わせる” */
  background: #111;      /* ← 背景 */
  color: #f5f5f5;        /* ← 文字色 */
  padding: 8px 10px;
  line-height: 1.35;
  display: flex;
  align-items: center;
  min-height: 40px;      /* 行が短くても帯が消えないように */
  /* ふわっと出すなら（任意） */
  transition: transform .35s ease, opacity .35s ease;
  transform: translateY(0);
  opacity: 0.95;
}
.gallery-link:hover .gallery-caption,
.gallery-link:focus .gallery-caption {
  transform: translateY(0); /* そのままでもOK。浮かせたいなら -2px など */
  opacity: 1;
}

/* 長いタイトルは2行で省略（切り捨て） */
.gallery-caption__text {
  display: -webkit-box;
  -webkit-line-clamp: 2;       /* 2行まで */
  -webkit-box-orient: vertical;
  overflow: hidden;
}


/*--------------------------------------
　ボタン
--------------------------------------*/

.more_button a{
	border: 0.1rem solid #111;
    border-radius: 2rem;
    padding: 0.85rem 3.3rem;
	transition: .3s;
	font-family: "Montserrat", sans-serif;
	font-weight:600;
	display:inline-block;
	
}
.more_button a:hover{
	
	background:#111;
	color:#fff;
}
.home-newpost-area ul{
	margin:0 0 3rem 5%;
}
.home-newpost-area .more_button {
		margin:0 5%;
	}

.more_button_w a{
	border: 0.1rem solid #fff;
	background:#fff;
    border-radius: 2rem;
    padding: 0.85rem 3.3rem;
	transition: .3s;
	color:#111;
	font-family: "Montserrat", sans-serif;
	font-weight:600;
	display:inline-block;
}
.more_button_w a:hover{
	
	background:#111;
	border:0.1rem solid #111;
	color:#fff;
}

.entry_button{
	border:0.1rem solid #111;
	border-radius:2rem;
	background:#111;
	color:#fff;
	padding:0.85rem 3.3rem;
	display:inline-block;
	width:30rem;
	text-align:center;
	margin:8rem 0 4rem 0;
	}
.entry_button_t a{
	border:0.1rem solid #111;
	border-radius:2rem;
	display:inline-block;
	color:#111;
	transition:.3s;
	text-align:center;
	width:15rem;
	padding:0.85rem 3.3rem;
	}
.entry_button_t a:hover{
	background:#111;
	color:#fff;
}

.entry_button_box{
	display:flex;
	gap:2rem;
	flex-direction:column;
}


.wp-block-file__button{
	padding:0.5rem 1rem;
}


/*--------------------------------------
　お問い合わせ
--------------------------------------*/
.contact-table{
	border:0;
	background:#f5f5f5;
	width:100%;
}
.contact-table tr th, .contact-table tr td{
	font-size:1.5rem;
	vertical-align:middle;
	padding:0 2rem;
	display:block;
	text-align:left;
}
.contact-table tr th{
	border-bottom:0;
}
.contact-table tr td{
	border-bottom:0.2rem solid #0066cc;
}
.contact-table tr td input{
	font-size:1.5rem;
	width:100%;
}
.wpcf7-submit.soshin{
	display: block;
  width: auto;
	margin-top:5rem;
  text-align: center;
  border:0.1rem solid #111;
	background:#111;
	border-radius:2rem;
  font-size: 1.8rem;
	font-weight:bold;
  color: #fff;
  text-decoration: none;
  padding: 0.85rem 3.3rem;
	cursor:pointer;
	-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;
}
.wpcf7-submit.soshin:hover{
	  background-color: #fff;
	color:#111;
	}







.wpcf7-list-item{
	margin:0 0 3rem 0;
}



.contact_area{
	max-width:60rem;
}
.contact_list span{
	font-size:2rem;
	font-weight:bold;
	margin:3rem 0 2rem 0;
	display:block;
}

.contact h1.entry-title{
	font-family: "Montserrat", sans-serif;
	font-weight:600;
	font-size:4rem;
}


/*20251029*/
/* ラジオ本体は隠す */
.wpcf7-form input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* ラベル全体 */
.wpcf7-form input[type="radio"] + span {
  position: relative;
  padding-left: 30px; /* ← 丸を大きくしたので余白も調整 */
  cursor: pointer;
  display: inline-block;
  margin: 0.4em 1.2em 0.4em 0;
  line-height: 1.6;
  user-select: none;
	font-size:1.8rem;
	font-weight:bold;
}

/* 外側の丸（未選択はグレー） */
.wpcf7-form input[type="radio"] + span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18em; /* ← 縦位置を微調整 */
  width: 22px;   /* 外側大きく */
  height: 22px;  /* 外側大きく */
  border-radius: 50%;
  background: #c0c0c0;   /* グレー */
  border: 2px solid #c0c0c0;
  box-sizing: border-box;
  transition: all 0.25s ease;
}

/* 内側の黒丸 */
.wpcf7-form input[type="radio"] + span::after {
  content: "";
  position: absolute;
  left: 0.38rem;     /* ← 中央に来るよう合わせた */
  top: 0.7rem;   /* ← 中央に来るよう合わせた */
  width: 15px;   /* 内側大きく */
  height: 15px;  /* 内側大きく */
  background: #111;  /* 黒 */
  border-radius: 50%;
  transform: scale(0);
  transition: transform 0.2s ease;
}

/* ✅ 選択時（外側はグレーのまま、内側だけ黒表示） */
.wpcf7-form input[type="radio"]:checked + span::after {
  transform: scale(1);
}

/* ホバーで枠だけ濃く（任意） */
.wpcf7-form input[type="radio"] + span:hover::before {
  border-color: #aaa;
}

/* テキスト入力欄とテキストエリア共通 */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea,
.wpcf7-form select {
  width: 100%;
  padding: 0.8em 1em;
  border: 1px solid #ccc;
  border-radius: 3rem; /* ← 角丸ここ */
  background: #fff;
  font-size: 1.6rem;
  line-height: 1;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* フォーカス時（クリックしたときの強調） */
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
  border-color: #888; /* 枠をグレー強めに */
  box-shadow: 0 0 0 3px rgba(0,0,0,0.05); /* 控えめなフォーカス演出 */
  outline: none;
}

/* textarea の高さ */
.wpcf7-form textarea {
  min-height: 140px;
}



/*--------------------------------------
　テーブル
--------------------------------------*/
table {
	-webkit-box-sizing:border-box;
	        box-sizing:border-box;
	border-top: 1px #999 solid;
	border-right: 1px #999 solid;
	margin-bottom: 20px;
	width: 100%;
	max-width: 100%;
	border-spacing: 0;
}
table tr th, table tr td{
	font-size:1.5rem;
}

.mo-table{
	white-space:nowrap;
	overflow:auto;
}



/*--------------------------------------
　ページナビ
--------------------------------------*/
.em-pagelink .page-numbers{
	height:auto;
	line-height:1.7;
}
.p-navi{
	
}
.p-navi dl dd {
    font-size: 1.5rem;
    padding-left: 5rem;
    line-height: 2.5;
    margin: 0 0 0 2rem;
}
.p-navi dl dt {
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 2.5;
    float: left;
    width: auto;
    color: #666;
}

/*--------------------------------------
　更新情報等　投稿者
--------------------------------------*/

.em-front .blogbox,.em-page .blogbox{
	display:none;
	}

.post-author{
	display:none;
}

.smanone p{
	font-size:1.4rem;
}
ul.p-navi__list{
	margin:0;
	font-size:1.6rem;
}
.p-navi__list .p-navi__item{
	list-style:none;
	margin-bottom:1.6rem;
}
.p-navi__item time.kdate{
	font-family: "Montserrat", sans-serif;
	margin-right:3rem;
}

/*--------------------------------------
　投稿ページ
--------------------------------------*/



.em-post{
	padding:2rem;
}
.em-post .entry-title{
	width:100%;
	line-height:1.5;
	margin-bottom:1.6rem;
}
.em-post .mainbox{
	margin:5% 0;
}
.post-tag-area a::before{
	content:"# ";
	
}




.single .entry-meta p{
	margin-bottom:1.6rem;
	font-weight:600;
}

.single .entry-title{
	margin-bottom:1.6rem;
	font-size:2.4rem;
	margin:0 0 3rem 0;
}


.single .entry-meta .kdate time.updated{
	display:inline-block;
	font-size:2.6rem;
	font-family: "Montserrat", sans-serif;
	font-weight:600;
}
.archive .entry-meta .kdate time.updated{
	display:inline-block;
	font-size:2rem;
	font-family: "Montserrat", sans-serif;
	font-weight:600;
}
.post-navigation .nav-links{
	display:block;
}
.post-navigation .nav-previous{
	display:block;
}
.post-navigation .nav-next{
	display:block;
	text-align:left;
}
.nav-previous .nav-subtitle, .nav-next .nav-subtitle{
	font-weight:bold;
	line-height:2;
}
ul.catgroup{
	margin:0;
}
ul.catgroup li{
	display:inline-block;
}
ul.catgroup li a{
	font-size:3rem;
	line-height:1;
	font-family: "Montserrat", sans-serif;
	font-weight:600;
}
ul.catgroup li.category_name{
	font-size:4rem;
	line-height:1;
	font-family: "Montserrat", sans-serif;
	font-weight:600;
	color:#111;
}
.archive_content .page-header h1{
	font-size:4rem;
	line-height:1;
	font-family: "Montserrat", sans-serif;
	font-weight:600;
	margin:0 0 6rem 0;
	color:#111;
}
.main-blog-content ul.catgroup{
	margin:0 0 10rem 0;
}


/*--------------------------------------
　アーカイブ部分
--------------------------------------*/

.archive .entry-header-inner {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.archive .entry-meta {
  font-size: 0.9em;
  color: #555;
}

.accordion-content {
  display: none;
  padding: 1rem;
  background: #f9f9f9;
  border-left: 4px solid #ccc;
  margin-bottom: 1rem;
}

.accordion-title.active h2 {
  font-weight: bold;
  color: #0066cc;
}
.archive_content .entry-header .kdate{
	font-family: "Montserrat", sans-serif;
	font-weight:600;
	margin-right:2rem;
}
.archive_content .entry-header .entry-title{
	font-size:1.6rem;
}


.archive_content .entry-header .entry-title {
  display: grid;
  grid-template-columns: auto 1fr; /* 左：日付 / 右：タイトル */
  align-items: start;
}

.archive_content .entry-header .kdate {
  white-space: nowrap;   /* 日付を折り返さない */
	width:5.5em;
}

.archive_content .entry-header a {
  display: block;        /* 複数行に折り返す */
}




/*--------------------------------------
　検索結果部分
--------------------------------------*/







/*--------------------------------------
　サイド部分
--------------------------------------*/

aside.widget-area ul li{
	list-style:none;
}




/*--------------------------------------
　404
--------------------------------------*/

.error-404 .page-title{
	text-align:center;
}


/*--------------------------------------
　フッター部分
--------------------------------------*/
#footer{
	margin:0 auto 5rem auto;
	padding:3%;
}

footer ul{
	padding:0;
}
#page-top{
	display:none;
position:fixed;
	right:1rem;
	bottom:1rem;
	z-index:9999;
}
#page-top:hover{
	opacity:0.6;
}
#page-top a{
color:#1a1a1a;
	border:0.1rem solid #1a1a1a;
	padding:1.5rem;
	background:rgba(256,256,256,0.5);
}
.footerlogo img{
	width:10rem;
}


.footermenubox ul{
	display:flex;
	flex-wrap:wrap;
	list-style:none;
	margin:0.5rem 1rem;
	justify-content:center;
}
.footermenubox ul li:last-child{
	border-right:none;
}
.footermenubox ul li{
	border-right:0.1rem solid #ccc;
	line-height:2;
	font-size:1.3rem;
	padding:0 1.6rem;
}
.footer-c{
	margin-top:3rem;
	text-align:center;
}
.footerdescription{
	font-size:1.4rem;
	margin-bottom:0.5rem;
}
.footerlogo{
	margin-top:0.5rem;
}
.footer-in .copy{
	text-align:center;
	font-size:1.3rem;
}

.footer-center ul{
	display:flex;
	align-items:center;
	justify-content:center;
	list-style:none;
	margin:2rem;
}
.footer-center ul li{
	margin:0 1.6rem;
}

.footer-center ul li p.li-border{
	line-height:1.5;
	margin:0;
	border:0.1rem solid #999;
	text-align:center;
}
.footer-center ul li p a{
	padding:0.5rem 1rem;
	font-size:1.4rem;
	}




/* スマホ横向き（iPhoneなど）
 ---------------------------------------------------------------------------------------- */
@media screen and (max-width: 900px) and (orientation: landscape) {

.snsarea i{
	display:none;
}
	.children_wrap{
		width:100%;
	}
	.number_text{
	min-height:11rem;
}
.home_layer_text{
	width:auto;
}

}

/*media Queries タブレット（835px以上）
------------------------------------------------------------------------------------------*/
@media screen and (min-width: 835px) {
	
	



/*--------------------------------------
　フォント　テキスト
--------------------------------------*/
	.titlefont{
	font-size:5.6rem;
	line-height:1;
}	

h3{font-size:2.4rem;}
h4{font-size:1.9rem;}

	.home h2.em-title{
	font-size: 3.6rem;
    margin: 3.6rem 0 0 0;
}
h2.em-title{
	font-size: 3.6rem;
    margin: 3.6rem 0;
}	
h2.em-title small{
	font-size: 1.5rem;
    }
	.home p.em-title-jp{
		font-size:1.5rem;
	}
	p.em-title-jp{
		font-size:1.5rem;
	}	
	
	
	

/*--------------------------------------
　ヘッダー部分
--------------------------------------*/

	
	.head-area{
		width:90%;
		margin:0 auto;
	}	
	
	
	.navbar_toggle.open {
		margin-right:5%;
	}

	
.site-branding{
	width: auto;
}
.site-description{
	font-size:1.4rem;
}
#em-main-menu ul li{
	list-style:none;
	}

/*--------------------------------------
　パンくず部分
--------------------------------------*/

#breadcrumb{
	width:90%;
	}	

	
	
/*--------------------------------------
　コンテンツ部分
--------------------------------------*/
	.home .em-main-page{
		margin-top:0;
	}
	.em-main-page,.em-main-single{
		margin-top:11rem;
	}
	.home .page-container{
		width:90%;
	}
.page-container{
width:90%;

}



/* スペース */
.pa-tx{
    padding-top:3.2rem;
}
	.pa-txx{
		padding-top:4.8rem;
	}	
.pa-bx{
	padding-bottom:3.2rem;
}
	.pa-bxx{
		padding-bottom:4.8rem;
	}
.pa-tbx{
	padding:3.2rem 0;
}
	.pa-tbxx{
		padding:4.8rem 0;
	}
.pa-allx{
	padding:3.2rem;
}
	.pa-allxx{
		padding:4.8rem;
	}
.ma-tx{
	margin-top:3.2rem;
}
	.ma-txx{
		margin-top:4.8rem;
	}
.ma-bx{
	margin-bottom:3.2rem;
}
	.ma-bxx{
		margin-bottom:4.8rem;
	}
.ma-tbx{
	margin:3.2rem auto;
}
	.ma-tbxx{
		margin:4.8rem auto;
	}
.ma-allx{
	margin:3.2rem;
}
	.ma-allxx{
		margin:4.8rem;
	}
/* スペースここまで */

	.em-page .entry-title{
	font-size:3.6rem;
}

.page .entry-title {
    font-size: 4.8rem;
}
	
	.text_line_x{
	line-height:2.4;
}
	
	.box_area1{
	padding:0 3% 0 0;
}
.box_area2{
	padding:0;
}
	.box_area3{
		padding:0 3%;
	}
	
	
	
/*--------------------------------------
　HOME
--------------------------------------*/
	
	
	.onthe_text1{
		padding:0 0 0 3%;
		width:37%;
	}
	
	.onthe_text2{
		padding:0 0 0 3%;
		width:37%;
	}
	.home_layer_text{
	width:auto;
}
	
	
	
	
/*--------------------------------------
　HOMEの新着記事部分20230526
--------------------------------------*/


	
	
	

/*--------------------------------------
　お問い合わせ
--------------------------------------*/
.contact-table{
	display:table;
}
.contact-table tr th, .contact-table tr td{
	font-size:1.5rem;
	display:table-cell;
	padding:0 2rem;
}
.contact-table tr th{
	border-bottom:0.2rem solid #0066cc;
}
.contact-table tr td{
	border-bottom:0.2rem solid #999;
}
.contact-table tr td input{
	font-size:1.5rem;
}

/*--------------------------------------
　投稿ページ
--------------------------------------*/
#content.single{
max-width:90%;
padding-top:20rem;
}
.entry-title.single{
max-width:none;
margin:auto;
}

/*--------------------------------------
　アーカイブページ
--------------------------------------*/
	
	
.archive .entry-header-inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }


.archive .entry-meta {
    order: 1;
  }


.archive .entry-title-wrap {
    order: 2;
    flex: 1;
    text-align: right;
  }	
	
.archive_content .entry-header .entry-title{
	font-size:2.0rem;
}	
	
	
	
#content.archive{
max-width:90%;
padding-top:20rem;
}
.entry-title.archive{
max-width:none;
margin:auto;
}
/*--------------------------------------
　検索結果
--------------------------------------*/

#content.search{
max-width:90%;
padding-top:20rem;
}
/*--------------------------------------
　404
--------------------------------------*/

#content.not{
max-width:90%;
padding-top:20rem;
}



/*--------------------------------------
　フッター部分
--------------------------------------*/
#footer{
	margin:0 auto 1rem auto;
	padding:0;
}

#footer-in {
		max-width:90%;
		margin:0 auto;
	}

	.fixed-menu{
		display:none;
	}


	.footer-c{
	margin-top:4rem;
}
	
	
	
	
	
	
	
	
	
	
	
	
	


/*-- ここまで --*/
}

/*media Queries PCサイズ（1024px以上）
--------------------------------------------------------------------------------------*/
@media screen and (min-width: 1024px) {





/*--------------------------------------
　フォント　テキスト
--------------------------------------*/
	

h3{font-size:2.6rem;}
h4{font-size:2rem;}
h5,h6{font-size:1.8rem;}

	


/*--------------------------------------
　ヘッダー部分
--------------------------------------*/

	.head-area{
width:70%;
	}
	
	#em-main-menu{
		text-align:right;
	}
	

	.header .smanone ul.menu{
		text-align:right;
	}
	.snsarea i{
	display:block;
		font-size:3rem;
}
    
	
	.main-navigation{
		flex:1;
	}
	


/*--------------------------------------
　メインメニュー
--------------------------------------*/
	

.main-navigation .sumanone a {
   display: inline-block;
  text-decoration: none;
	font-size:1.6rem;
	font-weight:600;
font-family: "Montserrat", sans-serif;
	color:#111;
  }


	
	.main-navigation ul.menu{
	display:flex;
	gap:3rem;
		margin:0;
}
	
	
	
	
	

/*--------------------------------------
　スライドメニュー
--------------------------------------*/
.navbar_toggle.open {
		margin-right:15%;
	}
/*--------------------------------------
　パンくず部分
--------------------------------------*/

#breadcrumb{
	width:70%;
	}	
	


/*--------------------------------------
　コンテンツ部分
--------------------------------------*/
	.home .page-container{
		width:70%;
	}
.page-container{
width:60%;
}
	.page-container.single{
		width:60%;
	}

/* スペース */
.pa-tx{
    padding-top:8rem;
}
	.pa-txx{
		padding-top:12rem;
	}
.pa-bx{
	padding-bottom:8rem;
}
	.pa-bxx{
		padding-bottom:12rem;
	}
.pa-tbx{
	padding:8rem 0;
}
	.pa-tbxx{
		padding:12rem 0;
	}
.pa-allx{
	padding:8rem;
}
	.pa-allxx{
		padding:12rem;
	}
.ma-tx{
	margin-top:8rem;
}
	.ma-txx{
		margin-top:12rem;
	}
.ma-bx{
	margin-bottom:8rem;
}
	.ma-bxx{
		margin-bottom:12rem;
	}
.ma-tbx{
	margin:8rem auto;
}
	.ma-tbxx{
		margin:12rem auto;
	}
.ma-allx{
	margin:8rem;
}
	.ma-allxx{
		margin:12rem;
	}
/* スペースここまで */


	.em-page .entry-title{
	font-size:4.8rem;
}	

	.page .entry-title {
    font-size: 5.8rem;
}
	
	
	.em-mb{
	margin-bottom:0;
}
	
	.page-hero__title{
		font-size:5rem;
	}
	.pa-r-m{
	padding-right:10%;
}

	
/*--------------------------------------
　HOME
--------------------------------------*/
	
	

/*--------------------------------------
　HOMEの新着記事部分20230526
--------------------------------------*/

/*--------------------------------------
　children
--------------------------------------*/

	
	.children_wrap{
		width:90%;
	}
	.number_text{
	min-height:11rem;
}
	.one,.two,.three{
		padding-right:5%;
		 display: flex;
    flex-direction: column;
	}
	
.wrap.children_wrap figure {
    margin-top: auto;
  }
	.number_under {
  align-self: flex-start;
}
	
	
	
	.contact h1.entry-title{
		font-size:5rem;
	}
	
	
	
/*--------------------------------------
　投稿ページ
--------------------------------------*/
#content.single{
max-width:70%;
padding-top:20rem;
}
	
	
ul.catgroup li a{
	font-size:4rem;
}
	ul.catgroup li.category_name{
		font-size:5rem;
	}
	.archive_content .page-header h1{
		font-size:5rem;
	}
	
	.single .entry-title{
	font-size:2.4rem;
}
/*--------------------------------------
　アーカイブページ
--------------------------------------*/

#content.archive{
max-width:70%;
padding-top:20rem;
}
/*--------------------------------------
　検索結果
--------------------------------------*/	

#content.search{
max-width:70%;
padding-top:20rem;
}
/*--------------------------------------
　404
--------------------------------------*/	

#content.not{
max-width:70%;
padding-top:20rem;
}


.entry_button_box{
	flex-direction:row;
}


/*--------------------------------------
　フッター部分
--------------------------------------*/


#footer-in {
		max-width:70%;
		margin:0 auto;
	}






/*-- ここまで --*/
}





/*media Queries PCサイズ（1440px以上）
--------------------------------------------------------------------------------------*/
@media screen and (min-width: 1440px) {

	.sumanone{
	display:block;
	max-width:100%;
}
.suma{
	display:none;
}
	.snsarea{
	display:block;
}
	.snsarea ul{
		display:flex;
		gap:3rem;
		margin:0;
	}
	.snsarea ul li{
		list-style:none;
	}
	.snsarea ul li a{
		display:inline-block;
	}
	
	
	.box_area1{
	padding:0 8% 0 0;
}
.box_area2{
	padding:0 8%;
}	
.box_area3{
	padding:0 5%;
}	
	
	
	
	.home-newpost-area ul{
		margin:0 0 3rem 3%;
	}	
	.home-newpost-area .more_button {
		margin:0 0 3% 3%;
	}	
	
	.onthe_text1{
		padding:0 0 0 5%;
		width:37%;
		left:50%;
	transform:translate(-50%,-50%);
	}
	.onthe_text2{
		padding:0 0 0 5%;
		width:37%;
		left:50%;
	transform:translate(-50%,-50%);
	}
	.content-left{
	margin-left:3%;
}
ul.catgroup li a{
	font-size:6rem;
}	
	ul.catgroup li.category_name{
		font-size:7.2rem;
	}
	.archive_content .page-header h1{
		font-size:7.2rem;
	}
	.pa-box{
	padding-left:10rem;
}
	.page-hero__title{
		font-size:7.2rem;
	}
	.contact h1.entry-title{
		font-size:7.2rem;
	}
	
/*--------------------------------------
　children
--------------------------------------*/

	
	.children_wrap{
		width:80%;
	}
/*--------------------------------------
　アーカイブ
--------------------------------------*/
	.archive_content .entry-header .entry-title{
	font-size:2.4rem;
}
	
}


