@charset "utf-8";
/* adiva-template v3.0.0 | (c) adiva | adiva.jp | MIT licensed */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
@import url(../../dist/css/font-awesome.min.css);

:root {
  --colorBg: #fafafa;
  --colorFg: #222;

  --colorTheme1: #68a5d9;
/*  --colorBlue: rgba(30,61,154, 1);*/
  --colorBlue: #68A5D9;
  --colorDarkBlue: #24365e;
  --colorGreen: rgba(35,154,152, 1);
  --colorOrange: rgba(255,170,69, 1);

	--maxContentsWidth: 1280px;
	--innerPadding: 40px;

	--headerHeight: 80px;
	--baseFontSize: 18px;
}
@media only screen and (max-width: 834px) {
	:root {
		--headerHeight: 70px;
		--baseFontSize: 16px;
		--innerPadding: 30px;
	}
}
@media only screen and (max-width: 480px) {
	:root {
		--headerHeight: 60px;
		--baseFontSize: 16px;
		--innerPadding: 20px;
	}
}

/*
 * フォント指定
 * ================================================================================
 */

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;
  user-select: none;
	font-size: var(--baseFontSize);
}



/*
 * Layout
 * ================================================================================
 */
#container {
	width:100%;
	padding-top:var(--headerHeight);
	overflow:hidden;
}

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


/*	Header
	------------------ */
#header {
	position:fixed;
	left:0;
	top:0;
	width:100%;
	z-index:1000;
}
#header > .wrapper {
	display:flex;
	align-items:center;
	width:100%;
	height:var(--headerHeight);
	padding:8px;
}
#header-logo {
	max-height:100%;
	margin-right:8px;
}


/*	Main
	------------------ */
#main .wrapper {
	display:flex;
	align-items:stretch;
}

.content-left {
	width:33.3%;
}
.content-right {
	width:66.6%;
}


/*	Footer
	------------------ */
#footer .wrapper {
	display:flex;
	align-items:flex-start;
	justify-content:center;
}








/*
 * Style
 * ================================================================================
 */
body {
	background-color:var(--colorBg);
	background-image:url("../../images/bg.svg");
	background-position: center bottom;
	background-size: contain;
	background-repeat: no-repeat;
	background-attachment: fixed;
	color:var(--colorFg);
}

/*	Header
	------------------ */
#header {
	background-color:#eee;
	color:#4c4b13;
	border-bottom:rgba(0,0,0,0.2) solid 1px;
}
#header > .wrapper {
	padding-right:60px;
}
#summary {
	background:rgba(0,0,0,0.75);
}
@media only screen and (max-width: 834px) {
	#header-title {
		font-size:125%;
		line-height:1.2;
	}
}

/*	Main
	------------------ */
#main {
/*	background:#111;*/
}

#contents {
	background:rgba(255,255,255,0.75);
}


/*	Nav
	------------------ */
#nav {
	text-align:right;
}
#nav a {
	display:block;
	text-decoration:none;
	font-size:110%;
	padding-bottom:0.5em;
	margin-bottom:0.5em;
	border-bottom:transparent solid 1px;
}

#nav {
	background:rgba(36,54,94,0.75);
}
#nav a {
	color:var(--colorBg);
}
#nav a:hover {
	border-bottom:var(--colorBg) solid 1px;
}


/*	Nav Button
	------------------ */
#nav-btn {
	display:block;
	position:absolute;
	right:8px;
	width:44px;
	height:44px;
	border-radius:4px;
	cursor:pointer;
	background:rgba(36,54,94,0.75);
display:none;
}
#nav-icon {
	display:block;
	position:absolute;
	top:50%;
	left:50%;
	width:20px;
	height:2px;
	margin:-1px 0 0 -10px;
	transition: 0.2s;
	background:#fff;
}
#nav-icon:before,
#nav-icon:after {
	display:block;
	content:'';
	position:absolute;
	top:50%;
	left:0;
	width:100%;
	height:100%;
	transition: 0.3s;
	background:#fff;
}
#nav-icon:before {
	margin-top:-8px;
}
#nav-icon:after {
	margin-top:6px;
}
#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
 * ================================================================================
 */
/*	Label
	------------------ */
h2, h3, h4, h5, h6 {
	margin:0;
	font-size: 100%;
	font-weight:normal;
}
h2 {
	margin-bottom:0.5em;
	font-size:140%;
	padding-bottom:0.5em;
	color:var(--colorBlack60);
	border-bottom:#999 solid 1px;
}

h3 {
	margin-bottom:0.5em;
	font-size:120%;
	padding:0.5em 20px;
	background:var(--colorBlack60);
	color:#fff;
}
h3.blue {
	background:var(--colorBlue);
}
h3.green {
	background:var(--colorGreen);
}
h3.orange {
	background:var(--colorOrange);
}

h4 {
	margin-bottom:0.5em;
	font-size:120%;
	padding:0.5em 15px;
	border-left:var(--colorBlack60) solid 5px;
}
h4.blue {
	border-left:var(--colorBlue) solid 5px;
	color:var(--colorBlue);
}
h4.green {
	border-left:var(--colorGreen) solid 5px;
	color:var(--colorGreen);
}
h4.orange {
	border-left:var(--colorOrange) solid 5px;
	color:var(--colorOrange);
}

h5 {
	margin-bottom:0.5em;
	padding:0.5em 18px;
	border-left:var(--colorBlack60) solid 2px;
	background:rgba(255,255,255,0.75);
	color:var(--colorBlack60);
	font-size:90%;
}
h5.blue {
	border-left:var(--colorBlue) solid 2px;
	color:var(--colorBlue);
}
h5.green {
	border-left:var(--colorGreen) solid 2px;
	color:var(--colorGreen);
}
h5.orange {
	border-left:var(--colorBlue) solid 2px;
	color:var(--colorOrange);
}

h6 {
	margin-bottom:0.5em;
	font-weight:900;
	color:var(--colorBlack60);
}
h6.blue {
	color:var(--colorBlue);
}
h6.green {
	color:var(--colorGreen);
}
h6.orange {
	color:var(--colorOrange);
}


/*	Table
	------------------ */
.table_wrapper {
	margin:0.5em 0;
}
@media screen and (max-width:834px) {
	.table_wrapper {
		overflow-x:scroll;
	}
	.table_wrapper > table {
		white-space:nowrap;
	}
}

.table_wrapper > table, 
.table_wrapper > table td, 
.table_wrapper > table th {
	border-collapse: collapse;
	border:1px solid #444;
}
.table_wrapper > table {
	min-width:100%;
	line-height:1.1;
}
.table_wrapper > table th {
	padding: 10px;
	text-align: center;
	vertical-align: middle;
	background:#888;
	font-weight:normal;
	color:#fff;
}
.table_wrapper > table td {
	padding: 10px;
	background:#fff;
	background:rgba(255,255,255,0.4);
}
.table_wrapper > table td.bg_lightyellow {
	background:#ffe;
	background:rgba(255,255,192,0.4);
}
.table_wrapper > table sup {
	font-size:70%;
}


/*	Link Button
	------------------ */
.linkbtn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	background:var(--colorGreen);
	margin:0 0 1em 0;
	padding:0.5em 20px;
	border-radius:8px;
	text-decoration:none;
	color:#fff;
	line-height:1;
	box-shadow:0 4px 8px rgba(0,0,0,0.5);
}

.linkbtn:hover {
	opacity:0.4;
	box-shadow:none;
}

.linkbtn.orange {
	background:var(--colorOrange);
	color:#222;
}



/*	To Top
	------------------ */
.totop {
	display:flex;
	align-items:center;
	justify-content:center;
	position:fixed;
	bottom:20px;
	right:20px;
	width:44px;
	height:44px;
	background:var(--colorBlack30);
	border-radius:4px;
	color:var(--colorWhite);
	font-size:20px;
}



/*
 * Responsive
 * ================================================================================
 */
@media only screen and (max-width: 834px) {
	#main .wrapper {
		display:block;
	}
	
	.content-left {
		width:100%;
	}
	.content-right {
		width:100%;
	}

	#footer .wrapper {
		display:block;
	}
}

@media only screen and (max-width: 834px) {
	#main, 
	#main .wrapper{
		position:static !important;
	}
	#nav {
		display:block;
		position:fixed;
		top:var(--headerHeight);
		z-index:999;
	}
	#nav a {
		padding: 0.75em 0;
		margin-bottom: 0;
		text-align:left;
	}
}