@charset 'utf-8';
/* adiva-template v4.1 | (c) adiva | adiva.jp | MIT licensed */

/*	Color
/* -------------------------------------------------------------------------------- */
:root {
  --color-theme1: #a6313a;
  --color-theme2: #8c5300;
  --color-theme3: #22740e;
  --color-theme4: #007784;
  --color-theme5: #295cb6;
  --color-theme6: #863d95;

  --bgColor: var(--color-white);
  --fgColor: var(--color-black90);

  --headerColor: var(--color-black60);
  --headerFgColor: var(--color-white90);
/*  --footerColor: var(--color-black70);*/
  --footerColor: var(--color-666);
  --contentsColor: var(--color-white60);
/*  --navColor: var(--color-white10);*/
  --navColor: var(--color-black10);
/*  --navColor: transparent;*/
}

/*	Font Color
	------------------ */
/*.fc-alert {
  color: var(--color-alert);
}

/*	Bg Color
	------------------ */
.bg-contents {
	background:var(--contentsColor);
}

/* Scroll Bar
	------------------	*/
::-webkit-scrollbar {
	width: 12px;
	height: 12px;
}
 
::-webkit-scrollbar-track {
/*	background: rgba(0,0,0,0.9);*/
	background: #111;
/*	border-radius:6px;*/
}
 
::-webkit-scrollbar-thumb {
	background: #444;
	border-radius:6px;
}



/*	Framework
/* -------------------------------------------------------------------------------- */
:root {
	--baseFontSize: 70%;
	--headerHeight: 160px;
/*	--maxContentsWidth: 1620px;*/
	--maxContentsWidth: 1368px;

/*	--wrapperPadding: 6.76%;*/
	--wrapperPadding: 0;
	--innerPaddingWidth: 60px;
	--innerPaddingHeight: 60px;

	--boxPaddingWidth: calc(var(--gridSize) * 5);
}
/*@media only screen and (max-width: 1620px) {
	:root {
		--innerPaddingWidth: 3.7vw;
		--innerPaddingHeight: 3.7vw;
	}
}*/
@media only screen and (max-width: 1368px) {
	:root {
		--baseFontSize: 62.5%;
		--headerHeight: 140px;
	}
}
@media only screen and (max-width: 960px) {
	:root {
		--baseFontSize: 62.5%;
		--headerHeight: 80px;

/*		--wrapperPadding: 4%;*/
		--wrapperPadding: 0;
		--innerPaddingWidth: 4.35vw;
		--innerPaddingHeight: 4.35vw;
	}
}
@media only screen and (max-width: 430px) {
	:root {
		--baseFontSize: 62.5%;
		--headerHeight: 72px;

		--wrapperPadding: 0;
		--innerPaddingWidth: 20px;
		--innerPaddingHeight: 30px;
	}
}

/*
 * Global
 * ================================================================================
 */

/*	Font
/* -------------------------------------------------------------------------------- */
html {
	font-size: var(--baseFontSize);
}
body {
	line-height:1.6;
}
body,
button,
input,
select,
textarea {
	font-family: Arial, Helvetica, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, sans-serif;
/*  font-family: 'Noto Sans JP', sans-serif;*/
/*	font-family: "Noto Sans", sans-serif;*/
}



/*
 * Layout
 * ================================================================================
 */
html {
	overflow-y:scroll;

/* スムーススクロールも一緒にかけておくと動きが滑らかになります */
  scroll-behavior: smooth; 
  
  /* ページ内リンクで移動した際、上部に100pxの余白を設ける（ヘッダーの高さを指定） */
  scroll-padding-top: var(--headerHeight);
}

#container {
	display:grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr auto;
	padding-top:var(--headerHeight);
	overflow:hidden;
}

.wrapper {
	max-width:var(--maxContentsWidth);
	width:100%;
	margin:0 auto;
	padding:0 var(--wrapperPadding);
}

.inner {
	padding:var(--innerPaddingHeight) var(--innerPaddingWidth);
}

.paddingbox {
	padding-left: var(--boxPaddingWidth);
	padding-right: var(--boxPaddingWidth);
}
@media only screen and (max-width: 960px) {
	.paddingbox {
		padding-left: 0;
		padding-right: 0;
	}
}


/*	Header
	------------------ */
#header {
/*	display:flex;
	align-items:center;*/
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:var(--headerHeight);
	z-index:1000;
	transition: all 0.2s 0s ease;
}
@media only screen and (min-width: 961px) {
	#header.resize {
		height:calc(var(--headerHeight) * 0.6);
	}
}

#header .wrapper {
	display:flex;
	align-items: center;
	justify-content: flex-start;
	height:100%;
}
.header-main {
	height:68.75%;
}
.header-sub {
	height:31.25%;
	background:var(--color-black30);
	color:var(--color-white60);
}
@media only screen and (max-width: 960px) {
	#header > .wrapper {
		padding:0;
	}
}

#header .inner {
	display:flex;
	align-items: center;
	justify-content: space-between;
	width:100%;
	height:100%;
	padding-top:0;
	padding-bottom:0;
}
@media only screen and (min-width: 961px) {
	#header .inner {
		padding-left:2%;
		padding-right:2%;
	}
}

#header-title {
	flex-shrink:0;
	display:flex;
	align-items: center;
	height:66.6%;
	margin-top:0;
	margin-bottom:0;
	color:var(--headerFgColor);
	font-weight:500;
	font-size:6rem;
	transition: font-size 0.2s 0s ease;
}
#header-subtitle {
	color:var(--color-white90);
	font-size:2.2rem;
}
.header-sub .inner {
	font-size:1.8rem;
}
@media only screen and (min-width: 961px) {
	#header.resize #header-title {
		font-size:4rem;
	}
	#header.resize #header-subtitle {
		font-size:1.4rem;
	}
	#header.resize .header-sub .inner {
		font-size:1.2rem;
	}
}
@media only screen and (max-width: 960px) {
	#header .header-main {
		height:100%;
	}
	#header .header-sub {
		display:none;
	}

	#header-title {
		font-size:4rem;
	}
	#header-subtitle {
		display:none;
	}
}
@media only screen and (max-width: 430px) {
	#header-title {
		font-size:3.8rem;
	}
}

#header-logo {
	display:block;
	max-height:100%;
}


/*	Main
	------------------ */
#main {
  display: flex;
  align-items: stretch;
  flex-direction: column;
}

#main .wrapper {
	display:grid;
	grid-template-columns: 30% 1fr;
/*	grid-template-columns: 30% 1fr;*/
	height:100%;
}
@media only screen and (max-width: 960px) {
	#main .wrapper {
	  display: flex;
	  align-items: stretch;
	  justify-content: flex-start;
	  flex-direction: column;
		width:100vw;
	}
}
#contents {
	min-height: calc(100vh - var(--headerHeight));
	min-height: calc(100svh - var(--headerHeight));
}


/*	Footer
	------------------ */
/*#footer .inner {
	padding:60px 2%;
}*/

#copyright {
	margin-top:60px;
	text-align:center;
}





/*
 * Style
 * ================================================================================
 */
#bg {
	position:fixed;
	width:100vw;
	height:100vh;
	background-image:url(../../images/bg.jpg);
	background-repeat:no-repeat;
	background-position:right center;
	background-size:cover;
	background-color:var(--bgColor);
	color:var(--fgColor);
}


/*	Header
	------------------ */
#header {
	background-color:var(--headerColor);
/*	border-top:var(--color-blue) solid 6px;*/
/*	border-bottom:#c4c4c4 solid 1px;*/
}


/*	Main
	------------------ */


/*	Footer
	------------------ */
#footer {
	color: var(--color-white60);
	background-color:var(--footerColor);
}


/*	Nav
	------------------ */
#nav {
	background-color:var(--navColor);
}
#nav a {
	display: block;
	text-decoration: none;
/*	padding-bottom: 0.4em;
	margin-bottom: 0.4em;*/
	padding-bottom: 0.2em;
	margin-bottom: 0.2em;
	border-bottom: transparent solid 1px;
	text-align:right;
	font-weight:500;
	font-size:120%;
	color: var(--color-white90);
	text-shadow: 0 2px 0px rgba(0, 0, 0, 0.5);
}
#nav a:hover {
	border-bottom: var(--color-white90) solid 1px;
}
#nav a:after {
	font:var(--fa-font-solid);
	content: "\f105";
	margin-left:0.5em;
}

@media only screen and (max-width: 960px) {
	#nav {
		display:block;
		position:fixed;
		top:0;
		left:0;
		width:100%;
		height:100vh;
		height:100dvh;
		padding-top:calc(var(--headerHeight) + var(--innerPaddingHeight));
/*		padding-top:var(--headerHeight);*/
/*		background-color:var(--color-white60);*/
		background-color:var(--color-black60);
		overflow-y:scroll;
		z-index:999;
	}
	#nav a {
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		margin-bottom: 0;
		font-size:1.8rem;
	}
}


/*	Nav Button
	------------------ */
#nav-btn {
	flex-shrink:0;
	margin-right:-7px;
	width:50px;
	height:50px;
	cursor:pointer;
display:none;
}
#nav-icon {
	display:block;
	position:absolute;
	top:50%;
	left:50%;
	width:36px;
	height:4px;
	margin:-2px 0 0 -18px;
	transition: 0.2s;
	background:var(--headerFgColor);
}
#nav-icon:before,
#nav-icon:after {
	display:block;
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	transition: 0.3s;
	background:var(--headerFgColor);
}
#nav-icon:before {
	margin-top:-13px;
}
#nav-icon:after {
	margin-top:13px;
}
#nav-icon.close {
	background:transparent;
}
#nav-icon.close:before,
#nav-icon.close:after {
	margin-top:0;
}
#nav-icon.close:before {
	transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
}
#nav-icon.close:after {
	transform:rotate(-135deg);
	-webkit-transform:rotate(-135deg);
}












/*
 * Compornent
 * ================================================================================
 */
ul.disc {
  list-style-type: disc;
  margin: 0;
  padding-left: 1em;
}

.bg-blur {
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);
}

#contents a, 
a.sitelink {
/*  filter: hue-rotate(180deg);*/
	text-decoration:underline;
}


/*	Line
	------------------ */
.line.dashed {
	height:1px;
  background-image : linear-gradient(to right, #999, #999 4px, transparent 4px, transparent 8px);
  background-size: 8px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
}


/*	Label
	------------------ */
h2, h3, h4, h5, h6 {
	margin:0;
	font-size: 100%;
	font-weight:normal;
	line-height:normal;
}

/* h2 */
h2 {
	margin-bottom:2em;
	font-size:140%;
	padding-bottom:0.5em;
	color:var(--color-black60);
	border-bottom:currentcolor solid 1px;
}

/* h3 */
h3 {
	margin-bottom:1em;
	font-size:120%;
	font-weight:500;
	padding:0.5em var(--boxPaddingWidth);
	background:var(--color-black60);
	color:var(--color-white);
}

/* h4 */
h4 {
	display:inline-block;
	padding-bottom:0.25em;
	margin-bottom:0.5em;
	font-size:120%;
	font-weight:500;
	color:var(--color-black90);
	border-bottom:currentcolor dotted 3px;
}

/* h5 */
h5 {
	margin-bottom:0.5em;
	padding:0.5em calc(var(--boxPaddingWidth) - 5px);
	border-left:currentcolor solid 5px;
	font-weight:700;
	color:var(--color-black60);
}

/* h6 */
h6 {
	font-weight:900;
	color:var(--color-black60);
	margin-bottom:0.5em;
}

h2 + p, 
h3 + p, 
h4 + p, 
h5 + p, 
h6 + p, 
p:first-child {
	margin-top:0;
}

/* スマホ用調整 */
@media only screen and (max-width: 430px) {
	h2 {

	}
	h3 {

	}
	h4 {

	}
	h5 {

	}
	h6 {

	}
}


/*	Table
	------------------ */
table {
	border-collapse:  collapse; /* セルの線を重ねる */
}
th,td {
	padding:0.5em 2em;
	border:var(--color-bbb) solid 1px; /* 枠線指定 */
}
th {
	background-color:var(--color-black50);
	color:var(--color-white);
	font-weight:500;
}
td {
	background-color:var(--color-white60);
}
.table-wrapper {
	max-width:100%;
}
.table-wrapper > table {
	min-width:100%;
}
@media only screen and (max-width: 960px) {
	.table-wrapper {
		overflow-x:auto;
	}
	.table-wrapper > table {
		white-space: nowrap;
	}
}


/*	List Table
	------------------ */
.listtable {
	display:grid;
	grid-template-columns: auto auto;
	margin-top:1.6rem;
/*	place-items: center;*/
}
.listtable.left {
	place-content:start start;
}
.listtable.center {
	place-content: start center;
}
.listtable.right {
	place-content:start end;
}
.listtable.col2 {
	grid-template-columns: auto auto;
}
.listtable.col3 {
	grid-template-columns: auto auto auto;
}
.listtable.col4 {
	grid-template-columns: auto auto auto auto;
}

.listtable dt,
.listtable dd {
  display: flex;
  align-items: center;
  justify-content: center;
/*	min-height:3em;*/
	padding:0.5em 2em;
	margin-bottom:-1px;
	margin-right:-1px;
	border:var(--color-bbb) solid 1px;
	line-height:1.1;
/*place-self: center;*/
}
.listtable dt {
	background-color:var(--color-black50);
	color:var(--color-white);
}
.listtable dd {
	background-color:var(--color-white60);
}
.listtable .left {
  justify-content: flex-start;
}
.listtable .center {
  justify-content: center;
}
.listtable .right {
  justify-content: flex-end;
}

@media only screen and (max-width: 960px) {
	.listtable.responsible {
		grid-template-columns: 1fr !important;
	}
}
@media only screen and (max-width: 430px) {

}


/*	Link Button
	------------------ */
.linkbtn {
	box-sizing:border-box;
  position: relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin:1.6rem 0;
	padding:0 3em;
	height:3em;
	border-radius:1.5em;
	background-color:var(--color-theme1);
	text-decoration:none !important;
/*	color:#fff !important;*/
	font-weight:500;
	line-height:1.1;
}
.linkbtn::before {
  position: absolute;
  top:50%;
  right:1.5em;
  transform:translatey(-50%);
	font:var(--fa-font-solid);
	content: "\f105";
}
.linkbtn.file::before {
/*	font:var(--fa-font-regular);*/
	content: "\f15b";
  left:1.5em;
  right:auto;
}
.linkbtn.site::before {
/*	font:var(--fa-font-regular);*/
	content: "\f35d";
}

/* SNS */
.linkbtn.sns::before {
	font: var(--fa-font-brands);
	content: "\f075";
	left: 1.5em;
	right: auto;
}

.linkbtn.sns.twitter {
	background:rgb(0, 0, 0);
}
.linkbtn.sns.twitter::before {
	content: "\e61b";
}

.linkbtn.sns.bluesky {
	background:rgb(32, 139, 254);
}
.linkbtn.sns.bluesky::before {
	content: "\e671";
}

.linkbtn.sns.youtube {
	background: rgb(255, 0, 51);
}
.linkbtn.sns.youtube::before {
	content: "\f167";
}

.linkbtn.sns.facebook {
	background: #0866ff;
}
.linkbtn.sns.facebook::before {
	content: "\f39e";
}

.linkbtn.sns.instagram {
	background: linear-gradient(135deg, rgba(88, 85, 164, 1) 10%, rgba(226, 35, 68, 1) 60%, rgba(245, 191, 91, 1) 90%);
}
.linkbtn.sns.instagram::before {
	content: "\f16d";
}

.linkbtn.sns.threads {
	background: rgb(0, 0, 0);
}
.linkbtn.sns.threads::before {
	content: "\e618";
}




/*	To Top
	------------------ */
.totop {
	display:flex;
	align-items:center;
	justify-content:center;
	position:fixed;
	bottom:20px;
	right:20px;
	width:44px;
	height:44px;
	background:var(--color-black30);
	border-radius:4px;
	color:var(--color-white);
	font-size:20px;
	z-index: 100;
}
.totop:before {
	font:var(--fa-font-solid);
	content: "\f106";
}

/*	Form
	------------------ */





/*
 * Responsive
 * ================================================================================
 */
@media only screen and (max-width: 960px) {

}

@media only screen and (max-width: 960px) {
	.landing #bg {
		position: relative;
		width: 100vw;
		height: 75vw; /* 4:3 */
		height: 56.25vw; /* 16:9 */
	}
	body:not(.landing) #bg {
		display:none;
	}

	#contents {
		min-height: auto;
	}
}




/*	
/* -------------------------------------------------------------------------------- */

/* テスト用 */
#footer-sns {
	display:none;
}



@media only screen and (min-width: 961px) {
	#footer .grid-col2.paddingbox {
		font-size:140%;
		color:#fff !important;
	}
}

.fc-gold {
/*  background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 100%);*/
	background-image: -webkit-linear-gradient(315deg, #704308 0%, #ffce08 40%, #e1ce08 60%, #704308 100%);
  background-image: linear-gradient(135deg, #e1ce08 0%, #ffce08 40%, #e1ce08 60%, #ffce08 100%);
	background: linear-gradient(
    135deg, 
		#FFF0A8 0%,   /* 1色目：キラッと光る明るいハイライト（白っぽい黄色） */
    #FFD700 50%,  /* 2色目：パキッとしたメインの金色（ピュアゴールド） */
    #D48C00 100%  /* 3色目：立体感を出す少し濃い金色（オレンジゴールド） */
  );
  -webkit-background-clip: text;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
text-shadow:none !important;
/*font-weight:900 !important;*/
}



