@charset "UTF-8";

@import url("https://fonts.googleapis.com/earlyaccess/notosansjapanese.css");
@import url("https://fonts.googleapis.com/css?family=Lato:400,900");
@import url("https://fonts.googleapis.com/css?family=Sawarabi+Mincho&subset=japanese");
@import url("https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&display=swap");

@font-face {
	font-family: "EUDC";
	src: url("/assets/fonts/EUDC.woff")  format('woff');
}

/* フォント指定
----------------------------------------*/
body {
	font-family: 'EUDC', 'Lato', 'Noto Sans Japanese', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	padding-top: 5rem;
}

/*
@media (max-width: 767px) {
	html,body {
		font-size: .85rem;
	}
}
*/
@media (min-width: 1400px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl {
		max-width: 1360px;
	}
}

#common-site-logo {
	width: 2.5em;
	height: auto;
	display: inline-block;
	vertical-align: middle;
	margin-right: .5em;
}

/*
.main-wrapper {
	padding: 3rem 0;
}
@media (max-width: 767px) {
	.main-wrapper {
		padding: 1.5rem 0;
	}
}
*/

.content-title {
	border-left: 10px solid #4b3e4e;
	font-size: 2rem;
	padding: 0 0 0 0.5em;
	margin: 0 0 1em 0;
}
.content-title > small {
	font-size: 1rem;
	display: block;
}
.content-title > small:before {
	font-family: "Font Awesome 5 Free";
	content: "\f101";
	display: inline-block;
	margin-right: .3em;
}
.content-title > span {
}

.navbar-nav .nav-item .nav-link:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0da";
	display: inline;
	margin-right: .2em;
	font-weight: 900;
}
.navbar-nav .nav-item .nav-link.nav-icon-home:before {
	content: "\f35d";
}


/* gototop */
#return_top {
	margin: 0;
	padding: 0;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9999;
}
#return_top a {
	font-size: 22px;
	color: #ffffff;
	text-decoration: none;
	background-color: rgba(0,0,0,0.2);
	padding: 8px 18px;
	border-radius: 3px;
}
#return_top a:hover {
	background-color: rgba(0,0,0,0.3);
}

/**
 * フォーム要素
 */
.required {
	color: #f22;
}

.colsetx2-small th,
.colsetx2 th {
	background-color: #f1f1f1;
	font-weight: 500;
}
.colsetx2-small td,
.colsetx2 td {
	background-color: #fff;
}

.colsetx2-small th,
.colsetx2-small td {
	font-size: .9rem;
}

@media (min-width: 768px) {
	.colsetx2 th {
		width: 14em;
	}
	.colsetx2-small th {
		width: 14em;
	}
	.th-shrink th {
		width: 9.5em;
	}
	.th-w10 th {
		width: 10em;
	}
	.th-w11 th {
		width: 11em;
	}
	.th-w12 th {
		width: 12em;
	}
}
.table.colsetx2-small label,
.table.colsetx2 label {
	font-weight: normal;
	white-space: nowrap;
	margin-right: .5em;
}

table.datalist th {
	background-color: #f1f1f1;
	font-weight: 500;
}
table.datalist td {
	background-color: #fff;
}

@media (max-width: 767px) {
	.table.colsetx2-small,
	.table.colsetx2 {
		width: 100%;
		border-width: 0;
		border-bottom-width: 1px;
	}
	.table.colsetx2-small th,
	.table.colsetx2 th {
		display: block;
		border-bottom-width: 0;
	}
	.table.colsetx2-small td,
	.table.colsetx2 td {
		display: block;
		border-bottom-width: 0;
	}
}
.table-caption {
	font-size: 1.15rem;
}
.table-caption:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0d7";
	display: inline-block;
	margin-right: .3em;
}

.well {
	border-top: 5px solid #4b3e4e;
	margin-top: 1.5rem;
	padding-top: 1.5rem;
}

label.caption {
	margin-top: 1rem;
	margin-bottom: .3rem;
	font-size: .9em;
	display: block;
}
label.caption:before {
	font-family: "Font Awesome 5 Free";
	content: "\f150";
	display: inline-block;
	margin-right: .3em;
}

.hints {
	display: block;
	font-size: .9em;
}

.qwm-form-upload-info,
.qwm-form-input-file {
	margin-bottom: .3rem;
}

form#form .card {
	font-size: .9rem;
}


#footer_img {
	display: block;
	min-height: 100px;
	background-image: url(../images/footer_img.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
}


/**
 * 汎用要素
 */
ol.default,
ul.default {
	padding-left: 1em;
}
ol.default li,
ul.default li {
	margin-bottom: 0.25rem;
}

/**
 * 汎用
 */

.heading-lb {
	border-left: 8px solid;
	padding: 0.25rem 0.25rem 0.25rem 0.5rem;
}
.heading-box {
	background-color: #f1f1f1;
	padding: 0.25rem 0.5rem;
	box-shadow: 0 2px 2px #bbb;
}
.heading-bar {
	background-color: #f1f1f1;
	padding: 0.25rem 0.5rem;
	border-bottom: 1px solid #c1c1c1;
	border-top: 1px solid #c1c1c1;
}

.font-mincho {
	font-family: "Sawarabi Mincho" !important;
	font-family: 'Kiwi Maru',"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}
.font-maru {
	font-family: 'Kiwi Maru',"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}

.bg-purple {
	background-color: #6e327d !important;
}

.bg-beige {
	background-color: #f0e9df;
}
.border-beige {
	border: 1px solid #d2c8be;
}
.alert-beige {
	background-color: #f3f0ec;
	box-shadow: 0 0 10px rgb(125 100 75 / 60%);
}
.text-beige {
	color: #62451b;
}

.btn-beige {
	background-color: #f0e9df;
	border: 1px solid #d2c8be;
	color: #62451b;
}
.btn-beige:hover {
	background-color: #ebddca;
	color: #62451b;
	border: 1px solid #d2c8be;
}
.btn-beige:active {
	background-color: #ebddca !important;
	color: #62451b !important;
	border: 1px solid #d2c8be !important;
}
.btn-outline-beige {
	background-color: #fff;
	border: 1px solid #d2c8be;
	color: #62451b;
}
.btn-outline-beige:hover {
	background-color: #ebddca;
	color: #573d17;
	border: 1px solid #d2c8be;
}
.btn-outline-beige:active {
	background-color: #ebddca !important;
	color: #573d17 !important;
	border: 1px solid #d2c8be !important;
}


.bg-main {
	background-color: rgba(150,38,62,1.00);
}
.text-main {
	color: rgba(150,38,62,1.00);
}

.text-normal {
	font-size: 1rem;
}
.text-bantam {
	font-size: .925rem;
}
.text-small {
	font-size: .85rem;
}
.text-xsmall {
	font-size: .75rem;
}
.text-large {
	font-size: 1.15rem;
}
.text-xlarge {
	font-size: 1.25rem;
}

.nowrap {
	white-space: nowrap;
}

.bottomline {
	margin-bottom: .2rem;
	padding-bottom: .2rem;
	border-bottom: 1px dotted #d1d1d1;
}

.dd-indent dd {
	padding-left: 1rem;
}

.dt-caret-right dt:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0da";
	display: inline-block;
	margin-right: .3em;
	font-weight: bold;
}

.btn-gold {
	background-color: #caac17;
	color: #fff;
}
.btn-gold:hover {
	background-color: #b49704;
	color: #fff;
}
.btn-gold:active {
	background-color: #b49704 !important;
	color: #fff !important;
	border: 0 !important;
}

.marker-red {
	background: linear-gradient(transparent 60%,rgba(220,53,69,.25) 0);
}
.marker-orange {
	background: linear-gradient(transparent 60%,rgba(253,126,20,.25) 0);
}
.marker-pink {
	background: linear-gradient(transparent 60%,rgba(232,62,140,.25) 0);
}
.marker-purple {
	background: linear-gradient(transparent 60%,rgba(111,66,193,.25) 0);
}
.marker-yellow {
	background: linear-gradient(transparent 60%,rgba(255,193,7,.25) 0);
}


/**************************************************************************************************
 * 画像位置・効果
 */
img.alignleft {
	clear: both;
	float: left;
	margin: 0 20px 10px 0;
	max-width: 100%;
}
img.alignright {
	clear: both;
	float: right;
	margin: 0 0 10px 20px;
	max-width: 100%;
}
img.aligncenter {
	clear: both;
	display: block;
	margin: 10px auto;
	max-width: 100%;
}
img.alignnone {
	max-width: 100%;
}
img.size-fit {
	width: 100%;
}
@media (max-width: 767px) {
	img.alignnone,
	img.aligncenter,
	img.alignright,
	img.alignleft {
		float: none !important;
		clear: both;
		margin: 10px auto;
		display: block;
		max-width: 100%;
		max-height: auto;
		height: auto;
	}
}
img.shadow {
  box-shadow: 0px 5px 15px -5px rgba(0, 0, 0, 0.8);
}

/*****************************
 * フォームテーブル
 *****************************/
.required {
	font-family: "Font Awesome 5 Free";
	content: "\f069";
	color: #d00;
	font-size: 1.1em;
	vertical-align: text-top;
	margin-right: .2em;
}

.table-qwm-form th {
	width: 14em;
}
.table-qwm-form .form-control {
	margin-bottom: .25em;
}
.table-qwm-form .input-group .form-control {
	margin-bottom: 0;
}
@media (max-width: 768px) {
	.table-qwm-form td,
	.table-qwm-form th {
		display: block;
		width: 100%;
		padding: .5em;
	}
	.table-qwm-form td {
		border-top: 0;
		border-left: 10px solid #e1e1e1;
		padding-top: 0;
	}
	.table-qwm-form th {
		border-left: 10px solid #e1e1e1;
		border-bottom: 0;
	}
}

.form-area .table-qwm-form {
	margin-bottom: 40px;
}

.table-qwm-form-th-bg th,
.table-qwm-form caption {
	caption-side: top;
	background-color: #f3f0ec;
	font-weight: 600;
	padding: .5em .75em .5em 2.2em;
	color: #7d644b;
	border-top: 1px solid #d2c8be !important;
	border-bottom: 1px solid #d2c8be !important;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}
.table-qwm-form-th-bg th {
	margin-top: 0;
	margin-bottom: 0;
	padding-bottom: .25em;
	border-top-width: 2px !important;
}
.table-qwm-form-th-bg td {
	padding-top: 1em;
	padding-bottom: 1.5em;
}

.table-qwm-form-th-bg th:before,
.table-qwm-form caption:before {
	font-family: "Font Awesome 5 Free";
	content: "\f009";
	display: inline-block;
	margin-left: -1.5em;
	float: left;
}

.table-qwm-form .form-control:placeholder-shown {
	color: #888;
}
.table-qwm-form .form-control::-webkit-input-placeholder {
	color: #888;
}
.table-qwm-form .form-control:-moz-placeholder {
	color: #888;
}
.table-qwm-form .form-control::-moz-placeholder {
	color: #888;
}
.table-qwm-form .form-control:-ms-input-placeholder {
	color: #888;
}

.table-qwm-form input[type=radio],
.table-qwm-form input[type=checkbox] {
	margin-right: .15em;
}
.table-qwm-form input[type=radio]:checked + span,
.table-qwm-form input[type=checkbox]:checked + span {
	font-weight: 600;
	border-bottom: 2px solid #dd2222;
}

.table-qwm-form label {
	margin-right: .5em;
	margin-bottom: .5em;
}

/*****************************
 * テーブルスクロール補足
 *****************************/
@media screen and (max-width: 767px) {
	.table-responsive {
		padding-top: 12px;
	}
	.table-responsive:before {
		left: 50%;
		position: absolute;
		background: rgba(104,96,96,0.85);
		border-radius: 1em;
		color: #fff;
		content: "左右にスクロールできます";
		font-size: .75rem;
		line-height: 1.6em;
		padding: 0 1em;
		-webkit-transform: translate(-50%,-57%);
		transform: translate(-50%,-57%);
/*
		z-index: 9999;
*/
	}
	.table-responsive:after {
		left: 50%;
		position: absolute;
		background: #686060;
		border-radius: 1em;
		color: #fff;
		content: "左右にスクロールできます";
		font-size: .75rem;
		line-height: 2em;
		padding: 0 1em;
		-webkit-transform: translate(-50%,-100%);
		transform: translate(-50%,-100%);
/*
		z-index: 9999;
*/
	}
}

/**************************************
 * ローディング
 **************************************/
#loading-canvas {
	display: none;
}
.loading-screen {
	width:100vw;
	height:100vh;
	position:fixed;
	left:0;
	top:0;
	background-color: rgba(255,255,255,.95);
	z-index: 9999;

	display: flex;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	justify-content: center;
	flex-direction: column;
}

#return_top {
	z-index: 9998;
}

/**************************************
 * 吹き出し
 **************************************/
.arrow-box {
	position:relative;
	padding:10px;
	border-radius:10px;
	-webkit-border-radius:10px;
	-moz-border-radius:10px;
}
.arrow-box:after {
	border: solid transparent;
	content:'';
	height:0;
	width:0;
	pointer-events:none;
	position:absolute;
	border-color: rgba(0, 0, 0, 0);
	border-top-width:13px;
	border-bottom-width:13px;
	border-left-width:12px;
	border-right-width:12px;
	margin-left: -12px;
	border-top-color: inherit;
	top:100%;
	left:50%;
}
