@charset "UTF-8";


/* reset ---------------------------------------*/

div,dl,dt,dd,ul,ol,
li,h1,h2,h3,h4,h5,
h6,pre,code,form,fieldset,legend,
input,textarea,p,blockquote,
th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;word-break: break-all;font-size:inherit;width:100%;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q::before,q::after{content:'';}
abbr{border:0;font-variant:normal;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select{*font-size:100%;}
legend{color:#262626;}
select,input,button,textarea{font-size:inherit;font-family:inherit;box-sizing: border-box;}
pre,code,kbd,samp{font-family:monospace;*font-size:108%;line-height:100%;}
figure{padding:0;margin:0;}
input[type="submit"],
input[type="button"],
button {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration,
button::-webkit-search-decoration {display: none;}
input[type="submit"]::focus,
input[type="button"]::focus,
button::focus {outline-offset: -2px;}


/* base ---------------------------------------*/

*{box-sizing:border-box;}

html,body{height:100%;}

html.page-404,html.page-thanks {
	height: auto;
}

body.error404,body.thanksbody {
	height: auto;
}

body{
	-webkit-text-size-adjust: 100%;
	padding:0;
	margin: 0;
	font-family: "Shippori Mincho", "游明朝体", "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "MS PMincho", serif;
	font-feature-settings: "palt" 1;
	-webkit-font-feature-settings: "palt" 1;
	overflow-x: hidden;
	color:#262626;
}

a{
	text-decoration: none;
	color:#262626;
	transition: all .25s ease;
}

img{
	vertical-align: bottom;
	line-height: 1;
	max-width:100%;
	height:auto;
}

:root {
    --easeCubic: cubic-bezier(0.65,0.05,0.36,1);
    --easeQuint: cubic-bezier(0.76,0,0.24,1);
    --easeExpo: cubic-bezier(0.9,0,0.1,1);
    --easeImage: cubic-bezier(.2,.85,.45,1);
}

/* common item ---------------------------------------*/

.clearfix::after,
.inner::after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.ov-h{overflow: hidden;}

.font-noto{font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

.font-outfit{font-family: "Outfit", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

.animation{
	transition: all .75s ease;
	transform:translate(0,20px);
	opacity:0;
}

.animation.on{
	transform:translate(0,0px);
	opacity:1;
}


/* browser adjust ---------------------------------------*/

@media all and (-ms-high-contrast:none){
	.foo { color: green }
}


/* mask icon ---------------------------------------*/

.icon-arrow{
	-webkit-mask-image: url('../img/common/arrow.svg');
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: contain;
	mask-image: url('../img/common/arrow.svg');
	mask-repeat: no-repeat;
	mask-position: 0 0;
	mask-size: contain;
	display: inline-block;
	vertical-align: middle;
	height: 24px;
	width: 24px;
	background: #ff0000;
}


/* layout ---------------------------------------*/

.wrapper{
}

.inner{
	max-width:1392px;
	margin:0 auto;
}

.section{
	margin-bottom: 50px;
}

/* .overlay{display: none;} */


/* header ---------------------------------------*/


header{
	position:fixed;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 100;
	border-bottom: 1px solid #F4EFEB;
	background:#fff;
	transition: all .25s ease;
}

.topheader.is-white {
	border: none;
	background: transparent;
}

.header-inner{
	height:128px;
	margin:0 auto;
	position:relative;
}

.header-inner{
	height:128px;
	margin:0 auto;
	position:relative;
	transition: all .3s ease;
}

.is-scrolled .header-inner{
	height: 88px;
}

.header-logo{
	position: absolute;
	left:60px;
	top:50%;
	transform: translateY(-50%);
	transition: all .25s ease;
	width: 159px;
}

.header-logo svg path {
	transition: all .25s ease;
}

.is-white .header-logo svg path {
	fill: #fff;
}

.header-logo:hover {
	opacity: 0.7;
}

/* .header-logo::after {
    display: block;   
	content: '';
	background: transparent;
	background-size: 100%;
	width: 159px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	transition: all .25s ease;
	opacity: 0;
}

.is-scrolled .header-logo::after{
	width: 133px;
}

.topheader.is-white .header-logo::after {
	background: url('../img/common/logo_wh.svg') no-repeat center center;
	background-size: 100%;
	opacity: 1;
} */

/* .header-logo img::after {
    display: block;   
	content: '';
	background: url('../img/common/logo_wh.svg') no-repeat center center;
	background-size: 100%;
	width: 159px;
	height: 48px;
	position: absolute;
	left: 0;
	top: 0;
} */

.header-contact{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	width:82px;
	height: 32px;
	border: 1px solid #262626;
	position: absolute;
	right:60px;
	top:50%;
	transform: translateY(-50%);
	transition: all .25s ease;
}

.header-contact:hover {
	background-color: #956134;
	border: 1px solid #956134;
}

.topheader.is-white .header-contact{
	border: 1px solid #fff;
}

.topheader.is-white .header-contact:hover{
	border: 1px solid #fff;
	background-color: #fff;
}

.header-contact-item{
	color:#262626;
	font-size: 14px;
	transition: all .25s ease;
}

.header-contact:hover .header-contact-item {
	color:#fff;
}

.topheader.is-white .header-contact-item{
	color:#fff;
}

.topheader.is-white .header-contact:hover .header-contact-item{
	color:#956134;
}



/* gnav ---------------------------------------*/


.gnav{
	position:fixed;
	right: 164px;
	top: 0;
	width: calc(100% - 430px);
	height: 128px;
	z-index: 102;
	transition: all .3s ease;
}

.is-scrolled.gnav{
	height: 88px;
}

.gnav-list{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
	gap: 2px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.gnav-list > li{
	font-size: 16px;
}

.gnav-list > li a{
	display: block;
	padding: 4px 19px;
	line-height: 1.5;
	color:#262626;
	transition: all .25s ease;
}

.topgnav.is-white .gnav-list > li a{
	color:#fff;
}

.topgnav.is-white .gnav-list > li a:hover {
	color:#956134;
}

.gnav-list > li a:hover {
	color:#956134;
}

#openmenu{display:none;}


/* footer ---------------------------------------*/

.footer{
	padding: 51px 60px 20px;
	background-color: #262626;
	color:#fff;
}

.footer-inner{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 20px;
}

.footer-content {
	padding-top: 7px;
}

.footer-nav {
	margin-bottom: 48px;
}

.footer-nav-list {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 40px;
}

.footer-nav-list-item {
	font-size: 16px;
	color:#fff;
	transition: all .25s ease;
}

.footer-nav-list-item:hover {
	opacity: 0.7;
}

.footer-address-wrapper {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: nowrap;
	gap: 20px;
	margin-bottom: 23px;
}

.footer-address {
}

.footer-address-title {
	font-size: 14px;
	margin-bottom: 5px;
	letter-spacing: 0.05em;
}

.footer-address-text {
	color:#BFBFBF;
	font-size: 14px;
	letter-spacing: 0.05em;
}

.footer-address-miratap {
	transition: all .3s ease;
}

.footer-address-miratap:hover {
	opacity: 0.7;
}

.footer-subinfo {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 43px;
}

.copyright {
	font-size: 12px;
	color:#737373;
}

.footer-subinfo-item {
	font-size: 11px;
	color:#BFBFBF;
	letter-spacing: 0.05em;
	transition: all .25s ease;
}

.footer-subinfo-item:hover {
	opacity: 0.7;
}

.footer-contact {
}

.footer-contact-sp {
	display: none;
}

.footer-contact-tel {
	margin-bottom: 12px;
}

.footer-contact-tel-item {
	color:#fff;
	font-size: 32px;
	letter-spacing: 0.05em;
	font-weight: 600;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
	transition: all .25s ease;
}

.footer-contact-tel-item:hover {
	opacity: 0.7;
}

.footer-contact-tel-item i {
	background: url('../img/common/icon_freedial.svg') no-repeat center center / 100%;
	width: 42px;
	height: 25px;
}

.footer-contact-btn-wrapper {
	border: 1px solid #BFBFBF;
	transition: all .25s ease;
}

.footer-contact-btn-wrapper:hover {
	border: 1px solid #fff;
}

.footer-contact-btn {
	display: block;
	padding: 11px 15px;
	text-align: center;
	font-size: 14px;
	color:#fff;
	transition: all .25s ease;
}

.footer-contact-btn:hover {
	background: #fff;
	color: #262626;
}


/* subfooter ---------------------------------------*/

.subfooter {
	padding: 60px 60px;
}

.subfooter-list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 60px;
}

.subfooter-list li {
	width: calc(50% - 30px);
}

.subfooter-list-item {
	display: block;
	border-radius: 20px;
	overflow: hidden;
	position: relative;
	transition: all .6s var(--easeImage);
}

.subfooter-list-item img {
	width: 100%;
	transition: all .6s var(--easeImage);
}

.subfooter-list-item:hover img {
	transform: scale(1.08);
}

.subfooter-title {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	color:#fff;
	font-size: 24px;
	line-height: 1.1;
	text-align: center;
}


/* margin ---------------------------------------*/

.mt-0{margin-top:0px !important;}
.mt-5{margin-top:5px !important;}
.mt-10{margin-top:10px !important;}
.mt-15{margin-top:15px !important;}
.mt-20{margin-top:20px !important;}
.mt-25{margin-top:25px !important;}
.mt-30{margin-top:30px !important;}
.mt-35{margin-top:35px !important;}
.mt-40{margin-top:40px !important;}
.mt-45{margin-top:45px !important;}
.mt-50{margin-top:50px !important;}
.mt-55{margin-top:55px !important;}
.mt-60{margin-top:60px !important;}
.mt-65{margin-top:65px !important;}
.mt-70{margin-top:70px !important;}
.mt-75{margin-top:75px !important;}
.mt-80{margin-top:80px !important;}
.mt-85{margin-top:85px !important;}
.mt-90{margin-top:90px !important;}
.mt-95{margin-top:95px !important;}
.mt-100{margin-top:100px !important;}

.mb-0{margin-bottom:0px !important;}
.mb-5{margin-bottom:5px !important;}
.mb-10{margin-bottom:10px !important;}
.mb-15{margin-bottom:15px !important;}
.mb-20{margin-bottom:20px !important;}
.mb-25{margin-bottom:25px !important;}
.mb-30{margin-bottom:30px !important;}
.mb-35{margin-bottom:35px !important;}
.mb-40{margin-bottom:40px !important;}
.mb-45{margin-bottom:45px !important;}
.mb-50{margin-bottom:50px !important;}
.mb-55{margin-bottom:55px !important;}
.mb-60{margin-bottom:60px !important;}
.mb-65{margin-bottom:65px !important;}
.mb-70{margin-bottom:70px !important;}
.mb-75{margin-bottom:75px !important;}
.mb-80{margin-bottom:80px !important;}
.mb-85{margin-bottom:85px !important;}
.mb-90{margin-bottom:90px !important;}
.mb-95{margin-bottom:95px !important;}
.mb-100{margin-bottom:100px !important;}
.mb-110{margin-bottom:110px !important;}
.mb-120{margin-bottom:120px !important;}
.mb-130{margin-bottom:130px !important;}
.mb-140{margin-bottom:140px !important;}


/* width ---------------------------------------*/

.wid-10per{width:10% !important;}
.wid-15per{width:15% !important;}
.wid-20per{width:20% !important;}
.wid-25per{width:25% !important;}
.wid-30per{width:30% !important;}
.wid-40per{width:40% !important;}
.wid-50per{width:50% !important;}
.wid-60per{width:60% !important;}
.wid-70per{width:70% !important;}
.wid-80per{width:80% !important;}
.wid-100per{width:100% !important;}

.wid-100{width:100px !important;}
.wid-110{width:110px !important;}
.wid-120{width:120px !important;}
.wid-130{width:130px !important;}
.wid-140{width:140px !important;}
.wid-150{width:150px !important;}
.wid-160{width:160px !important;}
.wid-170{width:170px !important;}
.wid-180{width:180px !important;}
.wid-190{width:190px !important;}
.wid-200{width:200px !important;}
.wid-210{width:210px !important;}
.wid-220{width:220px !important;}
.wid-230{width:230px !important;}
.wid-240{width:240px !important;}
.wid-250{width:250px !important;}
.wid-260{width:260px !important;}
.wid-270{width:270px !important;}
.wid-280{width:280px !important;}
.wid-290{width:290px !important;}
.wid-300{width:300px !important;}


/* title ---------------------------------------*/

.page-head {
	margin-bottom: 40px;
}

.title-page {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 20px;
}

.title-page b {
	font-size: 28px;
	font-weight: 400;
	line-height: 1.1;
	color: #737373;
}

.title-page span {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	position: relative;
	padding: 0 16px;
	letter-spacing: 0.05em;
	color: #737373;
}

.title-page span::before {
	display: block;
	content: '';
	background: url('../img/common/title_parentheses_left.svg') no-repeat left center / 100%;
	width: 5px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.title-page span::after {
	display: block;
	content: '';
	background: url('../img/common/title_parentheses_right.svg') no-repeat right center / 100%;
	width: 5px;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
}

/* .title-section{
	font-weight:600;
	font-size: 1.8rem;
	line-height: 1.5;
	color: #222;
}

.title-block{
	font-weight:600;
	font-size: 1.0rem;
	line-height: 1.5;
	color: #222;
} */

.title-paragraph{
}

.title-small{
}


/* text ---------------------------------------*/

.text-center{text-align: center !important;}
.text-right{text-align: right !important;}
.text-left{text-align: left !important;}

.text-s{
	font-size: 1.2rem;
	line-height: 1.5;
}

.text-m{
	font-size: 1.4rem;
	line-height: 1.5;
}

.text-l{
	font-size: 1.8rem;
	color: #484848;
	line-height: 1.94;
}

.text-bold{font-weight:600;}

.text-red{color: #aa0000 !important;}


.text-ellipsis-2{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.text-ellipsis-3{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.text-ellipsis-4{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

@media all and (-ms-high-contrast:none){
	.text-ellipsis-2 { height: 3.2em; } /* IE10〜Edge */
	.text-ellipsis-3 { height: 4.7em; } /* IE10〜Edge */
}

.text-ellipsis-count::after{content: '…';}

.text-link{text-decoration: underline;}
.text-link:hover{text-decoration: none;}


/* pankuzu ---------------------------------------*/

.pankuzu{
	margin-top: 128px;
	padding: 16px 60px;
}

.pankuzu-list{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: nowrap;
	gap: 12px;
	overflow: hidden;
}

.pankuzu-list > li{
	flex-shrink: 0;
}

.pankuzu-list > li:last-child{
	flex-shrink: 1;
	min-width: 0;
	overflow: hidden;
}

.pankuzu-list > li a,
.pankuzu-list > li span{
	display: block;
	font-size:12px;
	line-height: 1.1;
}

.pankuzu-list > li:last-child span{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pankuzu-list > li a{
	text-decoration:none;
	color:#262626;
	position: relative;
	padding-right: 12px;
	transition: all .25s ease;
}

.pankuzu-list > li a:hover {
	color: #956134;
}

.pankuzu-list > li a::after{
	display:block;
	content:'';
	width:1px;
	height:100%;
	background:#D9D9D9;
	position:absolute;
	right:0;
	top:0;
}

.pankuzu-list > li span{
	color:#737373;
}


/* list ---------------------------------------*/

.list{}
.list li{
	margin-bottom: 10px;
	font-size:16px;
	line-height: 1.73;
	position:relative;
	padding-left: 15px;
	letter-spacing:0.1em;
}

.list li:last-child{margin-bottom: 0;}

.list li::before{
	display:block;
	content:'';
	background:#2A619B;
	background-size: 100%;
	width:6px;
	height:6px;
	position:absolute;
	left:0;
	top:11px;
}

ul.list-simple li{
	margin-bottom: 15px;
	font-size:16px;
	line-height: 1.73;
	position:relative;
	padding-left: 10px;
}

ul.list-simple li::before{
	display:block;
	content:'';
	background:#222;
	width:4px;
	height:4px;
	border-radius:50%;
	position:absolute;
	left:0px;
	top:13px;
}

ol.list-simple{
	padding-left: 15px;
}

ol.list-simple li{
	margin-bottom: 15px;
	font-size:16px;
	line-height: 1.73;
	position:relative;
	list-style-type: decimal;
}

ol.list-simple li::before{}

.table-blue .list-simple li{margin-bottom:5px;}

.noticelist li{
	text-indent:-1em;
	margin-left: 1em;
	font-size:12px;
	line-height: 1.8;
}


/* btn ---------------------------------------*/


.viewall {
	display: inline-block;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	color: #262626;
	position: relative;
	padding-left: 24px;
	transition: all .25s ease;
}

.viewall:hover {
	color:#956134;
}

.viewall::before {
	display: inline-block;
	content: '';
	background: #262626;
	width: 16px;
	height: 1px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: all .25s ease;
}

.viewall:hover::before {
	background:#956134;
}


/* table ---------------------------------------*/

.table-horizontal{font-size:14px}

.table-horizontal thead th,
.table-horizontal thead td{
	background: #767676;
	color: #fff;
	line-height: 1.94;
	padding: 3px 4px;
	border-top:1px solid #dbdbdb;
	border-right:1px solid #dbdbdb;
	border-left:1px solid #dbdbdb;
	text-align:center;
	white-space: nowrap;
}

.table-horizontal tbody th,
.table-horizontal tbody td{
	line-height: 1.75;
	padding: 6px 8px;
	background: #fff;
	border:1px solid #dbdbdb;
}

.table-horizontal tbody th{text-align:center;}

.table-horizontal tbody td.td-grouptitle{
	font-weight:600;
	text-align:center;
	background: #DCE3E8;
	color: #484848;
}

.table-horizontal.is-zebra tbody tr:nth-child(2n) th,
.table-horizontal.is-zebra tbody tr:nth-child(2n) td{background: #F4F4F4;}

.table-vertical{border-top:1px solid #DBDBDB;}

.table-vertical th{
	text-align: left;
	padding: 16px;
	background: #F4F4F4;
	vertical-align: top;
	font-weight:600;
	border-bottom:1px solid #DBDBDB;
	color: #333;
	line-height: 1.6;
	text-align: left;
	min-width: 145px;
	vertical-align: middle;
}

.table-vertical td{
	text-align: left;
	padding: 16px 16px;
	vertical-align: top;
	border-bottom:1px solid #DBDBDB;
	line-height: 1.6;
	color: #484848;
}

.table-horizontal td a,
.table-vertical td a{color: #0078C6;}

.table-horizontal td a:hover,
.table-vertical td a:hover{text-decoration: underline;}

.table-vertical td small{
	line-height: 1.3;
	display: inline-block;
	font-size:12px;
}


/* modal ---------------------------------------*/

.modal-wrapper{display: none;}

.modal{background: #fff;}

.modal-inner{
	width: 100%;
	padding: 30px;
	background: #fff;
}

.modal-inner-manual{
	text-align: center;
}

.modal-inner-manual iframe{
	width: 600px;
	height: 500px
}

.modal-inner-close{
	position:absolute;
	right: 10px;
	top: 10px;
}


/* pager ---------------------------------------*/

.pager{
	margin-top: 40px;
}

.pager-list{
	text-align:center;
	padding: 20px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.pager-list li{
	margin:0 4px;
	font-size:18px;
}

.pager-list li:has(.prev),
.pager-list li:has(.next){
	margin: 0 43px;
}

.pager-list li a,
.pager-list li span{
	display:block;
	height:44px;
	width:44px;
	line-height:44px;
	text-align:center;
	color:#956134;
	transition: all .25s ease;
	border-radius: 50%;
}

.pager-list li .current {
	background-color: #F4EFEB;
}

.pager-list li .dots {
	text-indent: -9999px;
	overflow: hidden;
	white-space: nowrap;
	position: relative;
	text-align: center;
	width: 20px;
}

.pager-list li .dots::after {
    display: flex;
	justify-content: center;
	align-items: center;   
	content: '...';
	width: 20px;
	height: 44px;
	line-height: 44px;
	text-align: center;
	position: absolute;
	left: 0;
	top: -4px;
	text-indent: 0;
}

.pager-list li a:hover,
.pager-list li a.active{
	background-color: #F4EFEB;
}

.pager-list li .prev,
.pager-list li .next{
	width:50px;
	font-weight: bold;
	font-size: 18px;
	color: #262626;
}

.pager-list li .prev.is-disabled,
.pager-list li .next.is-disabled {
	color: #A6A6A6;
	cursor: default;
	pointer-events: none;
}

.pager-list li .prev:hover ,
.pager-list li .next:hover {
	background: transparent;
	color: #956134;
}

.pager-list li .prev.is-disabled:hover,
.pager-list li .next.is-disabled:hover {
	color: #A6A6A6;
}

.pager-onlysp {
	display: none;
}

.article-pager {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 194px;
	margin-bottom: 58px;
}

.article-pager-prev,
.article-pager-next {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	transition: all .25s ease;
}

.article-pager-prev.is-disabled,
.article-pager-next.is-disabled {
	color: #A6A6A6;
	cursor: default;
	pointer-events: none;
}

.article-pager-prev:hover,
.article-pager-next:hover {
	color: #956134;
}

.article-pager-prev.is-disabled:hover,
.article-pager-next.is-disabled:hover {
	color: #A6A6A6;
}

.articlefooter-btn-wrapper {
	text-align: center;
}

.articlefooter-btn {
	display: inline-block;
	font-size: 14px;
	letter-spacing: 0.02em;
	line-height: 1.3;
	color: #737373;
	border: 1px solid #D5C0AE;
	border-radius: 50px;
	padding: 15px 20px;
	width: 320px;
	max-width: 100%;
	transition: all .25s ease;
}

.articlefooter-btn:hover {
	background: #956134;
	color: #fff;
}


/* form ---------------------------------------*/

.form-text,
.form-date{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	padding: 10px 15px;
	border: 1px solid #D9D9D9;
	width: 100%;
	border-radius: 8px;
	line-height: 1;
	height: 52px;
	background: #fff;
}

::placeholder {color:#A6A6A6;}

.form-select-wrapper {
	margin-bottom: 10px;
}

.form-select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	padding: 0 15px;
	border: 1px solid #D9D9D9;
	width: 320px;
	max-width: 100%;
	background: url('../img/common/icon_select.svg') #fff no-repeat right 15px top 50%;
	background-size: 16px 16px;
	border-radius: 8px;
	line-height: 1;
	font-size: 16px;
	height: 52px;
	color: #262626;
}

/* .form-select.is-notselected{
	color: #ccc;
} */

/* プレースホルダー風の最初のoption */
.form-select option:first-child {
	color: #A6A6A6;
}

/* 未選択時のselect（最初のoptionが選ばれている時） */
.form-select:has(option:first-child:checked) {
	color: #A6A6A6;
}

select::-ms-expand {
	display: none;
}

.form-textarea{
	-webkit-appearance: none;
	outline: none;
	padding: 13px 15px;
	border: 1px solid #D9D9D9;
	width: 100%;
	height: 182px;
	box-sizing: border-box;
	border-radius: 4px;
	resize: vertical;
}

.form-radio {
	display: inline-block;
	line-height: 1;
	/* margin-right: 5px; */
	font-size: 16px;
	position:relative;
}

.form-radio label {
	box-sizing: border-box;
	cursor: pointer;
	display: inline-block;
	line-height: 1.1;
	min-height: 23px;
	letter-spacing: 0.08em;
	margin: 0px 0;
	padding: 4px 0 4px 36px;
	position: relative;
	vertical-align: top;
}

.form-radio input[type="radio"]{position: absolute;left:0px;top:0px;width:1px;height:1px;overflow: hidden;opacity:0;}

.form-radio label::before{
	display: block;
	content: '';
	border: 1px solid #D9D9D9;
	background: #fff;
	border-radius: 4px;
	width: 26px;
	height: 26px;
	position:absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
}

.form-radio input:checked + label::after{
	display:block;
	content:'';
	background: url("../img/common/icon_checked.svg") no-repeat #956134 center center / 16px 13px;
	border-radius:1px;
	width:26px;
	height:26px;
	border-radius:4px;
	position:absolute;
	left: 1px;
	top:50%;
	transform: translate(0,-50%);
}

.form-radio input:disabled + label {opacity: 0.7;}

.form-checkbox {
	display: inline-block;
	line-height: 1;
	/* margin-right: 5px; */
	font-size: 16px;
	position:relative;
}

.form-checkbox label {
	box-sizing: border-box;
	cursor: pointer;
	display: inline-block;
	line-height: 1.1;
	min-height: 23px;
	letter-spacing: 0.08em;
	margin: 0px 0;
	padding: 4px 0 4px 36px;
	position: relative;
	vertical-align: top;
}

.form-checkbox input[type="checkbox"]{position: absolute;left:0px;top:0px;width:1px;height:1px;overflow: hidden;opacity:0;}

.form-checkbox label::before{
	display: block;
	content: '';
	border: 1px solid #D9D9D9;
	background: #fff;
	border-radius: 4px;
	width: 26px;
	height: 26px;
	position:absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
}

.form-checkbox input:checked + label::after{
	display:block;
	content:'';
	background: url("../img/common/icon_checked.svg") no-repeat #956134 center center / 16px 13px;
	border-radius:1px;
	width:28px;
	height:28px;
	border-radius:4px;
	position:absolute;
	left: 1px;
	top:50%;
	transform: translate(0,-50%);
}

.form-checkbox input:disabled + label {opacity: 0.7;}

.toggle-switch {
	position: relative;
	width: 60px;
	height: 30px;
	margin: auto;
	display: inline-block;
}

.toggle-input {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 5;
	opacity: 0;
	cursor: pointer;
}

.toggle-switch label{
	width: 60px;
	height: 30px;
	background: #ccc;
	position: relative;
	display: inline-block;
	border-radius: 30px;
	transition: 0.1s;
	box-sizing: border-box;
}

.toggle-switch label::after {
	content: '';
	position: absolute;
	width: 30px;
	height: 30px;
	border-radius: 100%;
	left: 0;
	top: 0;
	z-index: 2;
	background: #fff;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
	transition: 0.1s;
}

.toggle-input:checked + label{background-color: #4BD865;}
.toggle-input:checked + label::after{left: 30px;}

.submit{
	text-align: center;
	padding-top: 20px;
}

input[type="submit"].submit-btn{
	background: #956134;
	color: #fff;
	border-radius: 50px;
	padding: 0px 20px;
	width: 640px;
	max-width: 100%;
	height: 80px;
	font-size: 16px;
	letter-spacing: 0.02em;
	line-height: 76px;
	border: 2px solid #956134;
	transition: all .25s ease;
}

input[type="submit"].submit-btn:hover {
	background: #fff;
	color: #956134;
}

input[type="submit"].submit-btn:disabled {
	background: #D9D9D9;
	color: #8C8C8C;
	border: 2px solid #D9D9D9;
}

input[type="submit"].submit-btn:disabled:hover {
	background: #D9D9D9;
	color: #8C8C8C;
	border: 2px solid #D9D9D9;
}

.must{color:#aa0000;}

/* オートフィル時の背景色を通常と同じに戻す */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0px 1000px #fff inset !important; /* 背景を白に */
    box-shadow: 0 0 0px 1000px #fff inset !important;
    -webkit-text-fill-color: #262626 !important; /* テキスト色もリセット */
    transition: background-color 5000s ease-in-out 0s; /* 背景が即変わらないように */
}


/* entrybody ---------------------------------------*/


.entrybody > *:first-child {
	margin-top: 0;
}

.entrybody > *:last-child {
	margin-bottom: 0;
}

.entrybody h2, .entrybody h3, .entrybody h4, .entrybody h5, .entrybody h6 {
	line-height: 1.6;
	font-weight: bold;
	letter-spacing: 0.02em;
	margin-top: 40px;
	margin-bottom: 10px;
	padding: 0 40px;
}

.entrybody h2 + *, .entrybody h3 + *, .entrybody h4 + *, .entrybody h5 + *, .entrybody h6 + * {
	margin-top: 0;
}

.entrybody h2 {
	font-size: 26px;
}

.entrybody h3 {
	font-size: 22px;
}

.entrybody h4 {
	font-size: 18px;
}

.entrybody h5 {
	font-size: 16px;
}

.entrybody h6 {
	font-size: 16px;
	font-weight: normal;
}

.entrybody p {
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.02em;
	margin-top: 60px;
	margin-bottom: 60px;
}

.entrybody a {
	color: #956134;
	text-decoration: underline;
}

.entrybody a:hover {
	color: #262626;
	text-decoration: none;
}

.entrybody h2 + p, .entrybody h3 + p, .entrybody h4 + p, .entrybody h5 + p, .entrybody h6 + p {
	margin-top: 0;
}

.entrybody p:not(:has(img)) {
	padding: 0 40px;
}

.entrybody p img {
	border-radius: 20px;
	overflow: hidden;
}

.entrybody ul {
	margin-top: 60px;
	margin-bottom: 60px;
	padding: 0 40px;
}

.entrybody h2 + ul, .entrybody h3 + ul, .entrybody h4 + ul, .entrybody h5 + ul, .entrybody h6 + ul {
	margin-top: 0;
}

.entrybody ul > li {
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.02em;
	text-indent: -2em;
	padding-left: 1em;
}

.entrybody ul > li::before {
	display: inline-block;
	content: '・';
	vertical-align: middle;
	background-size: 10px;
	width: 1em;
	line-height: 1;
	height: 1em;
	position: relative;
	top: -2px;
	text-indent: 0;
	padding-left: 1em;
}

.entrybody ol {
	margin-top: 60px;
	margin-bottom: 60px;
	padding: 0 40px;
}

.entrybody h2 + ol, .entrybody h3 + ol, .entrybody h4 + ol, .entrybody h5 + ol, .entrybody h6 + ol {
	margin-top: 0;
}

.entrybody ol > li {
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.02em;
	list-style-type: decimal;
	list-style-position: inside;
	padding-left: 1.15em;
	text-indent: -1.15em;
}

.entrybody iframe {
	max-width: 100%;
}


/* bigbnr ---------------------------------------*/

.bigbnr-wrapper {
	padding: 60px 60px 60px;
}

.bigbnr + .bigbnr {
	margin-top: 60px;
}

.bigbnr-block {
	background: #EFEEEA;
	border-radius: 20px;
	padding: 40px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: nowrap;
	gap: 7.9vw;
	transition: all .6s var(--easeImage);
}

.bigbnr-block:hover {
	box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
}

.bigbnr-block-image {
	width: 32.5%;
	border-radius: 10px;
	overflow: hidden;
}

.bigbnr-block-image img {
	width: 100%;
	transition: all .6s var(--easeImage);
}

.bigbnr-block:hover .bigbnr-block-image img {
	transform: scale(1.08);
}

.bigbnr-block-detail {
	flex: 1;
}

.bigbnr-block-sholder {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 18px;
	margin-bottom: 4px;
}

.bigbnr-concept .bigbnr-block-sholder {
	margin-bottom: 15px;
}

.bigbnr-block-sholder b {
	font-size: 20px;
	font-weight: 400;
	line-height: 2;
	color: #737373;
}

.bigbnr-block-sholder span {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 1.8;
	position: relative;
	padding: 0 12px;
	color: #737373;
}

.bigbnr-block-sholder span::before {
	display: block;
	content: '';
	background: url('../img/common/title_parentheses_left.svg') no-repeat left center / 100%;
	width: 4px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.bigbnr-block-sholder span::after {
	display: block;
	content: '';
	background: url('../img/common/title_parentheses_right.svg') no-repeat right center / 100%;
	width: 4px;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
}

.bigbnr-block-title {
	font-size: 32px;
	line-height: 1.4;
	margin-bottom: 20px;
}

.bigbnr-block-text {
	font-size: 14px;
	line-height: 2;
	color: #595959;
	margin-bottom: 36px;
	letter-spacing: 0.08em;
}

.bigbnr-concept .bigbnr-block-text {
	font-size: 24px;
	line-height: 1.55;
	letter-spacing: 0;
}

.bigbnr-block:hover .viewall {
	color: #956134;
}

.bigbnr-block:hover .viewall::before {
	background:#956134;
}


/* article related ---------------------------------------*/

.article-related-wrapper {
	margin-top: 120px;
	padding: 0 60px 120px;
}

.article-related {
	margin-bottom: 78px;
}

.article-related-inner {
	max-width: 560px;
	margin: 0 auto;
}

.article-related-title {
	font-size: 16px;
	letter-spacing: 0.05em;
	font-weight: 600;
	line-height: 1.4;
	color: #595959;
	margin-bottom: 15px;
}

.article-related-item-link {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px;
	background: #EFEEEA;
	border-radius: 20px;
	padding: 24px;
	transition: all .6s var(--easeImage);
}

.article-related-item-link:hover {
	box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
}

.article-related-item-image {
	width: 128px;
	border-radius: 10px;
	overflow: hidden;
	aspect-ratio: 1280/957;
}

.article-related-item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .6s var(--easeImage);
}

.article-related-item-link:hover .article-related-item-image img {
	transform: scale(1.08);
}

.article-related-item-detail {
	flex: 1;
}

.article-related-item-title {
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-bottom: 8px;
}

.article-related-item-info {
	font-size: 14px;
	line-height: 1.4;
	color: #737373;
}

/* 404 */

.notfound {
	padding: 120px 60px 430px 60px;
	min-height: calc(100dvh - 230px);
}

.notfound-title {
	font-size: 24px;
	line-height: 1.6;
	margin-bottom: 23px;
	text-align: center;
}

.notfound-text {
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.05em;
	margin-bottom: 44px;
	text-align: center;
}

.notfound-btn-wrapper {
	text-align: center;
}

.notfound-btn {
	display: inline-block;
	width: 320px;
	height: 52px;
	line-height: 48px;
	max-width: 100%;
	background: #956134;
	border: 2px solid #956134;
	border-radius: 50px;
	padding: 0 20px;
	font-size: 14px;
	letter-spacing: 0.05em;
	color: #fff;
	text-align: center;
	transition: all .25s ease;
}

.notfound-btn:hover {
	background: #fff;
	color: #956134;
}

.footer-notfound {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
}

.footer-thanks {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
}

/* pc only */
@media screen and (min-width: 768px) {
	.sp{display: none !important;}
	.spbr{display: none;}
}


@media screen and (min-width: 1513px){

	.bigbnr-block {
		gap: 120px;
	}
}

@media screen and (min-width: 768px) and (max-width: 1260px){


	/* pager ---------------------------------------*/

	.pager-list li {
		margin: 0 4px;
		font-size: 16px;
	}

	.pager-list li a, .pager-list li span {
		height: 40px;
		width: 40px;
		line-height: 40px;
	}

	.pager-list li .dots::after {
		height: 40px;
		width: 40px;
		line-height: 40px;
	}

	.pager-list li:has(.prev), .pager-list li:has(.next) {
		margin: 0 25px;
	}

	.pager-list li .prev, .pager-list li .next {
		width: 45px;
		font-size: 16px;
	}
}


/* small pc */
@media screen and (min-width: 768px) and (max-width: 1000px){

	/* gnav ---------------------------------------*/

	.gnav {
		width: calc(100% - 380px);
	}

	.gnav-list > li a {
		padding: 4px 12px;
	}

	.header-logo{
		width: 133px;
	}
	
	.header-logo svg{
		width: 133px;
	}


	/* pager ---------------------------------------*/

	.pager-list li {
		margin: 0 4px;
		font-size: 14px;
	}

	.pager-list li a, .pager-list li span {
		height: 38px;
		width: 38px;
		line-height: 38px;
	}

	.pager-list li:has(.prev) {
		display: none;
	}

	.pager-list li:has(.next) {
		display: none;
	}

	/* .pager-list li .prev, .pager-list li .next {
		width: 40px;
		font-size: 14px;
	} */

	.pager-onlysp {
		display: flex;
		justify-content: space-around;
		align-items: center;
		flex-wrap: wrap;
		gap: 20px;
		padding-top: 17px;
	}

	.pagerprev-sp,
	.pagernext-sp {
		font-size: 14px;
		font-weight: 600;
		line-height: 1.4;
	}

	.pagernext-sp {
		font-size: 14px;
		font-weight: 600;
		line-height: 1.4;
	}

	.pagerprev-sp {
		padding-left: 10px;
	}

	.pagernext-sp {
		padding-right: 10px;
	}


	/* bigbnr ---------------------------------------*/

	.bigbnr-block {
		padding: 60px 30px;
		gap: 40px;
	}

	.bigbnr-block-image {
		width: 302px;
	}

	.bigbnr-concept .bigbnr-block-text {
		font-size: 21px;
	}

	.subfooter-title {
		font-size: 22px;
	}
}

/* small pc */
@media screen and (min-width: 768px) and (max-width: 930px){

	.footer-nav {
		margin-bottom: 48px;
	}
	
	.footer-contact {
		margin-bottom: 48px;
	}

	.footer-contact-sp {
		display: block;
		max-width: 265px;
	}

	.footer-contact-pc {
		display: none;
	}
}

/* small pc */
@media screen and (min-width: 768px) and (max-width: 860px){


	.header-logo {
		left: 30px;
	}

	.header-contact {
		right: 30px;
	}

	.gnav {
		right: 120px;
		width: calc(100% - 310px);
	}

	.subfooter-list {
		gap: 30px;
	}

	.subfooter-list li {
		width: calc(50% - 15px);
	}
}



/* s0 only */
@media screen and (max-width: 767px){

	/* body {
		overflow-x: hidden;
	} */

	/* common item ---------------------------------------*/

	.pc{display: none !important;}
	.pcbr{display: none;}


	/* layout ---------------------------------------*/

	.header-inner,
	.footer-inner,
	.inner,
	.wrapper{
		min-width: 0;
		width: 100%;
	}


	/* header ---------------------------------------*/

	header{
		z-index: 99;
	}

	.header-inner{
		height: 100px;
	}

	.is-scrolled .header-inner{
		height: 72px;
	}

	.header-logo{
		left: 24px;
		width: 119px;
	}

	.header-logo svg {
		width: 119px;
	}

	.is-scrolled .header-logo{
		width: 119px;
	}

	.is-scrolled .header-logo svg{
		width: 119px;
	}

	/* .header-logo::after{
		width: 119px;
	}

	.is-scrolled .header-logo::after{
		width: 119px;
	} */

	.header-logo:hover {
		opacity: 1;
	}

	.header-contact {
		width: 67px;
		height: 36px;
		right: 72px;
	}

	.header-contact:hover {
		background-color: transparent;
		border: 1px solid #262626;
	}

	.topheader.is-white .header-contact:hover{
		background-color: transparent;
		border: 1px solid #fff;
	}

	.header-contact-item {
		font-size: 12px;
	}

	.header-contact:hover .header-contact-item {
		color:#262626;
	}

	.topheader.is-white .header-contact:hover .header-contact-item{
		color:#fff;
	}

	.overlay{
		content:'';
		display: block;
		position:fixed;
		width:100%;
		height:300px;
		background: rgba(0,0,0,0.3);
		left:0;
		top:0;
		z-index:99;
	}

	#openmenu{
		display:block;
		width:36px;
		height:36px;
		text-indent: -99em;
		overflow: hidden;
		position:fixed;
		right:20px;
		top:32px;
		z-index: 101;
		transition: all .3s ease;
	}

	#openmenu.is-scrolled{
		top: 18px;
	}

	#openmenu span{
		content:'';
		display: block;
		width: 28px;
		height: 1px;
		background: #262626;
		position: absolute;
		left: 4px;
		transition: all .25s ease;
	}

	#openmenu.is-white span{
		background: #fff;
	}

	#openmenu span:nth-child(1){top:10.5px;}
	#openmenu span:nth-child(2){top:17.5px;}
	#openmenu span:nth-child(3){top:24.5px;}

	#openmenu.is-open span {
		background: #fff;
	}

	#openmenu.is-open span:nth-child(1){
		transform:rotate(30deg);
		top: 17.5px;
		left: 4px;
	}

	#openmenu.is-open.is-scrolled span:nth-child(1){
		top: 13.5px;
	}

	#openmenu.is-open span:nth-child(2){
		opacity:0;
		left:-25px;
	}

	#openmenu.is-open span:nth-child(3){
		transform:rotate(-30deg);
		top: 17.5px;
		left: 4px;
	}

	#openmenu.is-open.is-scrolled span:nth-child(3){
		top: 13.5px;
	}

	.bodyfixed{
		position: fixed;
		width: 100%;
		height: 100%;
	}


	/* gnav ---------------------------------------*/

	/* .gnav{
		border:none;
		background: #262626;
		padding-bottom: 30px;
		max-height: 100vh;
		overflow-y:auto;
		z-index:100;
		position: absolute;
		right: 0;
		top: 0;
		transition: all .25s ease;
		transform:translate3d(100%,0,0);
		width: 315px;
		padding: 110px 40px;
	}

	.gnav.is-active{
		transform:translate3d(0,0,0);
		opacity:1;
	} */

	/* または、gnavを初期状態で非表示にする */
    .gnav{
        position: fixed;
        right: -315px;  /* 幅分マイナスで完全に画面外へ */
        top: 0;
        background: #262626;
        padding-bottom: 30px;
		height: 100vh;
        max-height: 100vh;
        overflow-y: auto;
        z-index: 100;
        transition: all .25s ease;
        /* transform: translate3d(100%,0,0); は削除 */
        width: 315px;
        padding: 72px 40px ;
    }

	.is-scrolled.gnav{
		height: 100vh;
	}
    
    .gnav.is-active{
        right: 0;  /* translate3dの代わりにrightで制御 */
        /* transform: translate3d(0,0,0); は削除 */
        opacity: 1;
    }

	.gnav-list{
		justify-content: flex-start;
		align-items: center;
		flex-direction: column;
		gap: 48px;
		padding-top: 142px;
		position: relative;
		top: unset;
		transform: none;
		margin-bottom: 60px;
	}

	.gnav-list::before {
		display: inline-block;
		content: '';
		vertical-align: middle;
		margin-right: 10px;
		background: url('../img/common/logo_onlyicon.svg') no-repeat center center; 
		background-size: 100%;
		width: 87px;
		height: 84px;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	
	.gnav-list > li{
		font-size:16px;
	}
	
	.gnav-list > li a{
		display: block;
		color:#fff;
		position: relative;
		padding: 4px 29px;
	}

	.gnav-list > li a:hover {
		color:#fff;
	}

	.topheader.is-white .gnav-list > li a:hover {
		color:#fff;
	}

	.gnav-list > li a::before {
		display: inline-block;
		content: '';
		background: url('../img/common/nav_parentheses_left.svg') no-repeat center center; 
		background-size: 6px;
		width: 6px;
		height: 29px;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	.gnav-list > li a::after {
		display: inline-block;
		content: '';
		background: url('../img/common/nav_parentheses_right.svg') no-repeat center center; 
		background-size: 6px;
		width: 6px;
		height: 29px;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	.gnav-contact-wrapper {
		text-align: center;
	}

	.gnav-contact {
		display: block;
		font-size: 16px;
		color: #fff;
		border: 1px solid #A6A6A6;
		width: 100%;
		padding: 17px 20px;
	}


	/* footer ---------------------------------------*/

	.footer{
		padding: 55px 40px 40px;
	}

	.footer-inner{
		display: block;
	}

	.footer-content {
		padding-top: 0;
	}

	.footer-nav {
		margin-bottom: 40px;
		padding: 0 40px;
	}

	.footer-nav-list {
		justify-content: space-between;
		gap: 30px 50px;
	}

	.footer-nav-list li {
		width: calc(50% - 50px);
	}

	.footer-nav-list li:nth-of-type(2) {
		order: 2;
	}

	.footer-nav-list li:nth-of-type(3) {
		order: 3;
	}

	.footer-nav-list li:nth-of-type(4) {
		order: 4;
	}

	.footer-nav-list li:nth-of-type(5) {
		order: 1;
	}

	.footer-nav-list-item:hover {
		opacity: 1;
	}

	.footer-address-wrapper {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		margin-bottom: 22px;
	}

	.footer-address-title {
		margin-bottom: 7px;
	}

	.footer-address-text {
		color:#BFBFBF;
	}
	
	.footer-address-miratap:hover {
		opacity: 1;
	}

	.footer-subinfo {
		gap: 10px;
	}

	.footer-subinfo-item {
		letter-spacing: 0.05em;
	}

	.footer-subinfo-item:hover {
		opacity: 1;
	}

	.footer-contact {
		padding: 0;
		margin-bottom: 60px;
	}

	.footer-contact-sp {
		display: block;
	}

	.footer-contact-pc {
		display: none;
	}

	.footer-contact-tel {
		margin-bottom: 10px;
	}

	.footer-contact-tel-item {
		font-size: 26px;
		letter-spacing: 0.04em;
		justify-content: center;
		flex-wrap: nowrap;
		gap: 4px;
	}

	.footer-contact-tel-item:hover {
		opacity: 1;
	}

	.footer-contact-tel-item i {
		width: 35px;
		height: 21px;
	}

	.footer-contact-btn-wrapper {
		width: 215px;
		max-width: 100%;
		margin: 0 auto;
	}

	.footer-contact-btn-wrapper:hover {
		border: 1px solid #BFBFBF;
	}

	.footer-contact-btn {
		padding: 9px 15px;
	}

	.footer-contact-btn:hover {
		background: transparent;
		color: #fff;
	}


	/* subfooter ---------------------------------------*/

	.subfooter {
		padding: 20px 20px;
	}

	.subfooter-list {
		display: block;
	}

	.subfooter-list li {
		width: 100%;
	}

	.subfooter-list li + li {
		margin-top: 30px;
	}

	.subfooter-list-item {
		border-radius: 10px;
	}

	.subfooter-list-item:hover img {
		transform: none;
	}

	.subfooter-title {
		font-size: 18px;
	}



	/* margin ---------------------------------------*/

	.mt-sp-0{margin-top:0px !important;}
	.mt-sp-5{margin-top:5px !important;}
	.mt-sp-10{margin-top:10px !important;}
	.mt-sp-15{margin-top:15px !important;}
	.mt-sp-20{margin-top:20px !important;}
	.mt-sp-25{margin-top:25px !important;}
	.mt-sp-30{margin-top:30px !important;}
	.mt-sp-35{margin-top:35px !important;}
	.mt-sp-40{margin-top:40px !important;}
	.mt-sp-45{margin-top:45px !important;}
	.mt-sp-50{margin-top:50px !important;}
	.mt-sp-55{margin-top:55px !important;}
	.mt-sp-60{margin-top:60px !important;}
	.mt-sp-65{margin-top:65px !important;}
	.mt-sp-70{margin-top:70px !important;}
	.mt-sp-75{margin-top:75px !important;}
	.mt-sp-80{margin-top:80px !important;}
	.mt-sp-85{margin-top:85px !important;}
	.mt-sp-90{margin-top:90px !important;}
	.mt-sp-95{margin-top:95px !important;}
	.mt-sp-100{margin-top:100px !important;}

	.mb-sp-0{margin-bottom:0px !important;}
	.mb-sp-5{margin-bottom:5px !important;}
	.mb-sp-10{margin-bottom:10px !important;}
	.mb-sp-15{margin-bottom:15px !important;}
	.mb-sp-20{margin-bottom:20px !important;}
	.mb-sp-25{margin-bottom:25px !important;}
	.mb-sp-30{margin-bottom:30px !important;}
	.mb-sp-35{margin-bottom:35px !important;}
	.mb-sp-40{margin-bottom:40px !important;}
	.mb-sp-45{margin-bottom:45px !important;}
	.mb-sp-50{margin-bottom:50px !important;}
	.mb-sp-55{margin-bottom:55px !important;}
	.mb-sp-60{margin-bottom:60px !important;}
	.mb-sp-65{margin-bottom:65px !important;}
	.mb-sp-70{margin-bottom:70px !important;}
	.mb-sp-75{margin-bottom:75px !important;}
	.mb-sp-80{margin-bottom:80px !important;}
	.mb-sp-85{margin-bottom:85px !important;}
	.mb-sp-90{margin-bottom:90px !important;}
	.mb-sp-95{margin-bottom:95px !important;}
	.mb-sp-100{margin-bottom:100px !important;}


	/* width ---------------------------------------*/

	.wid-sp-100per{width:100% !important;}
	.wid-sp-50per{width:50% !important;}

	.wid-sp-40{width:40px !important;}
	.wid-sp-50{width:50px !important;}
	.wid-sp-60{width:60px !important;}
	.wid-sp-70{width:70px !important;}
	.wid-sp-80{width:80px !important;}
	.wid-sp-90{width:90px !important;}
	.wid-sp-100{width:100px !important;}
	.wid-sp-110{width:110px !important;}
	.wid-sp-120{width:120px !important;}
	.wid-sp-130{width:130px !important;}
	.wid-sp-140{width:140px !important;}
	.wid-sp-150{width:150px !important;}
	.wid-sp-160{width:160px !important;}
	.wid-sp-170{width:170px !important;}
	.wid-sp-180{width:180px !important;}
	.wid-sp-190{width:190px !important;}
	.wid-sp-200{width:190px !important;}


	/* title ---------------------------------------*/

	
	.page-head {
		margin-bottom: 45px;
	}

	.title-page {
		gap: 5px;
		flex-direction: column;
		margin-bottom: 30px;
	}

	.title-page b {
		font-size: 24px;
		line-height: 1.2;
	}

	.title-page span {
		font-size: 14px;
		padding: 0 12px;
		letter-spacing: 0.19em;
	}

	.title-page span::before {
		width: 4px;
	}

	.title-page span::after {
		width: 4px;
	}

	.title-section{
		font-size: 30px;
		padding: 32px 0;
	}

	.title-section::after{width: 100px;}
	.title-block{font-size: 24px;}
	.title-small{font-size: 16px;}


	/* text ---------------------------------------*/

	.text-sp-center{text-align:center;}
	.text-sp-right{text-align:right;}
	.text-sp-left{text-align:left;}


	/* pankuzu ---------------------------------------*/

	.pankuzu{
		margin-top: 101px;
		padding: 15px 20px;
	}

	.pankuzu-list {
		gap: 8px;
	}

	.pankuzu-list > li a, .pankuzu-list > li span {
		font-size: 11px;
	}

	.pankuzu-list > li a{
		padding-right: 10px;
	}

	.pankuzu-list > li a:hover {
		color: #262626;
	}
	


	/* list ---------------------------------------*/

	.list li{
		padding-left: 15px;
	}


	/* btn ---------------------------------------*/

	.viewall {
		font-size: 16px;
	}

	.viewall:hover {
		color:#262626;
	}

	.viewall:hover::before {
		background:#262626;
	}


	/* table ---------------------------------------*/

	.table-wrapper{margin-bottom: 55px;}

	.table-horizontal,
	.table-horizontal tbody,
	.table-horizontal tr,
	.table-horizontal th,
	.table-horizontal td{
		display: block;
		width:100%;
	}


	.table-horizontal th,
	.table-horizontal td{
		font-size:16px;
		border:none;
	}

	.table-horizontal th{padding: 18px 20px 18px 20px;}
	.table-horizontal td{padding: 25px 20px 25px 20px;}

	.table-horizontal td a:hover,
	.table-vertical td a:hover{text-decoration: none;}

	.table-sp-scroll{
		overflow: auto;
		width: calc(100% + 30px);
		margin: 0 -15px;
		padding-left: 15px;
	}

	.table-sp-scroll table{min-width:450px;}


	/* modal ---------------------------------------*/

	.modal-wrapper{display: none;}

	.modal{padding: 60px 10px 20px;}

	.modal-inner-close{
		width: 320px;
		max-width: 100%;
		margin:  30px auto;
	}


	/* pager ---------------------------------------*/

	.pager{
		margin-top: 60px;
	}

	/* .pager-list{
		padding: 20px 0;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
	} */

	.pager-list li{
		margin:0 8px;
		font-size:14px;
	}

	.pager-list li:has(.prev),
	.pager-list li:has(.next){
		display: none;
	}

	.pager-list li a,
	.pager-list li span{
		height:40px;
		width:40px;
		line-height:40px;
	}

	.pager-list li .dots {
		width: 16px;
	}

	.pager-list li .dots::after {
		width: 16px;
		letter-spacing: 0.05em;
	}

	.pager-list li a:hover {
		background-color: transparent;
	}

	.pager-onlysp {
		display: flex;
		justify-content: space-around;
		align-items: center;
		flex-wrap: wrap;
		gap: 20px;
		padding-top: 30px;
	}

	.pagerprev-sp,
	.pagernext-sp {
		font-size: 16px;
		font-weight: 600;
		line-height: 1.4;
	}

	.pagerprev-sp.is-disabled,
	.pagernext-sp.is-disabled {
		color: #A6A6A6;
		cursor: default;
		pointer-events: none;
	}

	.pagerprev-sp {
		padding-left: 10px;
		padding-right: 10px;
	}

	.pagernext-sp {
		padding-right: 10px;
		padding-left: 10px;
	}
	
	.article-pager {
		gap: 132px;
		margin-bottom: 50px;
	}
	
	.article-pager-prev,
	.article-pager-next {
		letter-spacing: -0.04em;
		font-size: 16px;
	}
	
	.article-pager-prev {
		padding-left: 10px;
	}
	
	.article-pager-next {
		padding-right: 10px;
	}

	.article-pager-prev:hover,
	.article-pager-next:hover {
		color: #262626;
	}
	
	.articlefooter-btn-wrapper {
		text-align: center;
	}
	
	.articlefooter-btn {
		line-height: 1.3;
		padding: 15px 15px;
		width: 240px;
	}

	.articlefooter-btn:hover {
		background: #fff;
		color: #737373;
	}


	/* form ---------------------------------------*/

	.form-text,
	.form-date{
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		outline: none;
		padding: 8px 15px;
		border: 1px solid #D9D9D9;
		width: 100%;
		border-radius: 8px;
		line-height: 1;
		height: 48px;
		font-size: 14px;
	}

	::placeholder {color:#A6A6A6;}

	.form-select-wrapper {
		margin-bottom: 15px;
	}

	.form-select{
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		outline: none;
		padding: 0 15px;
		border: 1px solid #D9D9D9;
		width: 100%;
		max-width: 100%;
		background: url('../img/common/icon_select.svg') #fff no-repeat right 15px top 50%;
		background-size: 16px 16px;
		border-radius: 8px;
		line-height: 1;
		font-size: 14px;
		height: 48px;
		color: #A6A6A6;
	}

	/* .form-select.is-notselected{
		color: #ccc;
	} */

	select::-ms-expand {
		display: none;
	}

	.form-textarea{
		-webkit-appearance: none;
		outline: none;
		padding: 13px 15px;
		border: 1px solid #D9D9D9;
		width: 100%;
		height: 160px;
		box-sizing: border-box;
		border-radius: 4px;
		resize: vertical;
		font-size: 14px;
	}

	.form-radio {
		display: inline-block;
		line-height: 1;
		/* margin-right: 5px; */
		font-size: 14px;
		position:relative;
	}

	.form-radio label {
		box-sizing: border-box;
		cursor: pointer;
		display: inline-block;
		line-height: 1.1;
		min-height: 23px;
		letter-spacing: 0.08em;
		margin: 0px 0;
		padding: 4px 0 4px 36px;
		position: relative;
		vertical-align: top;
	}

	.form-radio input[type="radio"]{position: absolute;left:0px;top:0px;width:1px;height:1px;overflow: hidden;opacity:0;}

	.form-radio label::before{
		display: block;
		content: '';
		border: 1px solid #D9D9D9;
		background: #fff;
		border-radius: 4px;
		width: 26px;
		height: 26px;
		position:absolute;
		left: 0;
		top: 50%;
		transform: translate(0,-50%);
	}

	.form-radio input:checked + label::after{
		display:block;
		content:'';
		background: url("../img/common/icon_checked.svg") no-repeat #956134 center center / 16px 13px;
		border-radius:1px;
		width:26px;
		height:26px;
		border-radius:4px;
		position:absolute;
		left: 1px;
		top:50%;
		transform: translate(0,-50%);
	}

	.form-radio input:disabled + label {opacity: 0.7;}

	.form-checkbox {
		display: inline-block;
		line-height: 1;
		/* margin-right: 5px; */
		font-size: 14px;
		position:relative;
	}

	.form-checkbox label {
		box-sizing: border-box;
		cursor: pointer;
		display: inline-block;
		line-height: 1.1;
		min-height: 23px;
		letter-spacing: 0.08em;
		margin: 0px 0;
		padding: 4px 0 4px 36px;
		position: relative;
		vertical-align: top;
	}

	.form-checkbox input[type="checkbox"]{position: absolute;left:0px;top:0px;width:1px;height:1px;overflow: hidden;opacity:0;}

	.form-checkbox label::before{
		display: block;
		content: '';
		border: 1px solid #D9D9D9;
		background: #fff;
		border-radius: 4px;
		width: 26px;
		height: 26px;
		position:absolute;
		left: 0;
		top: 50%;
		transform: translate(0,-50%);
	}

	.form-checkbox input:checked + label::after{
		display:block;
		content:'';
		background: url("../img/common/icon_checked.svg") no-repeat #956134 center center / 16px 13px;
		border-radius:1px;
		width:28px;
		height:28px;
		border-radius:4px;
		position:absolute;
		left: 1px;
		top:50%;
		transform: translate(0,-50%);
	}

	.form-checkbox input:disabled + label {opacity: 0.7;}

	.toggle-switch {
		position: relative;
		width: 60px;
		height: 30px;
		margin: auto;
		display: inline-block;
	}

	.toggle-input {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: 5;
		opacity: 0;
		cursor: pointer;
	}

	.toggle-switch label{
		width: 60px;
		height: 30px;
		background: #ccc;
		position: relative;
		display: inline-block;
		border-radius: 30px;
		transition: 0.1s;
		box-sizing: border-box;
	}

	.toggle-switch label::after {
		content: '';
		position: absolute;
		width: 30px;
		height: 30px;
		border-radius: 100%;
		left: 0;
		top: 0;
		z-index: 2;
		background: #fff;
		box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
		transition: 0.1s;
	}

	.toggle-input:checked + label{background-color: #4BD865;}
	.toggle-input:checked + label::after{left: 30px;}

	.submit{
		text-align: center;
		padding-top: 0;
	}

	input[type="submit"].submit-btn{
		padding: 0px 20px;
		width: 100%;
		height: 56px;
		font-size: 14px;
		letter-spacing: 0.02em;
		line-height: 52px;
	}

	input[type="submit"].submit-btn:hover {
		background: #956134;
		color: #fff;
	}

	.must{color:#aa0000;}


	/* entrybody ---------------------------------------*/

	.entrybody h2, .entrybody h3, .entrybody h4, .entrybody h5, .entrybody h6 {
		margin-bottom: 6px;
		padding: 0;
	}

	.entrybody h2 {
		font-size: 20px;
	}

	.entrybody h3 {
		font-size: 18px;
	}

	.entrybody h4 {
		font-size: 16px;
	}

	.entrybody h5 {
		font-size: 15px;
	}

	.entrybody h6 {
		font-size: 14px;
	}
	
	.entrybody p {
		font-size: 14px;
		margin-top: 40px;
		margin-bottom: 40px;
	}

	.entrybody a:hover {
		color: #956134;
		text-decoration: underline;
	}
	
	.entrybody p:not(:has(img)) {
		padding: 0
	}
	
	.entrybody p img {
		display: block;
		border-radius: 20px;
		overflow: hidden;
	}

	.entrybody ul {
		margin-top: 40px;
		margin-bottom: 40px;
		padding: 0;
	}

	.entrybody ul > li {
		font-size: 14px;
		line-height: 2;
		letter-spacing: 0.02em;
		text-indent: -2em;
		padding-left: 1em;
	}

	.entrybody ol {
		margin-top: 40px;
		margin-bottom: 40px;
		padding: 0;
	}

	.entrybody ol > li {
		font-size: 14px;
		padding-left: 1.12em;
		text-indent: -1.12em;
	}


	/* bigbnr ---------------------------------------*/

	.bigbnr-wrapper {
		padding: 20px 20px 60px;
	}
	
	.bigbnr + .bigbnr {
		margin-top: 20px;
	}

	.bigbnr-block {
		padding: 46px 20px 27px;
		display: block;
	}

	.bigbnr-concept .bigbnr-block {
		padding: 42px 20px 20px;
	}

	.bigbnr-block:hover {
		box-shadow: none;
	}

	.bigbnr-block:hover .bigbnr-block-image img {
		transform: none;
	}
	
	.bigbnr-block-sholder {
		flex-direction: column;
		gap: 0;
		margin-bottom: 30px;
	}

	.bigbnr-concept .bigbnr-block-sholder {
		margin-bottom: 38px;
	}

	.bigbnr-concept .bigbnr-block-sholder b {
		font-size: 24px;
	}

	.bigbnr-block-sholder span {
		line-height: 1.6;
		padding: 0 12px;
	}

	.bigbnr-block-detail-image {
		margin-bottom: 34px;
		border-radius: 10px;
		overflow: hidden;
	}

	.bigbnr-concept .bigbnr-block-detail-image {
		margin-bottom: 0;
	}

	.bigbnr-block-detail-image img {
		width: 100%;
	}

	.bigbnr-block-title {
		font-size: 20px;
		line-height: 1.4;
		margin-bottom: 9px;
	}

	.bigbnr-block-text {
		font-size: 13px;
		line-height: 1.7;
		margin-bottom: 25px;
	}

	.bigbnr-concept .bigbnr-block-text {
		font-size: 16px;
		line-height: 1.8;
		letter-spacing: -0.05em;
		margin-bottom: 27px;
	}

	.bigbnr-block-link {
		text-align: right;
	}

	.bigbnr-concept .bigbnr-block-link {
		margin-bottom: 30px;
	}

	.bigbnr-block:hover .viewall {
		color: #262626;
	}

	.bigbnr-block:hover .viewall::before {
		background:#262626;
	}


	/* article related ---------------------------------------*/

	.article-related-wrapper {
		margin-top: 80px;
		padding: 0 20px 80px;
	}

	.article-related {
		/* margin-bottom: 76px; */
		margin-bottom: 88px;
	}
	
	.article-related-title {
		font-size: 14px;
		margin-bottom: 13px;
	}
	
	.article-related-item-link {
		gap: 14px;
		border-radius: 10px;
		padding: 16px;
	}

	.article-related-item-link:hover {
		box-shadow: none;
	}
	
	.article-related-item-image {
		width: 88px;
		height: 88px;
		aspect-ratio: 1/1;
	}

	.article-related-item-link:hover .article-related-item-image img {
		transform: none;
	}
	
	.article-related-item-title {
		font-size: 14px;
	}
	
	.article-related-item-info {
		font-size: 12px;
		line-height: 1.4;
	}


	/* 404 */

	.notfound {
		padding: 84px 40px 120px 40px;
		min-height: unset;
	}

	.notfound-title {
		font-size: 20px;
		margin-bottom: 17px;
	}

	.notfound-text {
		font-size: 14px;
		letter-spacing: 0.05em;
		margin-bottom: 30px;
	}

	.notfound-btn {
		width: 295px;
	}

	.notfound-btn:hover {
		background: #956134;
		color: #fff;
	}

	.footer-notfound {
		position: static;
		left: unset;
		bottom: unset;
	}

	.footer-thanks {
		position: static;
		left: unset;
		bottom: unset;
	}

}




/* iphone5 iphoneSE用 */
@media screen and (max-width: 370px){

}