@charset "UTF-8";
/*
Theme Name: mori
*/


/* ----------------------------------------------------------------------
 reset css
---------------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video
 { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
html { -webkit-text-size-adjust:100%; }
ul, ol { list-style:none; }
blockquote , q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content: none; }
a:focus { outline:none; }
ins { text-decoration:none; }
mark { font-style:italic; font-weight:bold; }
del { text-decoration:line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }
table { border-collapse:collapse; border-spacing:0; width:100%; }
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
button, input, select, textarea { outline:0; -webkit-box-sizing:border-box; box-sizing:border-box; font-size:100%; }
input, textarea { background-image: -webkit-linear-gradient(hsla(0,0%,100%,0), hsla(0,0%,100%,0)); -webkit-appearance: none; border-radius:0; /* Removing the inner shadow, rounded corners on iOS inputs */ }
input[type="checkbox"]{ -webkit-appearance: checkbox; }
input[type="radio"]{ -webkit-appearance: radio; }
button::-moz-focus-inner, input::-moz-focus-inner { border:0; padding:0; }
iframe { max-width:100%; }

/****** column用 ******/

/***編集エリア***/
	/*共通装飾*/
.column{font-size:16px;}
.column .column_container{}
.column .u-fv{background: #28134E;}
.column .u-fv h1,.column .u-fv p{color: #fff; font-size: 26px; width:1100px;}
.column .breadcrumbs_outer{background:#e9e9e9;}
.column .breadcrumbs{width: 1260px; font-size:14px;}
.column .column_container .right{}
.column .column_container .right h3{font-size:18px; border-left: 5px solid #28134E;}
.column .column_container .right .sidebar-wrapper .rpwe-li h3 a{color: #28134E; font-size: 15px;}
.column .column_container .right .sidebar-wrapper .rpwe-li a:hover{color:#28134E;}
.column .column_container .right .widget_categories .cat-item{font-size: 15px;}

	/*一覧ページ装飾*/
.column .column_container .left h2{color:#000; font-size:20px;}
.column .column_container .left ul .thumbnail{width: 270px;}
.column .column_container .left ul .thumbnail img{height:150px;}
.column .column_container .left ul .content .title{font-size:20px; color:#000;}
.column .column_container .left ul .content .des{font-size:14px; color:#000;}
.column .column_container .left ul .content .time{font-size:14px; color:#aaa;}

	/*詳細ページ装飾*/
.column .content .data .category a{font-size:12px;}
.column .content .data .time{font-size:12px;}
.column .content .left h1{font-size:28px; color: #28134E;}
.column .content .left h2{font-size:22px; background:#28134E; color:#fff; border-radius: 5px;}
.column .content .left h3{font-size:18px; background:#fff; border-left:solid 3px #28134E; background: #f7f7f7; border-radius: 0 5px 5px 0;}
.column .content .left h4{font-size:20px;}
.column .content .left .thumbnail img{height:400px !important;}
.column .content #ez-toc-container .ez-toc-title{font-size:16px;}
.column .content #ez-toc-container a{font-size:16px;}
.column .content .yarpp h3{font-size:20px;}
.column .content .yarpp a .yarpp-thumbnail-title{font-size:16px;}
.supervisor .supervisor-title{font-size: 20px; background:#28134E; color: #fff; border-radius: 5px;}
.supervisor-profile .txt1{font-size: 20px;}
.supervisor-profile .txt2{font-size: 16px;}
.d1 .txt2{font-size: 16px;}	
.supervisor_box .title {font-size: 20px; background:#28134E; color: #fff;}




/***非編集エリア***/
	/*共通装飾*/
.column{}
.column *,.column  *::before,.column  *::after{box-sizing: border-box;}
.column p{margin:0;}
.column .column_container{margin: 0 auto 0; display: flex; justify-content: space-between; padding: 0px 0 100px;}
.column .column_container .left{}
.column .u-fv{width: 100%;}
.column .u-fv h1,.column .u-fv p{font-weight: bold; letter-spacing: 2.5px; margin:0 auto; padding:40px 0; text-align:center;}
.column .breadcrumbs_outer{width: 100%;}
.column .breadcrumbs{margin:0 auto; padding:0 10px 20px;}
.column .breadcrumbs  a:hover{text-decoration:underline;}

.column .column_container .right h3{color:#000; margin:0 0 15px; padding:10px;}
.column .column_container .right .sidebar-wrapper{margin:0 0 30px;}
.column .column_container .right .sidebar-wrapper .rpwe-li {display: grid; grid-template-columns: 40% 1fr; margin:0 0 20px; }
.column .column_container .right .sidebar-wrapper .rpwe-li h3{flex: 1; font-weight:normal; border:none; padding:0;}
.column .column_container .right .sidebar-wrapper .rpwe-li h3 a{width: auto; margin: 0; padding-left: 10px; display: inline-block;}
.column .column_container .right .sidebar-wrapper .rpwe-li a:hover{text-decoration:underline;}
.column .column_container .right .sidebar-wrapper .rpwe-li a img{width: 100%; object-fit: contain; height: 80px;}
.column .column_container .right .widget_categories .cat-item{background: #fff; color: #000; padding: 10px 10px; border-top: solid 1px #e5e5e5;}
.column .column_container .right .widget_categories .cat-item:hover{background: #f5f5f5;}
.column .column_container .right .widget_categories .cat-item:last-child{ border-bottom: solid 1px #eee}
.column .column_container .right .widget_categories .cat-item a{color:#000; display:flex; justify-content:space-between; padding:0;}
.column .column_container .right .widget_categories .cat-item a:hover{color:#211c70;}

	/*一覧ページ装飾*/
.column .column_container .left h2{margin:0 0 20px;}
.column .column_container .left ul a{margin:0 0 30px; padding:0 0 30px; display:flex; border-bottom: solid 1px #e5e5e5;}
.column .column_container .left ul .thumbnail{margin:0 20px 0 0;}
.column .column_container .left ul .thumbnail img{width:100%; object-fit:cover;}
.column .column_container .left ul .content{flex: 1;}
.column .column_container .left ul .content .title{margin:0 0 20px; font-weight:bold;}
.column .column_container .left ul .content .des{ margin:0 0 15px;}

.column .wp-pagenavi{margin:0; color:#000; text-align:center; font-size: 14px;}
.column .wp-pagenavi .current{color:#fff; background:#aaa; padding:5px 15px; margin:0 5px; border-radius:5px;}
.column .wp-pagenavi .page{color:#000; padding:5px 15px; margin:0 5px;}
.column .wp-pagenavi .page:hover{background:#eee; color:#000; border-radius:5px;}
.column .wp-pagenavi .pages{color:#aaa; padding:5px 15px; margin:0 5px;}
.column .wp-pagenavi .nextpostslink,.column .wp-pagenavi .previouspostslink{padding:5px 15px; margin:0 5px; color:#aaa;}
.column .wp-pagenavi .nextpostslink:hover,.column .wp-pagenavi .previouspostslink:hover{background:#eee; color:#000; border-radius:5px;}

	/*詳細ページ装飾*/
.column .content .data{display:flex; justify-content: space-between; margin:0 0 30px;}
.column .content .data_in{display:flex; justify-content: flex-start;}
.column .content .data .category a{background:black; padding:3px 15px 5px; font-weight:bold; color:#fff; margin: 0 10px 30px 0;}
.column .content .data .time{padding:5px 0; color:#bbb; }
.column .content .left h1{ margin:0 0 30px; line-height: 1.5;}
.column .content .left h2{ padding:15px; margin:70px 0 20px;}
.column .content .left h3{ padding:10px; margin:40px 0 20px;}
.column .content .left h4{ font-weight:bold; margin:10px 0 10px; display: flex; align-items: center;}
.column .content .left h4:before {border-top: 1px solid; content: ""; width: 10px; margin-right: 5px;}
.column .content .left .thumbnail{width:100%; margin:0 0 30px; border: solid 1px #e5e5e5;}
.column .content .left .thumbnail img{width:100%; object-fit:cover;}

.column .content .left a{color: #0b57d0; text-decoration: underline;}
.column .content .left a:hover{color:#e32959; text-decoration:underline;}

.column .content .left table {width: 100% !important; margin: 20px 0; display: block; border-collapse: collapse; border-spacing: 0; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch;}
.column .content .left table tbody {width: 100%; display: table;}
.column .content .left table th {padding: 10px; background: #f7f7f7; border: solid 1px #ccc;}
.column .content .left table td {padding: 10px; border: solid 1px #ccc; background:#fff;}
.column .content .left table ul {margin: 0; background: transparent; padding: 0 0 0 30px;}
.column .content .left table a {margin: 0; padding: 0; display: inline;}
.column .content .left ul{list-style:disc; margin:20px 10px; background:#f7f7f7; padding:20px 20px 20px 50px; line-height: 1.4em; border-radius: 5px;}
.column .content .left ol{list-style:decimal; margin:20px 10px; background:#f7f7f7; padding:20px 20px 20px 50px; line-height: 1.4em; border-radius: 5px;}
.column .content blockquote {position: relative; padding: 10px 15px 10px 60px; margin:20px 0 30px; box-sizing: border-box; font-style: italic; background: #fff; color: #333; border-radius: 5px;}
.column .content blockquote:before{display: inline-block; position: absolute; top: 15px; left: 15px; content: "\f10d"; font-family: "Font Awesome 5 Free"; color: #777777; font-size: 30px; line-height: 1; font-weight: 900;}
.column .content blockquote p {padding: 0; margin: 7px 0; line-height: 1.7;}
.column .content blockquote a {display: block; text-align: right; font-size: 0.9em; margin:0 !important;}

.column .content #ez-toc-container{width:90%; margin:30px 5% 0; padding:20px 30px; border:solid 1px #dadada; border-radius:5px;}
.column .content #ez-toc-container .ez-toc-title{margin:0 0 20px;}
.column .content #ez-toc-container a{margin:0 0 10px; padding:0; border:none;}
.column .content #ez-toc-container a:hover{color:#66808f; text-decoration:underline;}
.column .content .yarpp h3{background:none; padding:0; border:none; margin:40px 0 20px;}
.column .content .yarpp .yarpp-thumbnails-horizontal{display:flex; flex-wrap: wrap;}
.column .content .yarpp a{width:50% !important; height:auto !important; display:flex; border:none; margin:0 0 20px;}
.column .content .yarpp a img{ width:40% !important; height:90px !important; object-fit:cover; margin:0 15px 0 0;}
.column .content .yarpp a .yarpp-thumbnail-title{width:60% !important; font-weight:normal; margin:0; color:#000; margin:0 15px 0 0;}
.column .content .yarpp a .yarpp-thumbnail-title:hover{color: #0b57d0 !important;text-decoration: underline;}

.supervisor{padding: 20px; margin: 50px 0 30px 0; background: #fff; border-radius: 5px;}
.supervisor .supervisor-title{text-align: center; margin:0 0 20px; padding:15px; color: #fff; font-weight:bold;}
.supervisor .supervisor-profile .txt1{margin: 0 0 10px; font-weight: bold;}
.supervisor .supervisor-profile .txt2{margin: 0 0 20px; font-weight: 400;}
.supervisor .d1{margin:0 0 20px;}
.supervisor .d1 .txt1{font-weight: bold;}
.supervisor .d1 .txt2{font-weight: 400; margin:0 0 10px;}
.supervisor .d1 .txt2:last-child{margin:0;}
.supervisor .supervisor-profile-img{display: flex;}
.supervisor .supervisor-img img{width: 100%;}
.supervisor .supervisor-img{width: 30%; text-align: center;}
.supervisor .supervisor-content{margin: 0 0 0 30px !important; width: 100% !important;}

.column .lkc-card { margin: 10px 10px 15px; }
.column .lkc-date,.column .lkc-url { margin: 3px 0; padding-left: 0; }
.column .lkc-content { height: auto; }
.column .lkc-external-wrap, .column .lkc-internal-wrap, .column .lkc-this-wrap { max-width: none; width: 100%; border: #c9c9c9 solid 1px; box-shadow: none; background-color: transparent; border-radius: 5px; }
.linkcard { margin-left: 0 !important; margin-right: 0 !important; background:#fff; border-radius: 5px;}

.supervisor_box{border: 1px solid #e3e3e3; padding: 20px; margin: 50px 0 30px 0;}
.supervisor_box .title {margin: 0 0 20px; padding: 20px; font-weight: bold;}
.supervisor_box p {font-size:95%;}
.post_content .supervisor_box p {line-height:2; margin: 0; line-height:2; letter-spacing: 0; }
.supervisor_box p.name {font-size: 26px; font-weight:bold;}
.supervisor_box p.name span{font-size: 16px; font-weight:bold; margin-left:10px;}
.supervisor_box .supervisor_wrap{display:flex; margin-bottom: 20px;}
.supervisor_box .supervisor_name{padding-left: 20px; display: flex; justify-content: center; align-items: center; }
.supervisor_box p.detail_ttl{font-size:18px; font-weight:bold; border-bottom: solid 1px #000000; padding:10px; margin: 20px 0 5px; background: #f7f7f7;}
.supervisor_box .supervisor_detail{margin:0 0 20px}
.supervisor_box .supervisor_detail .text{font-weight:500;}
.supervisor_box .supervisor_name a{text-decoration: underline !important;}
.supervisor_box a:hover{text-decoration:underline;}
.post_content .supervisor_box a[target="_blank"] {color: #000 !important;}
.supervisor_box .sns_area .sns_box{display: flex;}
.supervisor_box .sns_area .sns_box a{margin-right: 30px;}


@media screen and (max-width:1100px) {
	.column .column_container{width:980px;}
	.column .column_container .left{width:610px;}
	.column .column_container .left .thumbnail{width:auto;}
	.column .breadcrumbs{width: 980px;}
	.column .u-fv h1,.column .u-fv p{width:980px;}
}

@media screen and (max-width:980px) {
	.column .breadcrumbs{overflow-x: scroll; white-space: nowrap;}
	.column .breadcrumbs{width:100%;}
	.column .u-fv h1,.column .u-fv p{width:100%;}
	.column .column_container{width:100%; margin:0 auto 0; display:block; padding:30px 0 30px;}
	.column .column_container .left{width:100%; margin:0; padding:0 0;}
	.column .column_container .left a{ margin:0 0 40px;}
	.column .column_container .left ul a{display:block;}
	.column .column_container .left .thumbnail{width:100% !important; margin:0 0 10px !important;}
	.column .column_container .left .thumbnail img{width:100%;height: auto!important;max-height: 500px;}
	.column .column_container .left .content{width:100%;}
	.column .column_container .left .content .title{margin:0 0 10px;}
	.column .column_container .left .content .des{margin:0 0 10px;}
	.column .column_container .left .content .time{margin:0;}
	.column .column_container .right{width:100%; padding:0 15px;}
	.column .column_container .right h3{margin:0 0 15px;}
	.column .column_container .right .sidebar-wrapper{margin:0 0 30px;}
	.column .column_container .right .sidebar-wrapper .rpwe-li a{width:35%;}
	.column .column_container .right .sidebar-wrapper .rpwe-li a:has(img){min-width: 110px;}
	.column .column_container .right .sidebar-wrapper .rpwe-li h3{width:100%;}
	.column .column_container .right .sidebar-wrapper .rpwe-li a img {width: 100%; max-width: 180px; height: 90px; object-fit: cover;}
	.column .wp-pagenavi{margin:40px 0;}
	.column .content .data{display:block; margin:10px 0 10px;}
	.column .content .data .category a{display: inline-block; margin:0;}
	.column .content .data .time{margin:10px 0 0;}
	.column .content .yarpp{margin:20px 0 50px;}
	.column .content .yarpp .yarpp-thumbnails-horizontal{display:block;}
	.column .content .yarpp a{width:100% !important; margin:0 0 20px;}
	.column .content .yarpp a img{ width:35% !important; height:72px !important; border-radius: 15px;}
	.column .content .yarpp a .yarpp-thumbnail-title{width:65% !important; margin:0 !important;}
	
	.column table {width: 100% !important; margin-bottom: 1rem; display: block; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch;}
	.column tbody {width: 100%; display: table;}
	.column .content .left img{width:100%;}
	.insta img{width:27px; height:27px;}

	.supervisor .supervisor-profile-img{flex-direction: column;}
	.supervisor .supervisor-img{width: 90%; margin: 0 auto; text-align: center;}
	.supervisor .supervisor-img img{width: 50%;}
	.supervisor .supervisor-title{margin: 0 0 10px 0 !important;}
	.supervisor .supervisor-content{margin: 0 auto !important; width: 95% !important;}

	.supervisor_box .supervisor_wrap{display:block; margin-bottom: 20px;}
	.post_content .supervisor_box .supervisor_name p:not(:first-child),
	.post_content .supervisor_box .supervisor_detail p:nth-child(2),
	.post_content .supervisor_box .supervisor_detail p:nth-child(4){font-size: 14px!important;}
	.supervisor_box .supervisor_name{padding-left: 0; padding-top:10px; display: block;}
	.supervisor_box p.name {font-size: 20px;}
	.supervisor_box .supervisor_img{text-align:center;}
	.supervisor_box p {font-size: 100%;}
	.supervisor_box .supervisor_img img {width:250px;}
	.supervisor_box .sns_area .sns_box{flex-direction: column;}
	.supervisor_box .sns_area .sns_box a{margin: 0 0;}
	.supervisor_box .supervisor_detail{margin:0 0 40px}
}
@media screen and (max-width:630px) {
    img.lkc-thumbnail-img { height: auto !important; }
}
@media screen and (max-width:480px) {
    img.lkc-thumbnail-img { height: auto !important; }
}



/***追記エリア***/
/*1029yarppデフォルトサムネ対策*/
.column .yarpp-thumbnail > img,.column .yarpp-thumbnail-default {
    width: auto;
    height: auto;
    margin:0;
}
.column .yarpp-thumbnail-default > img {
min-height: auto;
min-width: auto;
width: 100%;
}
.column .yarpp-thumbnail .yarpp-thumbnail-default,.column .yarpp-thumbnail > picture{flex: 1;}






/* 20260218追記 */

body{
	background:#EEEEEE;
	font-family:"Yu Gothic", sans-serif;
	color:#333;
	padding-top: 0px !important;
	margin-top: 88px !important;
	letter-spacing: 0.2em;
	line-height:1.6;
	font-weight: 600;
}

a {
  text-decoration: none;
}

.front-page {
    padding: 0 25px;
}

/* 背景画像 */
.bg-deco {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.bg-deco::before,
.bg-deco::after {
  content: "";
  position: absolute;
  width: 400px;
  height: 400px;
  background-image: url("img/background_img.webp");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.5;
}

.bg-deco::before {
  left: -120px;   /* 画面外にはみ出す */
  top: 20%;
  transform: rotate(117deg);
}

.bg-deco::after {
  right: -120px;
  top: 60%;
  transform: rotate(63deg);
}

main,
.breadcrumbs,
.footer-inner,
.content-wrap,
.about {
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  .bg-deco::before,
  .bg-deco::after {
    width: 250px;
    height: 250px;
  }
}

.sp-only {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

/* テキスト装飾 */
.gold-text {
	color: #A68208;
}

.small-text {
	font-size: 0.95em;
}

/* レスポンシブ時左右padding */
@media screen and (max-width: 768px) {
  .page-inner {
    padding :0 20px;
  }
}

/* =============================
   共通コンテナ
============================= */

.container{
	max-width:1640px;
	width:100%;
	margin:0 auto;
	padding:0 40px;
	box-sizing:border-box;
}

@media screen and (max-width:768px){

    .container{
        padding:0 20px;
    }

}


/* =============================
   パンくず
============================= */

.column .breadcrumbs {
	font-size: 13px;
	max-width: 1260px;
    width: 100%;
    margin: 0 auto;
    padding: 0 0 20px !important;
}

.column .breadcrumbs ol {
	list-style: none;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	letter-spacing: 0.2em;
}

.column .breadcrumbs li {
	margin-right: 8px;
}

.column .breadcrumbs li::after {
	content: ">";
	margin-left: 8px;
}

.column .breadcrumbs li:last-child::after {
	content: "";
}

.column .breadcrumbs a {
	text-decoration: none;
	color: #333;
}

.column .breadcrumbs a:hover {
	text-decoration: underline;
}


@media screen and (max-width:980px) {

  .column .breadcrumbs {
    padding: 0 20px 20px !important;
  }

  .column .breadcrumbs ul {
	padding: 0 20px;
  }
}


/* =============================
   header
============================= */
.site-header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 20px 0;
	z-index: 1000;
	transition: all 0.3s ease;
}

.site-header.scrolled{
	background: rgba(255,255,255,0.6);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.header-inner{
	display:flex;
	justify-content:space-between;
	align-items:center;
}

/* ロゴ */
.header-logo{
	display:flex;
	align-items:center;
	gap:14px;
}

.logo_image {
    height: clamp(45px, 6vw, 48px);
    width: auto;
    display: block;
}

.logo-text {
    font-size: clamp(15px, 4vw, 26px);
    font-weight: bold;
    margin: 0;
    color: #28134E;
    line-height: 1.2;
}

.logo-link{
	display:flex;
	align-items:center;
	gap:14px;
	text-decoration:none;
	color:inherit;
	transition: opacity 0.3s ease;
}

.logo-link:hover {
  opacity: 0.6;
}

/* ナビ */
.header-nav ul{
	display:flex;
	gap:50px;
	list-style:none;
	margin:0;
	padding:0;
}

.header-nav li{
	display:flex;
	align-items:center;
	gap:8px;
}

.header-nav li img{
	height:18px;
	width:auto;
}

.header-nav li a{
	text-decoration:none;
	color:#28134E;
	font-weight:600;
	font-size:16px;
	letter-spacing:0.15em;
	transition: 0.3s;
}

.header-nav li a:hover{
	color: #A68208;
}

/* ハンバーガー */
.hamburger{
	display:none;
	flex-direction:column;
	justify-content:space-between;
    width: 38px;
    height: 21px;
	background:none;
	border:none;
	cursor:pointer;
	z-index:999;
}

.hamburger span{
	display:block;
	height:3px;
	background:#28134E;
	border-radius:2px;
	transition:0.3s;
}

@media screen and (max-width: 768px){

	.site-header{
		padding: 8px 0;
	}

    .header-inner {
	    padding: 0 20px !important;
	}

	/* ナビ非表示 */
	.header-nav{
		position:fixed;
		top:0;
		right:-100%;
		width:260px;
		height:100vh;
		background:#fff;
		padding-top:100px;
		transition:0.4s;
		box-shadow:-5px 0 10px rgba(0,0,0,0.1);
	}

	.header-nav ul{
		flex-direction:column;
		gap:30px;
		padding-left:30px;
	}

	/* 開いた状態 */
	.header-nav.active{
		right:0;
	}

	/* ハンバーガー表示 */
	.hamburger{
		display:flex;
	}

}

.hamburger.active span:nth-child(1){
	transform:translateY(8px) rotate(45deg);
}

.hamburger.active span:nth-child(2){
	opacity:0;
}

.hamburger.active span:nth-child(3){
	transform:translateY(-8px) rotate(-45deg);
}

/* =============================
   メインビジュアル
============================= */
.main-visual {
    margin-bottom: 40px;
}

.mv-inner{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mv-inner img{
	width:100%;
	display:block;
	border-radius:60px;
}

/* テキスト中央配置 */

.mv-text{
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #fff;
}

/* サイズ大 */
.mv-h1{
	font-size:40px;
	font-weight:700;
	line-height:1.4;
}

/* サイズ小 */
.mv-p{
	font-size:20px;
	font-weight:700;
	line-height:1.8;
	margin-top: 20px;
}

@media screen and (max-width:768px){

	.main-visual {
        margin-bottom: 20px;
    }

    .mv-text{
		padding-left: 20px;
	}

    .mv-h1{
        font-size:24px;
    }

    .mv-p{
        font-size:14px;
    }

    .main-visual .container{
        padding-right:0;
        padding-left: 20px;
    }

    .mv-inner img{
        width:100%;
        display:block;
        border-radius: 55px 0 0 55px;
    }

}


/* =============================
   ABOUT
============================= */

.about{
	padding:60px 0 100px;
}

.about-heading{
	display:flex;
	align-items:center;
	text-align: center;
	gap:20px;
}

.about-inner{
    width:100%;
    max-width:1200px;
	margin:0 auto;
	display:flex;
	justify-content:space-between;
	align-items:center;
}

.about-left h2{
	font-size:40px;
	color:#28134E;
	line-height:1.4;
}

.about-left span{
	font-size:40px;
}

.about-right{
	display:flex;
	gap:40px;
	align-items:center;
	max-width:700px;
	font-size: 17px;
	line-height:1.95;
}

.about-icon img{
	width:97px;
}

@media screen and (max-width:768px){

    .about{
        padding:40px 20px 60px;
    }

    .about-inner{
        flex-direction:column;
        gap:40px;
        text-align:center;
    }

    .about-right{
        max-width:100%;
        font-size:15px;
        line-height:1.8;
		text-align: left;
    }

    .about-left h2{
        font-size:30px;
    }

    .about-left span{
        font-size:28px;
    }

	.about-icon img{
	    width:86px;
}

}

/* =============================
   レイアウト
============================= */

.content-wrap{
	width:100%;
    max-width:1260px;
	margin:0 auto;
	display:flex;
	gap:60px;
	align-items:flex-start;
}

.main-column{
	flex:3;
}

.sidebar{
	flex:1.2;
}

@media screen and (max-width:1024px){

    .content-wrap{
        flex-direction:column;
        gap:30px;
		margin: 0 auto 60px ;
    }

    .sidebar{
        width:100%;
    }

    .main-column{
        width:100%;
    }

}


/* =============================
   セクション
============================= */
.column .content .left .thumbnail {
    border: none;
}

.content-section{
	margin-bottom:120px;
}

.section-title{
	margin-bottom:30px;
}

.section-title h2, .section-title h3{
	font-size: 32px;
	color:#28134E;
}

.section-title span{
	font-size:17px;
	color:#b08b2d;
	letter-spacing:1px;
}

@media screen and (max-width:768px){

	.content-section{
        margin-bottom: clamp(60px, 12vw, 80px);
    }

    .section-title{
        margin-bottom: clamp(20px, 6vw, 30px);
    }

    .section-title h2, .section-title h3{
        font-size:22px;
    }

    .section-title span{
        font-size:14px;
    }

}


/* =============================
   カード
============================= */

.card-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:40px;
	margin-bottom:30px;
}

.column-grid{
	grid-template-columns:1fr 1fr;
}

.card{
	border-radius:20px;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.card p {
  font-size: clamp(14px, 1.2vw, 16px);
}

.card-link {
	transition:.3s;
	color: inherit;
}

.card-link:hover .card {
	opacity: 0.8;
	transition: 0.3s;
	transform:translateY(-5px);
}

.card img{
    width:100%;
    height:272px;
    object-fit:cover;
    border-radius:15px;
}

.card-meta{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:13px;
	color:#888;
	margin: 4px 0;
}

.card-meta img{
	width:14px;
	height:auto;
}

@media screen and (max-width:768px){
    .card-grid{
        margin-bottom: clamp(20px, 6vw, 30px);
        grid-template-columns:1fr;
        gap:30px;
    }

    .card img{
        height:220px;
    }

}

/* =============================
   ボタン
============================= */

.btn-wrap{
	text-align:center;
}

.gold-btn{
	display:inline-flex;
	align-items:center;
	gap:14px;
	margin-top: 30px;
	padding: 18px 50px;
	background:#b08b2d;
	color:#fff;
	border-radius:30px;
	text-decoration:none;
	font-weight:600;
	font-size:14px;
	transition:.3s;
}

@media screen and (max-width: 768px){
	.gold-btn{
		margin-top: 15px;
		padding: 18px 36px;
	}
}

/* 白丸 */
.arrow-circle{
	--arrow-weight:3;
	display:flex;
	align-items:center;
	justify-content:center;
	width:22px;
	height:22px;
	background:#fff;
	border-radius:50%;
	color:#b08b2d;
	transition:.3s;
}

/* 矢印太さ制御 */
.arrow-circle svg path{
	stroke-width:var(--arrow-weight);
}

/* hover */
.gold-btn:hover{
	background:#947321;
}

.gold-btn:hover .arrow-circle{
	transform:translateX(4px);
}

/* =============================
   サイドバー
============================= */
.sidebar-section{
	background:#fff;
	padding:25px;
	border-radius:20px;
	margin-bottom:40px;
	letter-spacing: 0.2em;
}

.sidebar.right a {
	text-decoration: none;
	color: inherit;
}

.sidebar.right h4.side-h4{
	font-size:20px;
	color:#28134E;
	margin-bottom:20px;
	text-align:center;
	position:relative;
	padding-bottom:15px;
	display:block;
}

.sidebar.right h4.side-h4::after{
	content:"";
	display:block;
	width:47px;
	height:4px;
	background:#A68208;
	margin:12px auto 0;
	border-radius:2px;
}

/* 共通カードレイアウト（左：アイキャッチ / 右：日付＋タイトル） */
.side-card{
	display:flex;
	gap:15px;
	margin-bottom:20px;
	text-decoration:none;
	color:#333;
	align-items:center;
	transition:opacity 0.3s ease;
}

.side-card:hover{
	opacity:0.7;
}

.side-card img{
	width:110px;
	height:80px;
	object-fit:cover;
	border-radius:15px;
	flex-shrink:0;
}

.side-content{
	display:flex;
	flex-direction:column;
	justify-content:center;
}

.time-date{
	font-size:12px;
	color:#888;
	display:flex;
	align-items:center;
	gap:5px;
	margin-bottom:5px;
}

.time-date::before{
	content:"";
	display:inline-block;
	width:14px;
	height:14px;
	background-image:url("img/time_icon.webp");
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
}


.side-card p{
	font-size:14px;
	line-height:1.4;
	margin:0;
}

/* カテゴリー */
.category-list li + li {
	border-top: 1px solid #eee;
}

.category-list li:hover {
	border-top: none;
}

.category-list li:hover + li {
	border-top: none;
}

.category-list a {
	display: block;
	padding: 12px 10px;
	font-size: 14px;
	color: #333;
	text-decoration: none;
	border-radius: 6px;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.category-list a:hover {
	background-color: #eee;
	color: #A68208;
}

.sidebar-category h4 {
    padding-bottom: 3px;
}


/* =============================
   投稿ページ
============================= */

.h1-title {
  font-size: clamp(22px, 5vw, 30px);
  margin: 0 0 30px;
  line-height: 1.5;
}

.h2-title,
.h3-title {
  width: 100%;
  box-sizing: border-box;
}

.column .content .left a {
	text-decoration: none;
}

/* ===== 関連記事 画像 ===== */
.column .content .yarpp a img {
	border-radius: 15px;
}

/* ===== 更新日・タグデザイン ===== */
.column .content .data .time {
	font-size:13px;
	letter-spacing: 0.2em;
}
.column .content .data {
	display:flex;
	justify-content: space-between;
	margin:0 0 30px;
}
.column .content .data_in {
	display:flex;
	justify-content: flex-start;
	gap: 10px;
}
.column .content .data .category a {
	font-size:14px;
	background:#b08b2d;
	padding:5px 15px 5px;
	font-weight:bold;
	color:#fff;
	border-radius: 5px;
	letter-spacing: 0.2em;
}
.column .content .data .time {
	padding:5px 0;
	color:#888;
}

@media screen and (max-width:980px) {
  .column .content .data {
	display:block;
	margin:10px 0 10px;
  }
  .column .content .data .category a {
	display: inline-block;
	margin:0;
  }
  .column .content .data .time {
	margin:10px 0 0;
  }
}


/* ===== h2デザイン ===== */
.h2-title {
  background-color: #28134E;
  color: #ffffff;
  font-size: clamp(20px, 4.5vw, 25px);
  font-weight: 700;
  padding: 15px 24px;
  margin: 48px 0 24px;
  line-height: 1.4;
  border-radius: 5px;
}

/* ===== h3デザイン ===== */
.h3-title {
  color: #28134E;
  font-size: clamp(18px, 4vw, 22px);
  font-weight: 600;
  margin: 40px 0 20px;
  line-height: 1.5;
  background: #fff;
  border-left: solid 3px #28134E;
  border-bottom: 1px solid #fff;
  padding: 10px 24px;
  border-radius: 0 5px 5px 0;
}

/* ===== 本文 ===== */
.text {
  font-size: clamp(15px, 3.8vw, 16px);
  line-height: 1.8;
  margin-bottom: 24px;
  letter-spacing: 0.19em !important;
}

/* ===== 注釈 ===== */
.note {
  font-size: clamp(13px, 3.5vw, 14px);
  line-height: 1.7;
  color: #666;
  margin-top: 16px;
}

.thumbnail img {
    border-radius: 50px;
	width: 100%;
    height: auto;
}

.supervisor a {
    color: #28134E;
}

@media screen and (max-width:768px){

	.text {
		letter-spacing: 0.1em !important;
	}

	.thumbnail img {
		border-radius: 30px;
	}
}

/* ===== ページネーション ===== */
.pagination {
	margin-top: 80px;
	display: flex;
	justify-content: center;
}

.pagination ul {
	display: flex;
	list-style: none;
	padding: 0;
	gap: 8px;
}

.pagination li {
	margin: 0;
}

.pagination a,
.pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid #ddd;
	border-radius: 6px;
	text-decoration: none;
	color: #333;
	font-size: 14px;
	transition: all .3s ease;
	letter-spacing: 0;
}

.pagination a:hover {
	background: #333;
	color: #fff;
	border-color: #333;
}

.pagination .current {
	background: #333;
	color: #fff;
	border-color: #333;
	font-weight: bold;
}

.pagination .dots {
	border: none;
	background: none;
}

@media (max-width: 768px) {
	.pagination a,
	.pagination span {
		width: 38px;
		height: 38px;
		font-size: 13px;
	}
}

/* =============================
   page.php用
============================= */
.main-column h1 {
    margin: 0 0 30px;
    font-size: 28px;
    color: #28134E;
    line-height: 1.5;
}

/* =============================
   サイトマップ
============================= */
.sitemap {
    max-width: 1100px;
    margin: 30px auto;
    padding: 0 20px;
}

.sitemap__inner {
    display: flex;
    justify-content: space-between;
}

.sitemap__section {
    flex: 1;
}

.sitemap__title {
    font-size: 18px;
    margin-bottom: 10px; /* ul と少し距離を空ける */
    padding-bottom: 6px;
}

.sitemap__title a {
    text-decoration: none;
    color: #28134E;
}

.sitemap__list {
    list-style: none;
    padding-left: 20px;
    margin: 0 0 20px 0; /* 下に余白を追加 */
}

.sitemap__list li {
    margin-bottom: 8px;
	list-style: none;
}

.sitemap__list li ul {
    list-style: none;
    padding-left: 18px;
    margin-top: 6px;
}

.sitemap a {
    text-decoration: none;
    color: #333;
    transition: 0.2s;
}

.sitemap a:hover {
    text-decoration: underline;
    opacity: 0.7;
}

.sitemap__category {
    font-weight: bold;
    cursor: default;
}

.sitemap__category > ul > li {
    list-style: disc;
    margin-bottom: 6px;
}

/* ===== レスポンシブ ===== */
@media screen and (max-width: 768px) {
    .sitemap__inner {
        flex-direction: column;
        gap: 15px;
    }
}

/* =============================
   運営情報
============================= */
.company-h2 {
    font-size: 22px;
    background: #28134E;
    color: #fff;
    border-radius: 5px;
    padding: 15px;
    margin: 70px 0 20px;
}

/* =============================
   フッター
============================= */

.site-footer{
	background:#28134E;
	color:#fff;
	padding: 115px 0 60px;
	text-align:center;
}

.footer-inner{
	max-width:1000px;
	margin:0 auto;
	display:flex;
	flex-direction:column;
	align-items:center;
}

.footer-logo-area{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:25px;
	margin-bottom: 35px;
}

/* ロゴ画像 */
.footer-inner img{
	width:80px;
	height:auto;
}

.footer-logo-text-wrap{
	text-align:center;
}

.site-footer .logo-text{
	font-size:29px;
	font-weight:bold;
	color:#fff;
	letter-spacing:0.15em;
	line-height: 1.4em;
}

/* キャッチコピー */
.site-footer p{
	font-size:18px;
	letter-spacing:0.2em;
	color:#fff;
}

/* フッターナビ */
.footer-nav{
	border-top:1px solid rgba(255,255,255,0.3);
	border-bottom:1px solid rgba(255,255,255,0.3);
	padding:18px 0;
	margin-bottom: 45px;
	width:55%;
}

.footer-nav ul{
	display:flex;
	justify-content:center;
	gap:60px;
	list-style:none;
	padding:0;
	margin:0;
}

.footer-nav a{
	color:#fff;
	text-decoration:none;
	font-size:14px;
	letter-spacing:0.15em;
	transition: 0.3s;
}

.footer-nav a:hover{
    color: #A68208;
}

/* コピーライト */
.footer-copy{
	font-size:11px;
	letter-spacing:0.1em;
	opacity:0.8;
	padding-bottom: 20px;
}

@media screen and (max-width:768px){

    .footer-nav{
        width:75%;
		margin-bottom: 65px;
    }

    .footer-nav ul{
        flex-direction:column;
        gap: 2em;
    }

    .footer-copy{
	    font-size: 9px;
	}

    .site-footer .logo-text{
        font-size:21px;
    }

	.footer-logo-area {
		gap: 5px;
		margin-bottom: 20px;
	}

	.footer-inner img {
	    width:70px;
    }
}


/* 20260218追記 end */