@charset "UTF-8";


/* ーーーーーーーーーーーーーーーーーーーーーーーー
CSSカスタムプロパティ
ーーーーーーーーーーーーーーーーーーーーーーーー */

:root {
--color-main: #1e5426;
--color-main-alpha: rgba(30, 84, 38, 0.85);
--color-comp: #521e4b;
--color-bg:  rgba(235, 249, 236, 0.85);
--shadow: 1px 1px 5px rgba(0, 0, 0, 0.8);
}





/*ーーーーーーーーーーーーーーーーーーーーーーーー
css reset
ーーーーーーーーーーーーーーーーーーーーーーーー*/

body,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;
}
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%;
}
q:before,q:after{ content:''; }
abbr,acronym{ 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; }
legend{ color:#000; }
img { vertical-align:middle; }




/*ーーーーーーーーーーーーーーーーーーーーーーーー
フォント
ーーーーーーーーーーーーーーーーーーーーーーーー*/

html {
font-family:
"Hiragino Kaku Gothic ProN",
"Hiragino Sans",
"Meiryo",
"Yu Gothic UI",
sans-serif;
font-weight: 400;
font-size:18px;
}

		@media screen and (max-width:743px) {
		html {
		font-size:16px;
		}
		/*smp end*/}






/*文字マージン
ーーーーーーーーーーーーーーーーーーーーーーーー*/

/*行上*/
p {
margin-top:20px;
line-height: 1.8;
}
ul,ol,dl {
margin-top:20px;
line-height: 1.5;
}
li,dt,dd {
margin-top:10px;
line-height: 1.5;
}

#header p,
#header ul,
#header ol,
#header li,
th p:first-child,
th ul:first-child,
th ol:first-child,
th dl:first-child,
td p:first-child,
td ul:first-child,
td ol:first-child,
td dl:first-child {
margin-top:0px;
}





/*ーーーーーーーーーーーーーーーーーーーーーーーー
リンク
ーーーーーーーーーーーーーーーーーーーーーーーー*/

a:link,
a:visited {
text-decoration: underline;
color: var(--color-main);
font-weight:600;
}

a:hover,
a:active {
text-decoration: none;
color: var(--color-comp);
}




/*リンク画像ロールオーバー(アルファ処理)
ーーーーーーーーーーーーーーーーーーーーーーーー*/

a img {
transition: opacity 0.3s ease;
}
a:hover img {
opacity:0.60;
}





/*ーーーーーーーーーーーーーーーーーーーーーーーー
基本レイアウト
ーーーーーーーーーーーーーーーーーーーーーーーー*/

/*調整
ーーーーーーーーーーーーーーーーーーーーーーーー*/

/* 画像初期値 */
img {
max-width:100%;
height:auto;
}


/*インラインフレーム（YouTube用）*/
iframe {
width:100%;
height:450px;
}
		@media screen and (max-width:743px) {
		iframe {
		height:250px;
		}
		/*smp end*/}


/*iPad調整用*/
@media screen and (min-width:744px) {
body {min-width:1200px;}
}





/* 全体
ーーーーーーーーーーーーーーーーーーーーーーーー */
body {
background: #fffeff;
}


/* 全体背景（JS連動）*/
#background_fade {
position: fixed;
top: 0;
right: 0;
width: 100%;
height: 100%;
background: url(/wp-content/themes/original/common/img/keyv.png) no-repeat right top;
background-attachment: fixed;
z-index: -1;
pointer-events: none;
}

		@media screen and (max-width:743px) {
		/* 全体背景（JS連動）*/
		#background_fade {
		top: 60px;
		background: url(/wp-content/themes/original/common/img/keyv_smp.png) no-repeat right top;
		background-size: 100% auto;
		}
		#background_fade.wpbar {
		top: calc(60px + 46px);
		}
		/*smp end*/}




/*ヘッダー
ーーーーーーーーーーーーーーーーーーーーーーーー*/

#header {
width: 1200px;
margin: 20px auto 0px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}

		@media screen and (min-width: 744px) and (max-width: 746px) {
		/* ipad mini 縦用指定 */
		#header {
		width: 1240px;
		padding-right: 10px;
		padding-left: 10px;
		}
		/*ipad mini end*/}


#header p:first-child {
width: 200px;
}
#header ul {
display: flex;
flex-wrap: wrap;
background: var(--color-main-alpha);
border-radius: 10px;
box-shadow: var(--shadow);
padding: 0px 25px;
}
#header li a {
display: block;
padding: 6px 30px;
margin: 6px 3px;
text-decoration: none;
color: #fff;
font-size: 16px;
font-weight: 600;
}
#header li a.current,
#header li a:hover {
background: #fff;
border-radius: 10px;
color: var(--color-main);
}

/* ハンバーガーボタン */
.hamburger_btn {
display: none;
position: relative;
width: 40px;
height: 40px;
background: none;
border: none;
cursor: pointer;
z-index: 99999;
}
.hamburger_btn span {
display: block;
position: absolute;
left: 8px;
width: 24px;
height: 3px;
background: var(--color-main);
transition: all 0.3s ease;
}
.hamburger_btn span:nth-child(1) {
top: 10px;
}
.hamburger_btn span:nth-child(2) {
top: 19px;
}
.hamburger_btn span:nth-child(3) {
top: 28px;
}
.hamburger_btn.is_open span {
background: #fff;
}
.hamburger_btn.is_open span:nth-child(1) {
top: 19px;
transform: rotate(45deg);
}
.hamburger_btn.is_open span:nth-child(2) {
opacity: 0;
}
.hamburger_btn.is_open span:nth-child(3) {
top: 19px;
transform: rotate(-45deg);
}

		@media screen and (max-width:743px) {
		.hamburger_btn {
		display: block;
		}
		
		/* WP管理バー対応 */
		.admin-bar .hamburger_btn {
		margin-top: 32px;
		}
		@media screen and (max-width: 782px) {
		.admin-bar .hamburger_btn {
		margin-top: 46px;
		}
		}
		
		#header {
		width: auto;
		margin: 0px;
		padding: 10px 10px 10px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		background: #fff;
		}
		#header p:first-child {
		width: 150px;
		}
		#header ul {
		display: none;
		position: fixed;
		top: 0;
		right: -100%;
		width: 80%;
		height: 100%;
		background: var(--color-main-alpha);
		border-radius: 0px;
		padding: 60px 25px 25px;
		box-sizing: border-box;
		overflow-y: auto;
		transition: right 0.3s ease;
		z-index: 9998;
		}
		#header ul.wpbar {
		padding-top: 120px;
		}
		
		/* WP管理バー対応 */
		.admin-bar #header ul {
		top: 32px;
		}
		@media screen and (max-width: 782px) {
		.admin-bar #header ul {
		top: 46px;
		}
		}
		#header ul.is_open {
		right: 0;
		display: block;
		}
		#header li {
		display: block;
		}
		#header li a {
		display: block;
		padding: 15px 20px;
		margin: 10px 0px 0px;
		font-size: 18px;
		border-radius: 10px;
		}
		
		/* オーバーレイ */
		body::after {
		content: "";
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.5);
		z-index: 9997;
		}
		body.menu_open::after {
		display: block;
		}
		
		/* スクロール禁止 */
		body.menu_open {
		overflow: hidden;
		}
		/*smp end*/}


/* パンくず
ーーーーーーーーーーーーーーーーーーーーーーーー */

#pan {
background: #fff;
padding-top: 10px;
}

#pan ul {
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
}

#pan li {
font-size: 14px;
margin: 0;
line-height: 1.4;
}
#pan li::after {
content: " > ";
}
#pan li:last-child::after {
content: none;
}

		@media screen and (max-width:743px) {
		#pan ul {
		width: auto;
		margin: 0 10px;
		}

		/*smp end*/}




/* コンテンツ
ーーーーーーーーーーーーーーーーーーーーーーーー */

#contents {
background: #fffeff;
padding: 60px 0px;
}

#contents > div {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
}

#contents #main {
width: 700px;
}
#contents #side {
width: 250px;
}

#contents #side p,
#contents #side li,
#contents #side th,
#contents #side td,
#contents #side dt,
#contents #side dd {
font-size: 16px;
margin-top: 10px;
line-height: 1.6;
}
#contents #side p:first-child,
#contents #side li:first-child,
#contents #side th:first-child,
#contents #side td:first-child,
#contents #side dt:first-child,
#contents #side dd:first-child {
margin-top: 0px;
}

		@media screen and (max-width:743px) {
		#contents {
		padding: 20px 10px;
		}

		#contents > div {
		display: block;
		}

		#contents #main {
		width: auto;
		}
		#contents #side {
		width: auto;
		margin-top: 40px;
		}
		/*smp end*/}



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

#footer {
border-radius: 50px 50px 0 0;
width: 1200px;
background: var(--color-main-alpha);
margin: 60px auto 0px;
padding: 60px 60px 20px;
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
align-items: flex-start;
justify-content: space-between;
}
#footer p,
#footer li,
#footer a {
color: #fff;
margin-top: 10px;
text-decoration: none;
}

#footer a:hover {
text-decoration: underline;
}

#footer > p:first-child {
width: 100%;
}
#footer > p:first-child img {
width: 200px;
}

#footer .boxa,
#footer .boxb {
margin-top: 40px;
}

#footer .boxa {
display: flex;
flex-wrap: wrap;
width: 670px;
}
#footer .boxa > * {
display: inline-block;
margin-right: 30px;
}

#footer .boxa ul {
margin-top: 0px;
}
#footer .boxa li {
margin-top: 5px;
margin-top: 5px;
font-size: 16px;
}
#footer .boxa li::before {
content: "・";
}


#footer .boxb {
width: 410px;
}
#footer .boxb p {
color: #000;
line-height: 1.4;
font-size: 16px;
}
#footer .boxb > p:first-child {
margin-top: 0px;
font-weight: 600;
}

#footer > p:last-child {
font-size: 14px;
text-align: right;
width: 100%;
margin-top: 20px;
}

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

		#footer {
		border-radius: 30px 30px 0 0;
		width: auto;
		margin: 40px 10px 0px;
		padding: 30px 30px 15px;
		display: block;
		}

		#footer .boxa,
		#footer .boxb {
		margin-top: 20px;
		}

		#footer .boxa {
		display: block;
		width: auto;
		}
		#footer .boxa > * {
		margin-right: 0px;
		display: block;
		}


		#footer .boxb {
		width: auto;
		}

		#footer > p:last-child {
		font-size: 11px;
		text-align: center;
		margin-top: 15px;
		margin-bottom: 15px;
		}
		/*smp end*/}


/* 上に戻るボタン
ーーーーーーーーーーーーーーーーーーーーーーーー */

#btn_gotop {
position: fixed;
right: 10px;
bottom: 10px;
z-index: 8888;
}
#btn_gotop svg {
width: 60px;
height: 60px;
cursor: pointer;
}
.btn_gotop_circle {
fill: var(--color-main-alpha);
}

		@media screen and (max-width:743px) {
		#btn_gotop {
		position: fixed;
		bottom: 60px;
		right: 10px;
		}
		#btn_gotop svg {
		width: 40px;
		height: 40px;
		}
		/*smp end*/}