@charset "UTF-8";

body {
	font-family: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', 'Meiryo', sans-serif;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
a {
	text-decoration: none;
}



/************ ヘッダー ************/

@media (min-width: 992px) {
	header .navbar .hamaya-logo img {
		width: 200px;
	}
} @media (max-width: 991px) {
	header .navbar .hamaya-logo img {
		width: 160px;
	}
}
header .navbar a.hamaya-logo:hover {
	opacity: 0.5;
}
header .navbar .navbar-toggler-icon{
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(128, 128, 128, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
header .navbar .navbar-nav {
	letter-spacing: 0.1em;
}
header .navbar li a.link-boader.now {
	box-shadow: 0 3px 0 #ffc107;
}
header .navbar li a.link-boader:hover {
	box-shadow: 0 3px 0 #ffc107;
}
header .navbar li i.link-icon.now {
	color: #ffc107;
}
header .navbar li i.link-icon:hover {
	color: #ffc107;
}
header .navbar .lang-out ul li,
header .navbar .lang-in ul li,
header .navbar .lang-in {
	font-size: smaller;
	letter-spacing: normal;
}
header .navbar .btn {
	min-width: 100px;
}



/************ フッター ************/

footer .footer-sns {
	max-width: 360px;
	padding-top: 8rem ;
	padding-bottom: 1rem;
	margin: 0 0 0 auto;
	text-align: center;
}
@media (max-width: 575px) {
	footer .footer-sns {
		margin: 0 auto;
	}
}
footer .footer-sns .sns-list {
	display: inline-block;
}
footer .footer-sns p.sns-text {
	font-size: 0.85rem;
	margin-bottom: 0;
}
footer .footer-sns p.annotation {
	font-size: 0.75rem;
}
footer .footer-sns .sns-list a {
	display: inline-block;
	margin: 1rem;
}
footer .footer-sns .sns-list a img {
	max-width: 40px;
}
footer .footer-sns .sns-list a img:hover {
	opacity: 0.5;
}


footer .footer-body {
	background-color: #787d85;
}
footer .footer-body a,
footer .footer-body p,
footer .footer-body dl {
	color: #fff;
	letter-spacing: 0.05em;
}
footer .footer-body a.now {
	color: #ffc107;
}
footer .footer-body a:hover {
	color: #ffc107;
}
footer .footer-body .row {
	margin: 0 auto;
}
footer .footer-body .footer-menu {
	padding: 2.5rem 0;
}
footer .footer-body .footer-menu a {
	font-size: 0.8rem;
}
footer .footer-body .footer-menu ul {
	list-style: none;
}
footer .footer-body .footer-info {
	padding: 2.5rem 0;
	border-top: 1px solid #fff;
}
footer .footer-body .footer-info a,
footer .footer-body .footer-info p,
footer .footer-body .footer-info dl {
	font-size: 0.75rem;
}
footer .footer-body .footer-info dl {
	display: flex;
	flex-wrap: wrap;
}
footer .footer-body .footer-info dl dt {
	width: 20%;
	font-weight: normal;
}
footer .footer-body .footer-info dl dd {
	width: 80%;
	margin-bottom: 0;
}
footer .footer-body .footer-info dl dd::before {
	content: "：";
}
footer .footer-body .footer-info .btn-con {
	display: flex;
	width: 80%;
	padding: 0.5rem 1rem;
	margin-bottom: 2rem;
	border: 1px solid #fff;
	font-size: medium;
	text-align: center;
	align-items: center;
	justify-content: center;
}
@media (max-width: 767px) {
	footer .footer-body .footer-info .btn-con {
		width: 100%;
		margin-top: 1.5rem;
		margin-bottom: 1.5rem;
	}
}
footer .footer-body .footer-info a.btn-con:hover {
	background-color: #fff;
	color: #787d85;
}



/************ メイン ************/

@media (min-width: 992px) {
	main {
		margin-top: 102px;
	}
}@media (max-width: 991px) {
	main {
		margin-top: 56px;
		overflow-x: hidden;
	}
}
main img {
	display: block;
	max-width: 100%;
	height: auto;
}
main .width-l {
	max-width: 1024px;
	margin: 0 auto;
}
main .width-m {
	max-width: 864px;
	margin: 0 auto;
}
main .width-s {
	max-width: 780px;
	margin: 0 auto;
}
main h2.con-title {
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
main h3.con-minititle {
	border-bottom: 1px solid #e5af0f;
	font-size: 1.1rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
main p.con-text {
	font-size: 0.85rem;
	letter-spacing: 0.05em;
	line-height: 1.8;
}
main p.con-text-ns {
	font-size: 0.85rem;
	line-height: 1.8;
}
main p.con-text-min {
	font-size: 0.85rem;
	line-height: 1.8;
}
@media (max-width: 575px) {
	main p.con-text-min {
		font-size: 0.75rem;
		line-height: 1.5;
	}
}
main p.con-text a,
main p.con-text-ns a,
main p.con-text-min a {
	color: #1c4380;
}
main p.con-text a:hover,
main p.con-text-ns a:hover,
main p.con-text-min a:hover {
	color: #ffc107;
}
main p.annotation,
main a.annotation {
	font-size: 0.75rem;
}
main h2.con-title span,
main h3.con-minititle span,
main p.con-text span,
main p.con-text-ns span,
main p.con-text-min span,
main p.annotation span {
	display: inline-block;
}
main span.prohibit {
	color: #c1272d;
}
main ol.con-list {
	margin: 0;
}
main ol.con-list li {
	font-size: 0.85rem;
	letter-spacing: 0.05em;
	line-height: 1.8;
	padding: 0 0 0.25rem 0.5rem;
}
main ol.inner-list {
	list-style-type: none;
	counter-reset: listCounter;
	padding: 0.5em 0 0 0;
}
main ol.inner-list li {
	position: relative;
	padding-left: 2em;
}
main ol.inner-list li:before {
	counter-increment: listCounter;
	position: absolute;
	left: 0;
	content: counter(listCounter, lower-roman) ". ";
}
main .con-back-y {
	background-color: #f7f5ea;
}
main .caution {
	background-color: #f9e8ea;
	border: 1px solid #c1272d;
	padding: 1.5rem;
	margin: 1.5rem auto;
}
@media (max-width: 991px) {
	main .caution {
		width: 75%!important;
	}
} @media (max-width: 575px) {
	main .caution {
		width: 85%!important;
	}
}
main .caution h4 {
	color: #c1272d;
	font-size: 1.1rem;
	font-weight: 600;
	text-align: center;
	margin: 0 auto 1rem auto;
}
main .caution ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
main .caution ul li {
	color: #c1272d;
	font-size: 0.85rem;
	font-weight: 600;
	padding-bottom: 0.25rem;
}
main .con-body .con-explanation,
main .con-body .con-img {
	width: 50%;
}
@media (max-width: 767px) {
	main .con-body .con-explanation,
	main .con-body .con-img {
		width: 100%;
	}
}



/************ 新規会員登録（下層用） ************/

.base-register {
	background: -moz-linear-gradient(top left, #e5af0f, #b27710); 
	background: -webkit-linear-gradient(top left, #e5af0f, #b27710); 
	background: linear-gradient(to bottom right, #e5af0f, #b27710);
	margin: 4rem 0;
	padding: 0;
}
.base-register .guide-body {
	color: #fff;
	width: 500px;
	margin: 0 auto;
	padding: 4rem;
	text-align: center;
	position: relative;
}
@media (max-width: 575px) {
	.base-register .guide-body {
		width: 90%;
		padding: 4rem 3rem;
	}
}@media (max-width: 525px) {
	.base-register .guide-body {
		width: 100%;
		padding: 3rem 2rem;
	}
}
.base-register .guide-body .guide-catch {
	border: 1px solid #fff;
	padding: 1rem 1.5rem;
	letter-spacing: 0.25em;
}
.base-register .guide-body .guide-catch .guide-label {
	color: #b27710;
	background-color: #fff;
	padding: 0.25rem 0.5rem;
}
.base-register .guide-body .guide-catch .d-flex {
	border-bottom: 1px solid #fff;
	padding: 0.5rem 0;
	align-items: center;
	justify-content: space-evenly;
}
.base-register .guide-body .guide-catch .d-flex span {
	font-size: 1.15rem;
	line-height: 1.5;
}
.base-register .guide-body .guide-catch .d-flex p {
	font-size: 3.5rem;
	font-weight: 500;
	margin-bottom: 0;
}
.base-register .guide-body .guide-caption {
	font-size: 0.85rem;
	margin: 0.75rem 0 0 0;
}
.base-register .guide-body .guide-subtext1 {
	font-size: 0.85rem;
	margin: 1rem 0 0.5rem 0;
	letter-spacing: 0.05em;
}
.base-register .guide-body .guide-subtext2 {
	font-size: 0.75rem;
	margin: 1rem 0 0 0;
	letter-spacing: 0.05em;
}
.base-register .guide-body a.guide-fee {
	color: #1c4380;
	font-size: 0.85rem;
}
.base-register .guide-body a.guide-fee:hover {
	color: #ffc107;
}



/************ ボタン（共通） ************/

header .btn-blue,
header .btn-red,
header .btn-yellow,
header .btn-black {
	font-size: small;
}
main .btn-blue,
main .btn-red,
main .btn-yellow,
main .btn-black {
	font-size: medium;
	font-weight: 500;
	letter-spacing: 0.1em;
	margin: 0 auto;
	padding: 0.6rem;
}



/************ ボタン（青） ************/

.btn-blue,
.btn-blue:disabled {
	color: #fff;
	background-color: #1c4380;
	box-shadow: 0 3px 0 #091f33;
	transition: none;
}
.btn-blue:hover {
	color: #fff;
	background-color: #1c4380;
	box-shadow: none;
	transition: none;
	transform: translateY(3px);
}
.btn-blue:not(:disabled):not(.disabled):active,
.show > .btn-blue.dropdown-toggle {
	color: #fff;
	background-color: #1c4380;
	box-shadow: none;
	transition: none;
	transform: translateY(3px);
}
.btn-blue:focus,
.btn-blue:not(:disabled):not(.disabled):active:focus,
.show > .btn-blue.dropdown-toggle:focus {
	color: #fff;
	background-color: #1c4380;
	box-shadow: 0 3px 0 #091f33;
	transition: none;
	box-shadow: 0 0 0 0.2rem rgba(0,0,255,0.1);
}



/************ ボタン（赤） ************/

.btn-red,
.btn-red:disabled {
	color: #fff;
	background-color: #c1272d;
	box-shadow: 0 3px 0 #892922;
	transition: none;
}
.btn-red:hover {
	color: #fff;
	background-color: #c1272d;
	box-shadow: none;
	transition: none;
	transform: translateY(3px);
}
.btn-red:not(:disabled):not(.disabled):active,
.show > .btn-red.dropdown-toggle {
	color: #fff;
	background-color: #c1272d;
	box-shadow: none;
	transition: none;
	transform: translateY(3px);
}
.btn-red:focus,
.btn-red:not(:disabled):not(.disabled):active:focus,
.show > .btn-red.dropdown-toggle:focus {
	color: #fff;
	background-color: #c1272d;
	box-shadow: 0 3px 0 #892922;
	transition: none;
	box-shadow: 0 0 0 0.2rem rgba(0,0,255,0.1);
}



/************ ボタン（黄） ************/

.btn-yellow,
.btn-yellow:disabled {
	color: #fff;
	background-color: #e5af0f;
	box-shadow: 0 3px 0 #b27710;
	transition: none;
}
.btn-yellow:hover {
	color: #fff;
	background-color: #e5af0f;
	box-shadow: none;
	transition: none;
	transform: translateY(3px);
}
.btn-yellow:not(:disabled):not(.disabled):active,
.show > .btn-yellow.dropdown-toggle {
	color: #fff;
	background-color: #e5af0f;
	box-shadow: none;
	transition: none;
	transform: translateY(3px);
}
.btn-yellow:focus,
.btn-yellow:not(:disabled):not(.disabled):active:focus,
.show > .btn-yellow.dropdown-toggle:focus {
	color: #fff;
	background-color: #e5af0f;
	box-shadow: 0 3px 0 #b27710;
	transition: none;
	box-shadow: 0 0 0 0.2rem rgba(0,0,255,0.1);
}



/************ ボタン（黒） ************/

.btn-black,
.btn-black:disabled {
	color: #fff;
	background-color: #212529;
	box-shadow: 0 3px 0 #000;
	transition: none;
}
.btn-black:hover {
	color: #fff;
	background-color: #212529;
	box-shadow: none;
	transition: none;
	transform: translateY(3px);
}
.btn-black:not(:disabled):not(.disabled):active,
.show > .btn-black.dropdown-toggle {
	color: #fff;
	background-color: #212529;
	box-shadow: none;
	transition: none;
	transform: translateY(3px);
}
.btn-black:focus,
.btn-black:not(:disabled):not(.disabled):active:focus,
.show > .btn-black.dropdown-toggle:focus {
	color: #fff;
	background-color: #212529;
	box-shadow: 0 3px 0 #000;
	transition: none;
	box-shadow: 0 0 0 0.2rem rgba(0,0,255,0.1);
}



/************ ボタン（ページトップに戻る） ************/

.btn-index,
.btn-index:disabled,
.btn-index:hover,
.btn-index:not(:disabled):not(.disabled):active,
.show > .btn-index.dropdown-toggle,
.btn-index:focus,
.btn-index:not(:disabled):not(.disabled):active:focus,
.show > .btn-index.dropdown-toggle:focus {
	transition: none;
}
@media (prefers-reduced-motion: no-preference) {
	:root {
		scroll-behavior: smooth;
	}
}
