/*
Theme Name: BTjp 2026
Author: WATANABE Takeshi

#Breakpoint
_lg 1024px
_md 768px
_sm 480px

.fontawesome:before {
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-style: normal;
	font-variant: normal;
	font-weight: bold;
	text-rendering: auto;
}
*/

:root {
	--main: rgba(81,124,121,.8); /* #32363e */
	--sub: hsla(222, 22%, 82%, 1); /* 明度(L)を上げたメインカラー */
	--base: #fffffe;
	--gray: #f8f7ed;
	--text: #444444;
	--subtext: #666666;
	--link: #6699c4;
	--border: #dcd9d9; /* #cccだと目立ち過ぎる */
	--radius: 8px;
	--shadow: 0px 4px 8px 0px rgb(0 0 0 / 50%); /* 下方にドロップシャドウ */
	--shadow2: 0 0 32px rgb(0 0 0 / 10%); /* 均等に拡散 */

	--blue:   #2F6BBA;/* テキストリンク・バッジ */
	--green:  #57B157;/* バッジ */
	--red:    #ff6666;/* バッジ */
	--orange: #ff8a00;/* バッジ・CTAボタン */

	--box:   #f0f0f0;/* ボックスの背景 */

}

.maincolor	{color:#517c8d; color:rgba(81,124,121,.8);}
.bgcolor	{color:#fffffe;}
.bordercolor{color:#dcd9d9;}
.textcolor	{color:#444444;}
.linkcolor	{color:#6699c4;}

.serif	{font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;}
.sans	{font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue",HelveticaNeue,"Segoe UI","Hiragino Kaku Gothic ProN",メイリオ,Meiryo,arial,sans-serif;}
.noto	{font-family: 'Noto Sans JP'}
.avenir	{font-family: Avenir,"Segoe UI",sans-serif;}

/* Reset
-------------------------------------------------------------- */

html,body,div,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,
abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,
dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,
article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font: inherit;
	vertical-align:baseline;
}
html {
	overflow-y: scroll;
	scroll-behavior: smooth;
	font-size: 18px;
}
body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;/* スマホを横にしたときに文字が大きくしない */
	-ms-text-size-adjust: 100%;
	line-height: 1.6;/* flexで囲んだ場合に自動的にpでマークアップされないため、divも含めた全体に適用する必要がある */
	background-color: #fffffe;
	color: #444444;
	/*font-size: 16px;*/
	font-size: 17px;
	font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI","Hiragino Kaku Gothic ProN",メイリオ,Meiryo,arial,sans-serif;

	/* Fade In */
    animation: fadeIn 1s ease 0s 1 normal;
    -webkit-animation: fadeIn 1s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

:target {
	scroll-margin-top: 100px;
}

a {
	vertical-align: baseline;
	text-decoration:none;
	outline:none;
	background: transparent;
	transition: .5s;
	color:#111;
	color: #6699c4;
}
a:hover,a:active	{
	text-decoration:none;
	text-decoration:underline;
	/* color:#777; */
}
a:focus	{
	outline:none;
}
a img{
	transition: .5s;
}
/*a img:hover{
	opacity: 0.9;
	box-shadow: 0 5px 15px 0 rgba(0,0,0,.3);
}*/
#content a img:hover{ /*ロゴ画像などに影響させないため*/
	opacity: 0.8;
	box-shadow: 0 5px 15px 0 rgba(0,0,0,.3);
}
article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary {
	display: block;
}
audio,canvas,video {
	display: inline-block;
}
audio:not([controls]) {
	display: none;
}
ul {
	list-style: none;
}
ins {
	text-decoration: none;
}
mark {
	font-style: italic;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted #000;
	cursor: help;
}
/* caption,th,td {
	font-weight: normal;
} */
blockquote,q {
	quotes: none;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: solid 1px #dcd9d9;
	margin: 1em 0;
	padding: 0;
}
pre,code,kbd,samp,tt{
	line-height:100%;
	font-family:monospace;
}
img,object {
	vertical-align:baseline;/*default*/
	-ms-interpolation-mode: bicubic; /*for IE6&7*/
	max-width : 100%; /*Fluid Image*/
}
embed,iframe,object,video {
	max-width:100%;/* Make sure videos and embeds fit their containers */
}
strong,em,b{
	font-weight: 600;
}
input,
button,
select,
textarea{
	margin:0;
	padding:0;
	font: inherit;
	transition: 0.2s;
	line-height: 1;
	color: var(--text);/* for iOS */
}
time{
	display: inline-block;
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	/*font-size: 0.9em;*/
	/*font-weight: bold;*/
	/*opacity: 0.5;*/
}

@media print {
	body {
		background: none !important;
		color: #000;
		font-size: 10pt;
	}
	hr {
		page-break-after: always; /*改ページ*/
	}
}

/* Default style inside main tag
-------------------------------------------------------------- */
main h1,
main h2,
main h3,
main h4,
main h5,
main p,
main ul,
main ol,
main dl {
	line-height: calc(1em + 16px); /* pxで調整することでフォントサイズを大きくしても適切な余白がとれる（font-size:2remでline-height1.9とかだと余白が広すぎる） */
}
main h1/*,.h1*/,
main h2/*,.h2*/,
main h3/*,.h3*/,
main h4/*,.h4*/,
main h5/*,.h5*/ {
	font-weight: bold;
}
main h1/*,.h1*/ {
	font-size: 2.074rem;/* Ratio:1.2 */
}
main h2/*,.h2*/ {
	font-size: 1.728rem;/* Ratio:1.2 */
	margin-top: 96px;/* 32*3 */
}
.entry-content h2/*,.h2*/ {
	font-family: serif;
}
main h3/*,.h3*/ {
	font-size: 1.2rem;/* Ratio:1.2 */
	margin-top: 64px;/* 32*2 */
}
main h4/*,.h4*/,
main h5/*,.h5*/ {
	font-size: 1.0rem;/* Ratio:1.2 */
	margin-top: 48px;/* 32*1.5 */
}
main p,
main ul,
main ol,
main dl,
main table:not(figure > table),
main pre,
main details,
main figure,
main section,
main aside,
main fieldset {
	margin-top: 32px;
}
main :is(li,dd,td) > :is(p,ul,ol,dl) {
	margin-top: 0;
}
.entry-content > *:first-child /* 記事内の最初の要素 */ {
	margin-top: 0;
}
/* 外部リンクにアイコンを自動付与 */
main p a[target="_blank"]:after,
main li a[target="_blank"]:after,
main dd a[target="_blank"]:after{
	content: "";
	display: inline-block;
	background-color: var(--blue);
	-webkit-mask-image: url(images/icon/external-link-alt-solid.svg);
	mask-image: url(images/icon/external-link-alt-solid.svg);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	width: .8em;
	height: .8em;
	margin-left: 4px;
	margin-right: 8px;
}
main p a:has(img)[target="_blank"]:after,
main li a:has(img)[target="_blank"]:after,
main dd a:has(img)[target="_blank"]:after{
	content: none; /* 画像リンクの場合は外部リンクアイコンなし */
}
main strong {
	background: linear-gradient(transparent 50%, #ffff8d 50%);
	background: linear-gradient(transparent 60%, #fff07d 40%);
}

/* リスト */
main ul{
	list-style-type: disc;
}
main li {
	margin-left: calc(12px + 0.6em); /* emで調整することで大きめのフォントサイズを変えてもいい感じになる */
}
main dt {
	font-weight: bold;
	margin-top: 0;
}
main dt ~ dt { /* 同じ階層にある2つ目以降のdt（:not(:first-child)とか使うと優先度が複雑になるのであまり使いたくない）*/
	margin-top: 16px;
}
main figure {
	/* display: inline-block; */ /* 幅の狭い画像のfigcaptionをセンタリングするため → 埋め込みiframeが縮小されて不便なので一旦解除（2025/07/13） */
}
main figure figcaption {
	margin-top: 8px;
	margin-top: 16px;
	font-size: 0.8rem;
	text-align: center;
}
main figure figcaption:first-child { /* 上配置のキャプション */
	margin-top: 0;
	margin-bottom: 8px;
	text-align: left;
}
main figure figcaption ul{
	margin-top: 0;
}
main figure table + figcaption {
	margin-top: 16px;
	margin-left: 16px;
	margin-right: 16px;
	text-align: left;
}
main small {
	color: var(--subtext);
	font-size: 0.8rem;
}
main img,
main iframe{
	display: inline-block; /* ブロック要素にするとリンク付き画像のクリックエリアが横幅いっぱいに広がるので注意 */
}
main iframe[src*="youtube.com/embed/"] , /* You Tube埋め込み */
main iframe[src*="google.com/maps/"] { /* GoogleMap埋め込み */
	width: 100%;
}

main table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	border-top: solid 2px var(--text);
	font-size: 0.9rem;
}
main table caption {
	margin-bottom: 16px;
	text-align: center;
	font-weight: bold;
}
main table thead {
	text-align: left;
}
main table tr {
	border-bottom: solid 1px var(--border);
}
main table th {
	font-weight: bold;
}
main table th,
main table td {
	/* line-height: 1.6; */
	vertical-align: middle;
	padding: 16px;
}
main table tbody th {
	text-align: left;
	min-width: 100px;
	/* background-color: var(--base); */ /* animation時にborderが消える */
}
main table td img,
main table td p,
main table td ul,
main table td ol,
main table th dl {
	display: block;
	margin: 0 auto;
	border: none;
}
main table img,
main table p {
	margin: 0;
	box-shadow: none;
}
main hr {
	display: block;
	height: 1px;
	border: 0;
	background-color: var(--border);
	margin: 64px auto;
}
main pre {
	padding: 32px;
	border-radius: var(--radius);
	background-color: #333;
	color: #fff;
	font-size: .8rem;
	overflow: scroll;
}
main time {
	display: inline-block;
	display: block;
}
main blockquote,
main q {
	quotes: none;
	padding-top: 8px;
	font-size: 0.9rem;
}
main blockquote,
main blockquote + figcaption {
	margin-left: 4px;
	padding-left: 32px;
	border-left: solid 2px var(--text);
	/* border-left: solid 1px var(--text); */
}
main blockquote + figcaption {
	margin-top: 0;
	padding-top: 16px;
	padding-bottom: 8px;
	text-align: left;
}
main blockquote::before {
	display: inline-block;
	display: block;
	content: "";
	width: 24px;
	height: 24px;
	margin-bottom: 8px;
	background-color: var(--text);
	background-repeat: no-repeat;
	-webkit-mask-image: url(images/icon/quote-left-solid.svg);
	mask-image: url(images/icon/quote-left-solid.svg);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

main details {
	border-top: solid 1px var(--border);
	border-bottom: solid 1px var(--border);
	/* font-size: .85rem; */
	/* transition: 0.4s;
	 */
	padding-bottom: 0px;
}
main details + details {
	margin-top: 0;
	border-top: none;
}
main details[open] {
	padding-bottom: 32px;
}
/* アコーディオンのタイトル */
main details summary {
	position: relative;
	display: block; /* デフォルトアイコンを非表示（Safari以外） */
	padding: 16px 56px 16px 0;
	color: var(--text);
	/* font-size: 1rem; */
	overflow: hidden; /* Safariで回転時にアウトラインが広がるバグを回避 */
	transition: 0.4s;
}
main details[open] summary{
	margin-bottom: 32px;
}
main details summary::-webkit-details-marker {
	display: none; /* Safariのデフォルトアイコン▶を非表示 */
}
main details summary:hover {
	cursor: pointer;
}
main details summary + :is(p, ul, ol, dl) { /* タイトル直後の要素 */
	margin-top: 0; /* 上余白があると開閉アニメーションがガタつく */
}

/* アコーディオンのアニメーション */
main details::details-content { /* Safari18未満は非対応 https://caniuse.com/?search=details-content */
	transition:
		height 0.4s,
		opacity 0.4s,
		content-visibility 0.4s allow-discrete; /* autoやnoneでアニメーションできるようにするやつ */
	height: 0;
	opacity: 0;
	overflow: clip;
}
main details[open]::details-content {
	opacity: 1;
}
@supports (interpolate-size: allow-keywords) {
  :root {
    interpolate-size: allow-keywords; /* height:0→autoのアニメーションを可能にするための指定 */
  }
  details[open]::details-content {
    height: auto;
  }
}
/* height:0→autoへのアニメーションが対応していない場合は、固定値にアニメーションさせる */
@supports not (interpolate-size: allow-keywords) {
  main details[open]::details-content {
    height: 150px;
    overflow-y: scroll;
  }
}
/* 三角アイコン */
main details summary::after {
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translate(0%, -50%) rotate(0deg);
	display: block;
	content: "";
	width: 32px;
	height: 32px;
	background-color: transparent;
	background-image: url(images/icon/angle-down-solid.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-size: 50%;
	border-radius: 100%;
	/* transition: transform 0.2s; */
	transition: 0.2s;
}
main details summary:hover::after {
	background-color: var(--box);
}
main details[open] summary::after {
	transform: translate(0%, -50%) rotate(180deg); /* 回転させるとSafari14でフォーカスした際に不自然なアウトラインができる */
}

main fieldset{
	padding: 0 16px 16px;
	border: solid 1px var(--border);
	border-radius: 4px;
}
main legend{
	padding: 0 8px;
	font-weight: bold;
}


/* Class
-------------------------------------------------------------- */
.bd,
.border 	{border:solid 1px #dcd9d9;}
.bd_red		{border:solid 1px #ffcccc;}
.bd_blue	{border:solid 1px #b9d4fc;}
.bd_green	{border:solid 1px #bfe1bf;}
.bd_orange	{border:solid 1px #ffeede;}
.bd_purple	{border:solid 1px #ffe8ff;}
.bd_yellow	{border:solid 1px #e3da87;}

.relative	{position:relative!important;}
.absolute	{position:absolute!important;}
.fixed		{position:fixed!important;}

.center		{text-align:center!important;}
.align_l	{text-align:left!important;}
.align_r	{text-align:right!important;}

.bold		{font-weight:600!important;}
.normal		{font-weight:normal!important;}

.inline		{display:inline-block!important;}
.block		{display:block!important;}
.none		{display:none!important;}
.hidden		{overflow:hidden!important;}
.nowrap		{white-space:nowrap!important;}

@media screen and (max-width:1024px) {
	.center_lg	{text-align:center!important;}
	.align_l_lg	{text-align:left!important;}
	.align_r_lg	{text-align:right!important;}
	.none_lg	{display:none!important;}
}
@media screen and (max-width:768px) {
	.center_md	{text-align:center!important;}
	.align_l_md	{text-align:left!important;}
	.align_r_md	{text-align:right!important;}
	.none_md	{display:none!important;}
}
@media screen and (max-width:480px) {
	.center_sm	{text-align:center!important;}
	.align_l_sm	{text-align:left!important;}
	.align_r_sm	{text-align:right!important;}
	.none_sm	{display:none!important;}
}

.font200{font-size:200%!important;}
.font190{font-size:190%!important;}
.font180{font-size:180%!important;}
.font170{font-size:170%!important;}
.font160{font-size:160%!important;}
.font150{font-size:150%!important;}
.font140{font-size:140%!important;}
.font130{font-size:130%!important;}
.font120{font-size:120%!important;}
.font110{font-size:110%!important;}
.font100{font-size:100%!important;}
.font90	{font-size:90%!important;}
.font80	{font-size:80%!important;}
.font70	{font-size:70%!important;}

.color_pri	{color:#517c8d;}
.color_sec	{color:#dcd9d9;}

.black	{color: #000000;}
.white	{color: #ffffff;}
.gray	{color: #646464;}
.grey	{color: #646464;}
.red	{color: #ff6666;}
.pink	{color: #ff6699;}
.blue	{color: #6495ed;}
.green	{color: #779100;}
.orange	{color: #ff8c00;}
.purple	{color: #800080;}
.yellow	{color: #ffff00;}
.brown	{color: #8b4513;}

/* .mg0{margin:0px!important;}.mgt0{margin-top:0px!important;}.mgb0{margin-bottom:0px!important;}
.mg5{margin:5px!important;}.mgt5{margin-top:5px!important;}.mgb5{margin-bottom:5px!important;}
.mg10{margin:10px!important;}.mgt10{margin-top:10px!important;}.mgb10{margin-bottom:10px!important;}
.mg20{margin:20px!important;}.mgt20{margin-top:20px!important;}.mgb20{margin-bottom:20px!important;}
.mg30{margin:30px!important;}.mgt30{margin-top:30px!important;}.mgb30{margin-bottom:30px!important;}
.mg40{margin:40px!important;}.mgt40{margin-top:40px!important;}.mgb40{margin-bottom:40px!important;}
.mg50{margin:50px!important;}.mgt50{margin-top:50px!important;}.mgb50{margin-bottom:50px!important;}
.mg_auto{margin-left:auto;margin-right:auto;}

.pd0{padding:0px!important;}.pdt0{padding-top:0px!important;}.pdb0{padding-bottom:0px!important;}
.pd5{padding:5px!important;}.pdt5{padding-top:5px!important;}.pdb5{padding-bottom:5px!important;}
.pd10{padding:10px!important;}.pdt10{padding-top:10px!important;}.pdb10{padding-bottom:10px!important;}
.pd20{padding:20px!important;}.pdt20{padding-top:20px!important;}.pdb20{padding-bottom:20px!important;}
.pd30{padding:30px!important;}.pdt30{padding-top:30px!important;}.pdb30{padding-bottom:30px!important;}
.pd40{padding:40px!important;}.pdt40{padding-top:40px!important;}.pdb40{padding-bottom:40px!important;}
.pd50{padding:50px!important;}.pdt50{padding-top:50px!important;}.pdb50{padding-bottom:50px!important;} */

.radius,
.radius img {border-radius: 1000px!important;}
.radius5	{border-radius: 5px!important;}
.radius10	{border-radius: 10px!important;}
.radius20	{border-radius: 20px!important;}

.shadow{
	box-shadow: 0 12px 10px -6px rgba(0,0,0,.1);/*浮いた感じの影*/
}

.sticky {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
}

/* テーブル */
.table-hr thead{
	text-align:center;
}
.table-hr tr{
	border-bottom:solid 1px #ddd;
}
.table-hr tr:first-child{
	border-top:solid 1px #ddd;
}
.table-hr th,
.table-hr td{
	background: none;
	vertical-align:middle;
	padding: 0.8em 0.1em;
	border: none;
}
.table-hr th{
	text-align: left;
	font-weight: bold;
	white-space: nowrap;
	width: 200px;
	max-width: 50%;
	padding-right: 20px;

}
@media screen and (max-width:768px) {
	.table-hr,
	.table-hr caption,
	.table-hr thead,
	.table-hr tbody,
	.table-hr tr,
	.table-hr th,
	.table-hr td{
		display: block;
		width: 100%;
		font-size: 1em;
		padding: 0;
	}
	.table-hr tr{
		padding: 1em 0;
	}
}

@media screen and (max-width:768px) {
	.table-rwd,
	.table-rwd thead,
	.table-rwd tbody,
	.table-rwd tr,
	.table-rwd th,
	.table-rwd td{
		display: block;
		margin: 0;
		padding: 0;
		border:none;
		text-align: left;
		/*background: none;*/
	}
	.table-rwd caption{
		display: block;
	}
	.table-rwd thead{
		display: none;
	}
	.table-rwd tbody{
		border:solid 1px #dcd9d9;
	}
	.table-rwd tbody tr{
		padding: 3%;
	}
	.table-rwd tbody tr:not(:last-child){
		border-bottom: dashed 1px #dcd9d9;
	}
	.table-rwd tbody tr th{
		font-weight: bold;
		padding: 10px 10px;
	}
	.table-rwd tbody tr td{
		padding: 10px 10px 0px;
	}
	.table-rwd tbody tr td:last-child{
		padding-bottom: 10px;
	}
	.table-rwd tbody tr td:before{
		content: attr(data-th);
		display: inline-block;
		display: block;
		font-weight: bold;
	}
}

/* iframe 埋め込み */
.youtube { /*レスポンシブ化*/
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.twitter{
	margin: 0px auto;
	width: 500px;
	max-width: 100%;
	border:solid 1px #e3e3e3;
}
.facebook{
	margin: 0px auto;
}




/* 区切り用の短いライン */
hr.hr:after {
    content: '';
    display: block;
    width: 80px;
    height: 6px;
    margin: 4em auto;
    background: #517c8d;
    border-radius: 10px;
}

/* ループ背景
-------------------------------------------------------------- */
.loop {
	background:url(images/loop.png);
	background-size: contain;
	width: 100%;
	height: 0;
	padding-top:calc( 100/2000*100% );
	-moz-animation: loop 50s linear infinite;
	animation: loop 50s linear infinite;
}
@keyframes loop {
	0% {background-position: 2000px 0;}
	25% {background-position: 1500px 0;}
	50% {background-position: 1000px 0;}
	75% {background-position: 500px 0;}
	100% {background-position: 0 0;}
}
@-moz-keyframes loop {
	0% {background-position: 2000px 0;}
	25% {background-position: 1500px 0;}
	50% {background-position: 1000px 0;}
	75% {background-position: 500px 0;}
	100% {background-position: 0 0;}
}

/* 記事修正リンク（ログイン時のみ）
-------------------------------------------------------------- */
.post-edit-link {
	font-size: 0.7em;
	position: absolute;
	top: 5px;
	right: 5px;
	border:solid 1px #ddd;
	color: #aaa;
	padding: 2px 5px!important;
	opacity: 0.5;
	z-index: 2;
}

/*　ホバー時のドロップシャドウ
-------------------------------------------------------------- */
.hover-shadow{
	box-shadow: 0 5px 10px 0 rgba(0,0,0,.05);
	transition: .5s;
}
.hover-shadow:hover{
	box-shadow: 0 5px 15px 0 rgba(0,0,0,.25);
}


/* Container
-------------------------------------------------------------- */

#page{
	width: 100%;
	padding-top: 80px;
	position: relative;
	background-size:cover;
	background-attachment:fixed;
	background-position:center bottom;
}
.home #page{
	padding-top: 80px;
	/*margin-top: calc(50vh - 100px);*/
}
main{
	/*flex: 0 1 auto;*/
	/*width: 720px;*/
	margin: 0 auto;
	/* padding: 0em 0 4em; */
	position: relative;
	/*border:solid 1px green;*/
}
/* #content{
	margin-bottom: 4em;
} */
.page main{
	padding-bottom: 64px;
}
.home main{
	width: auto;
	margin-top: 0;
}
aside{
	flex: 0 1 auto;
	width: 30%;
}
/* .box{
	width: 720px;
	margin-left: auto;
	margin-right: auto;
}
.box-l{
	width: 1040px;
	width: 960px;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width:1024px) {
	.box,
	.box-l{
		width: calc(100% - 40px);
		margin-left: auto;
		margin-right: auto;
	}
} */

header{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	background: none;
	box-shadow: none;
	transition: .5s;
	background-color:rgba(0,0,0,.3);
	background-color:rgba(81,124,121,.8);
}
header.scrolled{
	/*background-color: #517c8d;*//*Main*/
	/*background-color: #fff;*/
	/*background-color:rgba(255,255,255,.95);*/
	/*box-shadow: 0 12px 10px -6px rgba(0,0,0,.05);*/
}

#header-wrap{
	display: flex;
	align-items: center;
	height: 80px;
}
#header-wrap > div{
	flex: 1 1 100%; /* 伸びる＆縮む = 均等に分割される */
	/*border:solid 1px green;*/
}
#header-wrap > div#header-title{
	flex: 0 1 10%; /* 伸びる＆縮む */
	flex: 0 1 auto; /* 伸びる＆縮む */
	flex: 1 1 auto; /* 伸びる＆縮む */
	font-family: Georgia, serif;
	font-size: 1.8em;
	white-space: nowrap;
}
#header-wrap > div#header-title a{
	display: block;
	line-height: 1;
	color: #fff;
}
#header-wrap > div#header-title img,
#header-wrap > div#header-title svg/*,
header.scrolled #header-wrap > div#header-title svg*/{
	display: block;
	width: 300px;
	width: 280px;
	width: 240px;
	min-height: 20px; /* Must for text-align */
	fill: #517c8d;
	/*border:solid 1px green;*/
}
#header-wrap > div#header-title svg{
	fill: #ffffff;
}
#header-wrap > div#header-description{
	/*padding: 0 10px;*/
	text-align: center;
	font-size: 0.8em;
	/*font-weight: bold;*/
	color: #fff;
	color:rgba(255,255,255,.8);
}
/*header.scrolled #header-wrap > div#header-title a,
header.scrolled #header-wrap > div#header-description{
	color: #517c8d;
	color:rgba(0,0,0,.5);
}*/
#header-wrap > div#header-description span{
	display: block;
}
#header-wrap > div#header-right{
	flex: 1 1 90%;
	flex: 0 1 auto;
	color:#517c8d;
}
@media screen and (max-width:768px) {
	header{
		/*padding-bottom: 1em;*/
	}
	header #header-wrap{
		/*display: block;*/
		/*height: auto;*/
	}
	header #header-wrap > div#header-title img,
	header #header-wrap > div#header-title svg{
		/*margin: 0 auto;*/
		/*padding: 3em 0 2em;*/
	}
	header #header-wrap > div#header-title{
		/*margin: 0px;*/
	}
	header #header-wrap > div#header-title img{
		/*margin: 20px auto;*/
	}
	header #header-wrap > div#header-description{
		display: none;
	}
	header #header-wrap > div#header-right{
		margin: 10px auto;
		font-size: 0.8em;
		/*display: none;*/
	}
}

#sidebar aside div{
	margin-bottom: 20px;
}
#sidebar aside img{
	display: block;
	width: 100%;
	/*padding: 8px;*/
	/*border:solid 1px #dcd9d9;*/
}
#sidebar aside a:hover img {
	transition: .5s;
	opacity: 0.5;
}

#site-navigation {
	/*background-color: #efefef;*//*Accent*/
	/*background-color: #ffffff;*/
	/*border-top:solid 1px rgba(0,0,0,.05);*/
	/*border-bottom:solid 1px rgba(0,0,0,.05);*/
	/*text-align: right;*/
	/* font-size: 0.9em; */
}
#site-navigation .menu-items > ul{
	/*display: flex;*/ /* IE10以上 */
	flex-wrap: nowrap; /* 子要素を折り返えさない */
	/*border-left:solid 1px rgba(0,0,0,.05);*/
	/*border:solid 1px red;*/
}
#site-navigation .menu-items > ul li{
	display: inline-block;
	/*flex: 1 1 0%;*/
	/*text-align: center;*/
	/*border-right:solid 1px rgba(0,0,0,.05);*/
}
#site-navigation .menu-items > ul li a{
	display: block;
	padding: 6px;
	font-family: Avenir,"Segoe UI",sans-serif;
	font-weight: 500;
	color: #fff;
	opacity: 0.7;
}
#site-navigation .menu-items > ul li a:hover{
	opacity: 1.0;
}
header.scrolled #site-navigation .menu-items > ul li a{ /*スクロール時のスタイル*/
	/*color: #517c8d;*/
}
#site-navigation .menu-items > ul li a:hover,
#site-navigation .menu-items > ul li.current-menu-item a{
	opacity: 0.9;
	text-decoration: underline;
}
#site-navigation .menu-items > ul li.current-menu-item a:hover{
	cursor:default;
}
#site-navigation input,
#site-navigation label{
	display: none;
}
/*サブメニュー追加*/
#site-navigation .menu-items > ul li.menu-item-has-children{
	position: relative;
}
#site-navigation .menu-items > ul li.menu-item-has-children > a:hover{ /*サブメニューを持つ項目のホバーエフェクトを無効化*/
	/*cursor:default;*/
	/*text-decoration: none;*/
}
#site-navigation .menu-items > ul li ul.sub-menu{
	position: absolute;
	top: 30px;
	z-index: 9;
	width: 200px;
	height: 0;
	overflow: hidden;
	background-color:rgba(81,124,121,.1);
}
#site-navigation .menu-items > ul li:hover ul.sub-menu{
	display: block;
	height: auto;
	overflow: auto;
	background-color:rgba(81,124,121,.9);
	transition: .5s;
}
#site-navigation .menu-items > ul li ul.sub-menu a{
	padding: 10px 20px;
	text-align: left;
}
@media screen and (max-width:1024px) {
	#site-navigation {
		padding: 0;
		border-top: none;
		font-size: 1.0em;
	}
	/* ハンバーガアイコン */
	#site-navigation .menu-trigger,
	#site-navigation .menu-trigger span {
		transition: .5s;
		box-sizing: border-box;
	}
	#site-navigation .menu-trigger {
		display: block;
		position: relative;
		width: 18px;
		height: 16px;
		margin: 0 0 0 auto; /* 右寄せ */
	}
	#site-navigation .menu-trigger span { /* バー */
		display: inline-block;
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #fff;
		border-radius: 4px;
	}
	.scrolled #site-navigation .menu-trigger span { /* バー */
		/*background-color: #444444;*/
		/*background-color: #fff;*/
	}
	#site-navigation .menu-trigger span:nth-of-type(1) {top: 0;}
	#site-navigation .menu-trigger span:nth-of-type(2) {top: calc(16px / 2 - 1px);}
	#site-navigation .menu-trigger span:nth-of-type(3) {top: calc(16px - 2px);}
	#site-navigation .menu-trigger.active span:nth-of-type(1) {transform: translateY(7px) rotate(-45deg);}
	#site-navigation .menu-trigger.active span:nth-of-type(2) {opacity: 0;}
	#site-navigation .menu-trigger.active span:nth-of-type(3) {transform: translateY(-7px) rotate(45deg);}

	#site-navigation .menu-trigger + .menu-items:before{ /* テキスト */
		/*
		content: 'MENU';
		display: block;
		width: auto;
		margin: 5px auto;
		text-align: center;
		font-size: 11px;
		font-weight: bold;
		transition: .5s;
		*/
	}
	#site-navigation .menu-trigger.active + .menu-items:before{ /* テキスト */
		/*
		content: 'CLOSE';
    	animation: fadeIn 2s ease 0s 1 normal;
    	-webkit-animation: fadeIn 2s ease 0s 1 normal;
    	*/
	}
	.home #site-navigation .menu-trigger + .menu-items:before{
		color: #fff;
	}
	#site-navigation .menu-items{/* メニュー・クローズ時 */
		position: absolute;
		top: 80px; /* = header height */
		right: 0;
		display: block;
		width: 100%;
	    height: 0px;
		padding: 0;
		overflow: hidden;
		opacity: 0;
	    transition: .5s;
	}
	#site-navigation .menu-trigger.active + .menu-items {/* メニュー・アクティブ時 */
		height: calc(100vh - 80px - 30px); /* 100% - header - padding */
	    overflow: scroll;
		opacity: 1;
	    transition: .5s;
	    background-color:rgba(0,0,0,.9);
	    background-color:rgba(81,124,121,.9);
	}
	.scrolled #site-navigation .menu-trigger.active + .menu-items > ul {/* メニュー・アクティブ時・スクロール時 */
	    /*background-color:rgba(255,255,255,.9);*/
	}
	#site-navigation .menu-items > ul{
	    border-bottom:solid 1px rgba(255,255,255,.9);
	}
	#site-navigation .menu-items > ul li ul.sub-menu{
		position: relative;
		top: 0;
		width: auto;
		height: auto;
		overflow: auto;
		background: none;
		border: none;
		margin-left: 1em;
	}
	#site-navigation .menu-items > ul li,
	#site-navigation .menu-items > ul li ul.sub-menu li{
		display: block; /*reset*/
		border: none; /*reset*/
		border-top:solid 1px rgba(255,255,255,.8);
	}
	#site-navigation .menu-items > ul li ul.sub-menu li{
		border-top:dotted 1px rgba(255,255,255,.3);
	}
	#site-navigation .menu-items > ul li a,
	#site-navigation .menu-items > ul li ul.sub-menu li a{
		display: block;
		opacity: 1; /*reset*/
		padding: 8px;
	}
	#site-navigation .menu-items > ul li.menu-item-has-children > a:hover{ /* サブメニューを持つ項目のリンクを無効化 */
		/*pointer-events: none;*/
	}
}


footer {
	padding: 64px 0;
	/*background-color: #ffffff;*/
	background-color: #517c8d; /*maincolor*/
	background-color:rgba(81,124,121,.8);
	font-size: 0.9em;

}
footer .flex div{
	flex: 1 0 auto; /* flex-grow flex-shrink flex-basis */
}
footer,
footer a,
footer h2{
	color: #ffffff;
}
footer a:hover{
	color: #ffffff;
	text-decoration: underline;
}
footer h2{
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	font-size: 1.0em;
	margin: 2em 0 0.5em;
}
footer nav ul li a:hover{
	/* opacity: 0.5; */
}
footer #footer-logo img{
	max-width: 200px;
	display: inline-block;
}
footer #searchform{
	display: inline-block;
	max-width: 320px;
	margin: 0.8em 0;
}
footer #copyright{
	margin-top: 1em;
	font-size: 0.8em;
	opacity: 0.8;
	text-align: center;
}

@media screen and (max-width:768px) {
	footer {
		font-size: 1em;
	}
	footer nav ul li a{
		display: inline-block;
		margin: 5px 0;
		/*border:solid 1px red;*/
		/*line-height: 2.4;*/
	}
	footer #footer-logo{
		margin: 3em 0 0;
	}
	footer #copyright{
		margin-top: 2em;
		text-align: center;
	}

}

#footer-contact{
	background:url("/wp-content/uploads/2018/12/DSC_0478-1024x678.jpg") no-repeat center center;
	background-size:cover;
}
#footer-contact .blackscreen{
	padding: 7em 0 8em;
	background-color:rgba(0,0,0,0.2);
	color: #fff;
	text-align:center;
}

.mailpoet_form{
	text-align: center;
}
.mailpoet_form .mailpoet_text{
	margin: 0 auto 1em;
	padding: 8px 16px;
	border:solid 1px #ddd;
	border-radius: 2px;
}
.mailpoet_form .mailpoet_paragraph{
	margin-bottom: 1em;
	font-size: 0.9em;
}
.mailpoet_form .mailpoet_submit{
	padding: 8px 16px;
	border:solid 1px #ddd;
}
.mailpoet_form .parsley-custom-error-message,
.mailpoet_form .parsley-required{
	color: #fff;
}

/* Common Component
-------------------------------------------------------------- */

.heading1{
	margin: 0;
	padding-bottom: 1em;
	text-align: center;
	border-bottom: solid 1px #517c8d;
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	font-size: 1.8em;
	font-feature-settings : "palt";/*自動カーニング*/
}
h2.heading1{
	color: var(--main);
}

/* #totop a{
	position: fixed;
	bottom: 10px;
	right: 10px;
	display: block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	font-size: 30px;
	border-radius: 100px;
	color: #517c8d;
	background-color:#fff;
	background-color:rgba(255,255,255,.5);
}
#totop a:hover{
	opacity: 0.5;
}
@media screen and (max-width:480px) {
	#totop a{
		bottom: 5px;
		right: 5px;
		width: 40px;
		height: 40px;
		line-height: 40px;
		font-size: 15px;
	}
} */
/* #breadcrumbs{
	margin-bottom: 4em;
	padding-top: 2em;
	font-size: 0.85em;
	opacity: 0.7;
}
#breadcrumbs div{
	display:inline;
} */

/* パンくずリスト
-------------------------------------------------------------- */
.breadcrumbs{
	padding: 1em;
	font-size: 0.9em;
	position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
	opacity: .5;
}
.breadcrumbs,
.breadcrumbs a{
	color: #fff;
}

#pagenation{
    margin-top: 4em;
    margin-bottom: 4em;
    font-size: 0.8em;
    font-weight: 600;
}
#pagenation .page-numbers{
    display: inline-block;
    margin: 0 8px 8px 0;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background-color:#fff;
    border:solid 1px #517c8d;
}
#pagenation .prev,
#pagenation .next{
    width: 64px;
    height: 40px;
}
#pagenation a{
    color:#517c8d;
}
#pagenation a:hover,
#pagenation .current {
	text-decoration: none;
    background-color: #517c8d;
    color:#fff;
}

/* 検索フォーム */
#searchform{
	position: relative;
	display: block;
	width: 100%;
	height: 50px;
	background-color:rgba(255,255,255,0.6);
	background-color:#fff;
	border:solid 1px #dcd9d9;
}
#searchform input#searchinput,
#searchform input#searchsubmit{
	display: block;
	margin: 0px;
	padding: 0px;
	font-size: 13px;
	border:none;
	background:#fff;
}
#searchform input#searchinput {
	width: 100%;
	height: 50px;
	padding: 0 4%;
}
#searchform input#searchsubmit {
	width: auto;
	height: 42px;
	padding: 0 16px;
	position: absolute;
	top: 4px;
	right: 4px;
	border-radius: 4px;
	/* font-family: "Font Awesome 5 Free";
	font-style: normal;
	font-variant: normal;
	font-weight: bold;
	text-rendering: auto; */
	background: #eee;/*for iOS*/
	/*
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	line-height: 1;
	-webkit-appearance:none;*/
}
#searchform input#searchsubmit:hover {
	background-color:#dedede;
}
footer #searchform{
	border: none;
	box-shadow: 0px 2px 5px rgba(0,0,0,0.2);
}

#toc_container {
	margin-bottom: 2em;
	padding: 2em 1em;
	background-color:rgba(0,0,0,.02);
	border:solid 1px #dddddd;
	font-size: 0.95em;
	/* 固定
	position: fixed;
	bottom: 10px;
	left: 0px;
	margin: 0;
	padding: 1em;
	background: none;
	border: none;
	font-size: 0.9em;*/
}
#toc_container .toc_title{
	text-align: center;
	font-weight: bold;
	margin-bottom: 1em;
}
#toc_container ul{
	margin: 0;
}
#toc_container ul li{
	list-style: none;
}
#toc_container ul li a{
	text-decoration: none;
}
#toc_container ul li a:hover{
	text-decoration: underline;
}
@media screen and (max-width:480px) {
	#toc_container {
		padding: 1em 0;
	}
}

/*横並び*/
#toc_container{
	margin: 50px 0 0;
	padding: 10px 0;
	border-left: none;
	border-right: none;
	background: none;
}
#toc_container ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	justify-content: space-between;
	margin: 0;
}
#toc_container ul li{
	flex: 1 1 auto;
	margin: 5px;
	padding: 5px 16px;
	font-size: 0.9em;
	background-color:rgba(0,0,0,.02);
	border:solid 1px #dddddd;
	border-radius: 20px;
	text-align: center;
}
/* Single / Page
-------------------------------------------------------------- */

.post-header{ /*background-imageはstyleで指定*/
	margin: 0 0 4em;
	background-size:cover;
	/*background-attachment:fixed;*/
	background-position:center center;
	color: #fff;
	text-align: center;
}
.post-header .filter{
	padding: 6em 0;
	background-color:rgba(0,0,0,.5);
}
.post-header .filter .heading1{
	margin: 0;
	padding: 0;
	border: none;
}
@media screen and (max-width:768px) {
	.post-header .filter{
		padding: 6em 0;
	}
}
.post-footer{
	/*margin: 4em 0 0;*/
	padding: 2em 0;
	border-top:solid 1px #dcd9d9;
	/*border-bottom:solid 1px #dcd9d9;*/
	/*font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;*/
	font-size: 0.9em;
	/*text-align: right;*/
}
/*
.post-footer .date:before,
.post-footer .cat:before,
.tag:before{
	font-family: "Font Awesome 5 Free";
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	font-weight: bold;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	width: 30px;
	text-align: center;
}
.post-footer .date:before{content: "\f017";}
.post-footer .cat:before{content: "\f0e8";}
.tag:before{content: "\f02b";}
*/
.tag-list ul,
.tag-list li{
	display: inline-block;
}
.tag-list li:after{
	content: "、";
}
.tag-list li:last-child:after{
	display: none;
}

/* 前後の記事一覧 */
.prev-next-title {
	margin-top: 8em;
}
.prev-next{
	margin-top: 0em;
	display: flex; /* IE10以上 */
}
.prev-next > div{
	flex: 1 1 50%;
	background-position: center center;
	background-size: cover;
}
.prev-next > div.prev{
	filter: grayscale(100%);
}
.prev-next a{
	display: flex; /* IE10以上 */
	align-items: center;
	justify-content: center;
	flex-direction: column;/* ボックスを縦並びに配置 */
	height: 300px;
	text-align: center;
	color: white;
	background-color:rgba(0,0,0,.5);
}
.prev-next a:hover{
	filter: none;
	background-color:rgba(0,0,0,.8);
}
@media screen and (max-width:768px) {
	.prev-next{
		display: block;
	}
	.prev-next a{
		display: block;
		height: auto;
		padding: 2em 1em
	}
}


/* Archive
-------------------------------------------------------------- */

.archives-text{ /*テキストのみのリスト*/
	border-top:solid 1px #dcd9d9;
	border-bottom:solid 1px #dcd9d9;
}
.archives-text + .archives-text{
	border-top:none;
}
.archives-text a{
	display: block;
	padding: 0.8em 0.4em;
}
.archives-text a:hover{
	opacity: 0.5;
	/*background-color: #dcd9d9;*//*Accent*/
}


/* index（top）
-------------------------------------------------------------- */

#slider .swiper-slide{
	display: block;
	width: 100%;
	/*height: 480px;*/
	/*height: 50%;*/
	height: 0;
	height: calc(100vh - 0px);

	/*padding-top: 40%;*/
	height: calc(100vh - 0px);
	/*font-size: 10px;*/
	/*color: rgba(0,0,0,.1);*/
	/*text-align: right;*/
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	background-position:center bottom;
    /*background-attachment: fixed;*/
}
#slider .text{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	z-index: 9;
	background-color:rgba(0,0,0,.2);
}
#slider .text{
	text-align: center;
	color: #fff;
	text-shadow: 2px 2px 5px rgba(0,0,0,.2);
	/*border:solid 1px red;*/
}
#slider .text h1{
	font-feature-settings : "palt";/*自動カーニング*/
	/*font-family: 'Avenir-Light','Century Gothic',CenturyGothic,'Noto Sans JP',"メイリオ",Meiryo,Arial,MS UI Gothic,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;*/
	font-weight: bold;
	font-size: 2.2em;
	color: #fff;
	text-shadow: 2px 2px 5px rgba(0,0,0,.2);
}
@media screen and (max-width:980px) {
	#slider .text h1{
		font-size: 1.8em;
		line-height: 1.4;
	}
	#slider .text h1 span:after{
		content:'';
		display: block;
	}
}
@media screen and (max-width:640px) {
	.home .text h1{
		font-size: 1.4em;
	}
}

#thumbs .swiper-slide{
	flex-basis:160px;
	cursor:pointer;
	height: 80px;
	font-size: 10px;
	color: rgba(0,0,0,.1);
	text-align: right;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	margin-top: 10px;
	opacity: 0.5;
}
#thumbs .swiper-slide-active{
	opacity: 1;
}

/* トップページ
-------------------------------------------------------------- */
.home main section{
	margin: 0;
	padding: 4em 0;
}
.home main section h2{
	margin: 0;
}
/* .home #our-mission{
} */
.home #featured{
	background-color:rgba(0,0,0,.03);
}
/* .home #tours{
} */
.home #news-report{
	background-color:rgba(0,0,0,.03);
}
/* .home #review{
} */
.home #aboutus{
	background-color:rgba(0,0,0,.03);
}
.home #our-msn-text-main{
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
}
.home #our-msn-text-sub{
	text-align: center;
}
@media screen and (max-width:480px) {
	.home #our-msn-text-main{
		text-align: left;
		font-size: 1.1rem;
		line-height: 1.5;
	}
	.home #our-msn-text-sub{
		text-align: left;
		/* display: none; */
	}
}

.overlap .wrap{
	display: flex;
	align-items: center;
	margin-bottom: 4em;
}
.overlap .wrap:nth-child(even){
	flex-direction: row-reverse;
}
.overlap .img{
	width: calc(60% + 0px);
	font-size:0; /*imgまわりの余白を回避*/
	z-index: -1;
}
.overlap .text{
	width: calc(40% + 50px);
	margin: 0 -100px 0 0; /*padding*2*/
	padding: 50px;
	background-color:rgba(255,255,255,.95);
	box-shadow: 0 12px 10px -6px rgba(0,0,0,.1);
	/*border: solid 1px rgba(0,0,0,.05);*/
}
.overlap .wrap:nth-child(even) .text{
	margin: 0 0 0 -100px;
	padding: 50px;
}
/* .overlap .text h2{
	margin-bottom: 0.8em;
	font-size: 2.2em;
	font-weight: bold;
	line-height: 1.4;
	color: #333;
} */
@media screen and (max-width:980px) {
	.overlap .wrap,
	.overlap .wrap:nth-child(even){
		flex-direction: column-reverse;
	}
	.overlap img{
		display: block;
		width: auto;
	}
	.overlap .text,
	.overlap .wrap:nth-child(even) .text{
		position: relative;
		width: calc(96% - 80px);
		padding: 16px 32px 32px;
		margin: -50px auto 0;
	}
	.overlap .img{
		width: 100%;
		margin: 0 auto;
	}
}


/* Mailform
-------------------------------------------------------------- */

#mailform{
	position: relative;
}
#mailform form{
	display: block;
}
#mailform input[type="text"],
#mailform input[type="email"],
#mailform input[type="tel"],
#mailform input[type="number"],
#mailform textarea{
	display: block;
	width: 300px;
	max-width: 90%;
	padding: 8px;
	border-radius: 4px;
	background: #fafafa;
	border: solid 1px #dcd9d9;
	-webkit-appearance:none;/*内側の影を消す*/
}
#mailform input[type="text"]{
	/*max-width:300px; サイト内検索のレイアウトが崩れる*/
}
#mailform input[type="radio"]{
	margin-right: 0.4em;
}
#mailform input[type="file"]{
	font-size: 0.85em;
}
#mailform input[type="submit"]{
	padding: 8px 16px;
	background-color:rgba(0,0,0,.1);
	border: solid 1px #dcd9d9;
}
#mailform input[type="submit"]:hover{
	cursor: pointer;
	background-color:rgba(0,0,0,.3);
}
#mailform textarea{
	height: 80px;
	overflow:auto;
}
#mailform button{
	line-height: normal;
	-webkit-appearance:none;
}
#mailform button[disabled]{
	opacity: 0.1;
	cursor:default;
	visibility: hidden;
}
#mailform select{
	display: block;
	/* width: 90%; 郵便番号入力欄がバグる */
	max-width: 320px;
	padding: 8px 16px;
	border-radius: 4px;
	border: none;
	border: solid 1px var(--border);
	border: solid 1px var(--text);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	text-indent: 0.01px;
	text-overflow: "";
	/* vertical-align: middle; */
	background: #fafafa;
	width: initial; /* 内容に合わせる */
	max-width: 100%;
	cursor: pointer;
	background-image: url(images/icon/sort-down-solid.svg);
	background-size: 12px;
	background-repeat: no-repeat;
	background-position: right 20px center;
	padding-right: 48px;
}
#mailform input[type="text"]:hover,
#mailform input[type="email"]:hover,
#mailform input[type="tel"]:hover,
#mailform textarea:hover{
	transition: .5s;
	background: #eee;
}
#mailform .must	{
	color:#ff6666;
	padding-left: 5px;
	font-size:0.8em;
	font-weight:normal;
}

#support ul{
	display: flex;
	list-style: none;
	align-items: center;
	justify-content: space-between;
	justify-content: center;
}
#support ul li{
	margin: 0 10px;
}
#support ul li img{
	max-height: 30px;
	max-height: 60px;
}



/*Contact Form 7*/
.wpcf7 p {
    margin: 1em 0 0;
}
.wpcf7 .wpcf7-radio .wpcf7-list-item{ /*ラジオボタン*/
	display: block;
	margin: 0; /*左マージン削除*/
}
.wpcf7 .wpcf7-checkbox .wpcf7-list-item{ /*チェックボックス*/
	/*display: block;*/
	margin: 0; /*左マージン削除*/
}
.wpcf7 .wpcf7-acceptance .wpcf7-list-item{ /*承諾確認*/
	margin: 0; /*左マージン削除*/
}
.wpcf7 .wpcf7-not-valid-tip{ /*必須項目未入力時のエラーメッセージ*/
	font-size: 0.9em;
	margin-top: 5px;
}



.tour-info-table th{
	text-align: left;
	font-weight: bold;
	/*background-color: #517c8d;*/
	/*color: #fff;*/
}
.tour-info-table th.price ~ td div:not(:first-child){
	margin-top: 10px;
}
.price-field div:not(:first-child){ /* ブッキングフォームのPrice */
	margin-top: 10px;
}


/* .destination:before,
.duration:before,
.dates:before,
.time:before,
.price:before,
.supplement:before,
.rental:before {
	font-family: "Font Awesome 5 Free";
	font-style: normal;
	font-variant: normal;
	font-weight: bold;
	text-rendering: auto;
	padding-right: 15px;
	width: 0.8em;
	font-size: 1.2em;
	display: inline-block;
	text-align: center;
}
.destination:before {content: "\f5a0";}
.duration:before {content: "\f017";font-weight:900;}
.dates:before {content: "\f783";}
.time:before {content: "\f017";font-weight:400;}
.price:before {content: "\f155";}
.supplement:before {content: "\f236";}
.rental:before {content: "\f206";} */


/*
h3.itinerary{
	font-size: 1em;
	margin-top: 0;
	margin-bottom: 0;
}
h3.itinerary + p{
	margin-bottom: 0.8em;
}
*/



.underline:after {
    content: '';
    display: block;
    width: 100px;
    height: 6px;
    margin: 2em auto;
    border-radius: 10px;
    opacity: 0.9;
    background: #517c8d;
}




.about-wrap .flex > div{
	font-size: 1.1em;
}
.about-wrap .flex > div:first-child{
	padding: 0 5%;
}
.about-wrap .flex > div img{
	display: block;
	margin-bottom: 0;
}
.about-wrap .flex > div b{
	font-weight: bold;
	color: #517c8d;
	color: #111;
}
@media screen and (max-width: 768px) {
	.about-wrap .flex > div:first-child{
		padding: 0 40px 40px;
	}

}

.kiyaku {
    font-size: 0.85em;
    height: 200px;
    padding: 2em;
    margin: 0 0 2em;
    overflow-y: scroll;
    border: solid 1px #dddddd;
}

.team-wrap {
	display: flex;
	padding: 3em;
    margin-bottom: 3em;
    background-color:rgba(0,0,0,.05);
}
.team-wrap .text .name{
    margin-bottom: 0.5em;
	font-size: 2.0em;
	font-family: Georgia;
}
.team-wrap .img{
	flex: 1 0 320px;
	text-align: center;
	margin-left: 2em;
}
.team-wrap .img img{
	display: block;
	max-width: 320px;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.team-wrap {
		display: block;
		padding: 2em;
	}
	.team-wrap .img{
		margin-left: 0em;
	}
}



.home #review iframe,
.post-type-archive-review main iframe,
.page-why-choose-us main iframe{
	width: 100%;
}


/* reCAPTCHA */
.grecaptcha-badge { visibility: hidden; }


/* ヒーロイメージ
-------------------------------------------------------------- */
.hero {
	position: relative;
	width: 100vw;
	height: calc(100vh - 200px);
	display: flex;
	justify-content: center;
	align-items: center;
}
.single .hero {
	height: calc(70vh);
}
.hero,
.hero a {
	color: #fff;
	text-shadow: 2px 2px 5px rgba(0,0,0,.6);
	/* word-break: normal; */
}
.hero.fit-content {
	height: auto;
	padding: 128px 0;
}
.hero img{
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	object-position: center;
}
.hero.blackscreen::before { /* for filter */
	content: "";
	display: block;
	position: absolute;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.5);
}
.home .hero h2{
	font-size: 2.4rem;
}
.home .hero .text{
	font-size: 1.3rem;
}

@media screen and (max-width: 559px) {
	.hero {
		height: 100vw; /* 正方形 */
	}
	.home .hero h2{
		font-size: 2rem;
		margin-top: 64px;
	}
	.home .hero .text{
		font-size: 1rem;
		line-height: 1.5;
		margin-top: 8px;
	}
}

/* fixed-icon（固定アイコン）
-------------------------------------------------------------- */
#fixed-icon-wrap{
	position: fixed;
	bottom: 16px;
	right: 16px;
	display: flex;
	flex-direction: column; /*子要素の配置方向：上から下*/
	gap: 8px;
}
@media screen and (max-width: 559px) {
	#fixed-icon-wrap{
		bottom: 8px;
		right: 8px;
	}
}
.fixed-icon{
	position: relative;
	z-index: 1;
}
.fixed-icon a,
.fixed-icon button{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	border-radius: 50px;
	background-color: var(--main);
	border: 0;
	box-shadow: var(--shadow);
	transition: .2s;
}
.fixed-icon a:hover,
.fixed-icon button:hover{
	background-color: var(--main);
	box-shadow: var(--shadow2);
}
@media (any-hover: hover) { /* for PC */
	.fixed-icon::before { /* ホバーテキスト */
		position: absolute;
		top: 70%;
		right: 60px;
		transform: translateY(-50%);
		content: attr(title);
		white-space: nowrap;
		font-size: .7rem;
		font-weight: bold;
		color: var(--text);
		color: var(--subtext);
		opacity: 0;
		transition: .2s;
		z-index: -1;
		pointer-events: none;
	}
	.fixed-icon:hover::before {
		opacity: 1;
		right: 60px;
		top: 50%;
	}
}

/* Totop（トップに戻る）
-------------------------------------------------------------- */
#totop{
	display: none;
}
#totop a:before { /* フォントアイコン */
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	transition: 0.2s;
	background-color: var(--base);
	background-repeat: no-repeat;
	-webkit-mask-image: url(images/icon/angle-down-solid.svg);
	mask-image: url(images/icon/angle-down-solid.svg);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	transform: translate(0%, 0%) rotate(180deg);
}

/* ToCTA（CTAボタンへ移動）
-------------------------------------------------------------- */
#tocta a:before { /* フォントアイコン */
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	transition: 0.2s;
	background-color: var(--base);
	background-repeat: no-repeat;
	/* -webkit-mask-image: url(images/icon/envelope-regular.svg);
	mask-image: url(images/icon/envelope-regular.svg); */
	-webkit-mask-image: url(images/icon/calendar-check-regular.svg);
	mask-image: url(images/icon/calendar-check-regular.svg);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}


fieldset{
	margin-top: 32px;
	padding: 0 16px 16px;
	border: solid 1px #ccc;
	border-radius: 4px;
}
legend{
	padding: 0 8px;
	font-weight: bold;
}

/* レビューのアーカイブページ */
.review-archive {
	position: relative;
	aspect-ratio: 1.618/1;
	background-color: var(--main);
}
.review-archive-img {
	display: block;
	object-fit: cover;
	aspect-ratio: 1.618/1;
}
.review-archive-icon {
	display: block;
	object-fit: contain;
	aspect-ratio: 1.618/1;
  position: absolute;
  place-self: center;
  inset: 0;
}
