@charset "utf-8";
/* CSS Document */
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
/*設定する場合→ font-family:'Noto sans japanese', sans-serif; を追加*/
/*同時に他のWEBフォントを使う場合はhtml側に記載すること*/

* {
	box-sizing: border-box;
}

a {
	text-decoration: none;
	color: inherit;
}

body {
	font-size: 14px;
	background: #FFFFFF;
	font-family: Meiryo, Tahoma, Verdana, Arial, sans-serif;
}

#wrapper {
	min-width: 320px;
	max-width: 600px;
	margin: 0 auto;
}

img {
	vertical-align: bottom;
}

input[type=text],
input[type=submit],
input[type=button] {
	-webkit-appearance: none;
	border: 1px solid #999999;
}

/*sidrを使う場合...*｛｝内のline-heightを消すのでもOK*/
.sidr ul li a {
	line-height: 48px !important;
}

.for-pc {
	display: none !important;
}

.sp-br {
	display: block;
	line-height: 150%;
}

/*共通
----------------------------------------------------------------------------------------------------*/
.t-link {
	text-decoration: underline;
}

.t-link:hover {
	text-decoration: none;
	opacity: 1;
}


.t-red {
	color: #FF0004 !important;
	line-height: 150%;
	display: inline-block !important;
}

.t-blue {
	color: #12438C !important;
	line-height: 150%;
	display: inline-block !important;
}

/*ヘッダー
----------------------------------------------------------------------------------------------------*/
header {
	border-top: 1px solid #15438D;
}

header .head-inner {
	min-width: 320px;
	max-width: 600px;
	margin: 0 auto;
	overflow: hidden;
}

header .head-top {
	background: #15438D;
	color: #FFFFFF;
}

header .head-middle {
	background: #FFFFFF;
	height: 50px;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	min-width: 320px;
	max-width: 600px;
	margin: 0 auto;
}

header .head-middle .h-logo {
	float: left;

	display: table;
	overflow: hidden;
	width: 180px;
	height: 50px;
	padding: 5px 0;
}

header .head-middle .h-logo dt {
	display: table-cell;
	width: 100px;
	vertical-align: middle;
}

header .head-middle .h-logo dt a {
	display: block;
}

header .head-middle .h-logo dt img {
	width: 100%;
}


header .head-middle .h-logo dd {
	display: table-cell;
	vertical-align: middle;

	color: #15438D;
	font-size: 12px;
	padding-left: 5px;
}

header .head-middle .h-info {
	float: right;

	display: block;
	overflow: hidden;
	height: 60px;
	padding: 5px 0;
	text-align: right;
}

header .head-middle .h-info li {
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
	width: 60px;
	height: 50px;
}

header .head-middle .h-info li a {
	display: block;
	color: #FFFFFF;
	font-size: 10px;
	text-align: center;
	background: #15438D;
	padding: 2px;
}

header .head-middle .h-info li a span {
	display: block;
}

header .head-middle .h-info li a img {
	width: 20px;
}


header .head-bottom {
	background: #15438D;
	color: #FFFFFF;
	margin-top: 50px;
}

header .head-bottom ul {
	display: table;
	width: 100%;
	overflow: hidden;
	border-left: 1px solid #0F3065;
}

header .head-bottom ul li {
	display: table-cell;
	border-right: 1px solid #0F3065;
	text-align: center;
	width: 20%;
	vertical-align: top;
}

header .head-bottom ul li a {
	display: block;
	height: 60px;

}

header .head-bottom ul li a span {
	display: block;
	font-size: 10px;
	height: 24px;
	line-height: 100%;
}

header .head-bottom ul li:first-of-type a span,
header .head-bottom ul li:nth-of-type(2) a span {
	line-height: 24px;
}

header .head-bottom ul li a img {
	width: 20px;
	margin: 5px 0;
}


/*メインコンテンツ
----------------------------------------------------------------------------------------------------*/
#main {
	overflow: hidden;
}


.bread {
	padding: 5px;
	margin-bottom: 10px;
	display: block;
	color: #FFFFFF;
	background: #15438d;
}

.subbread {
	padding: 5px;
	display: block;
	color: #15438d;
}

.bread img,
.subbread img {
	width: 15px;
	margin-right: 5px;
	vertical-align: middle;
}


/*メイン
----------------------------------------------------------------------------------------------------*/
.main-img {
	display: block;
	position: relative;

	/*background:url(../img/index/main-img.png) no-repeat left bottom;
	background-size:contain;*/
}

.main-img img {
	width: 100%;
}

.main-img p {
	font-family: 'Noto sans japanese', sans-serif;
	font-size: 20px;
	font-weight: 700;
	text-align: right;
	color: #404040;
	line-height: 150%;
	margin: 10px 5px 0 0;
}

.main-img p img {
	width: 140px;
	margin-top: 10px;
}


/*20180724追加修正*/
.main-img .mainimg2-desc {
	margin: 10px 0;
	overflow: hidden;
	text-align: left;
	position: relative;
	width: 100%;
	padding-top: 80%;
}

.mainimg2-desc .mainimg2-desc-inner {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	padding: 0 5px;
}

.mainimg2-desc .mainimg2-desc-inner img {
	width: 100%;
}

.mainimg2-desc .mainimg2-di-1,
.mainimg2-desc .mainimg2-di-2 {
	display: none;
}

.banner-box {}

.banner-box .bb-inner {
	margin: 10px 0;
	text-align: center;
}

.banner-box .bb-inner img {
	width: 100%;
}

h2 {
	font-family: 'Noto sans japanese', sans-serif;
	font-size: 18px;
	font-weight: 900;
	text-shadow: 1px 1px 1px #EEEEEE;
	color: #15438D;
}

h2::before {
	content: " ";
	width: 20px;
	height: 20px;
	display: inline-block;
	background: url(./../img/common/logo-mark.png );
	background-size: contain;
	vertical-align: middle;
	margin-right: 6px;
}

.content-box {
	width: 100%;
	margin-bottom: 20px;
}

.content-title {
	position: relative;
	padding: 10px;
	border-bottom: 1px solid #15438D;
}

.content01 {
	width: 100%;
	margin-bottom: 20px;
}

.content01 .twin-box {
	width: 100%;
	overflow: hidden;
}

.content01 .twin-box li a {
	display: block;
	position: relative;
}

.content01 .twin-box li span {
	position: absolute;
	bottom: 40px;
	left: 4px;
	font-family: 'Noto sans japanese', sans-serif;
	font-size: 26px;
	font-weight: 700;
	text-shadow: 1px 1px 1px #222222;
	color: #FFFFFF;
	z-index: 999;
	line-height: 120%;
}

.content01 .twin-box li:first-child {
	background: #15438d;
	border: 1px solid #15438D;
}

.content01 .twin-box li:nth-child(2) {
	background-color: #00a372;
	border: 1px solid #128C43;
}

.content01 .twin-box dl dd p {
	color: #fff;
}

.content01 .twin-box dl dt img {
	width: 100%;
}

.content01 .twin-box {
	width: 100%;
}

.content01 .twin-box dl dd {
	height: 30px;
	width: 100%;
	position: relative;
	font-size: 14px;
	text-align: left;
	padding: 8px 14px;
}

.content01 .twin-box dl dd p:after {
	content: "";
	background-image: url(../img/index/triangle.png);
	background-position: center;
	background-size: 18px;
	background-repeat: no-repeat;
	position: absolute;
	right: 14px;
	top: 5px;
	height: 21px;
	padding-left: 20px;
}

.content02 {
	width: 100%;
}

.con02-box ul {
	overflow: hidden;
	width: 100%;
	padding: 10px;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 1rem;
}

.con02-box:last-of-type ul {
	flex-direction: column-reverse;
}

.con02-box ul li {
	display: block;
}

.con02-box__text {
	text-align: left;
	line-height: 1.6;
}

.con02-box__img img {
	width: 100%;
	height: 100%;
	max-height: 320px;
	object-fit: contain;
}

.content03 {
	width: 100%;
}

.con03-box ul {
	overflow: hidden;
	width: 100%;
	padding: 10px;
}

.con03-box ul li {
	display: block;
}

.con03-box ul li:first-child {
	margin-bottom: 10px;
	line-height: 150%;
}

.con03-box ul li:first-child .con03btn {
	margin: 20px auto;
	text-align: left;
	position: relative;
	background: #12438C;
	color: #fff;
	padding: 10px;
	width: 250px;
}

.con03-box ul li:first-child a:after {
	content: "";
	background-image: url(../img/index/triangle.png);
	background-position: center;
	background-size: 18px;
	background-repeat: no-repeat;
	position: absolute;
	right: 0;
	top: 2px;
	height: 34px;
	margin-right: 8px;
	padding-left: 30px;
}

/*.con03-box ul li:first-child .t-red{
	line-height: 140%;
}

.con03-box ul li:first-child .blue-t{
	line-height: 140%;
}*/

.con03-box ul li h3 {
	background: #f1f1f1;
	line-height: 1.4;
	padding: 10px;
	margin: 2em 0 0.5em;
	font-family: 'Noto sans japanese', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: #15438d;
}

.con03-box ul li p {
	/*padding: 4px 0;*/
	line-height: 150%;
}

.con03-box ul li img {
	width: 100%;
}

.content04 {
	width: 100%;
}

.con04-box {
	width: 100%;
	overflow: hidden;
}

.con04-box .con04-box-l {
	display: block;
	padding: 10px;
}

.con04-box .con04-box-l .con04-rbnbox {
	position: relative;
	background: #f1f1f1;
	line-height: 1.4;
	padding: 10px;
	margin: 2em 0 0.5em;

	font-family: 'Noto sans japanese', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: #15438d;
}

.con04-box .con04-box-l .con04-rbnbox:after {
	position: absolute;
	font-family: FontAwesome, 'Quicksand', 'Avenir', 'Arial', sans-serif;
	content: '\f00c Check';
	background: #15438D;
	color: #fff;
	left: 0px;

	bottom: 100%;
	border-radius: 5px 5px 0 0;
	padding: 3px 7px 1px;
	font-size: 0.7em;
	line-height: 1;
	letter-spacing: 0.05em;
}

.con04-box .con04-box-l li dl dd {
	padding: 10px;
	line-height: 150%;
}

.con04-box .con04-box-r {
	display: block;
	position: relative;
}

.con04-box .con04-box-r img {
	width: 60%;
	float: right;
}

.con04-box .con04-box-r-msg {
	display: block;
	padding: 10px 10px 10px 10px;
	margin: 0 10px;
	border: 1px solid #888888;

	background: white;
	border-top: solid 5px #15438D;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}

.con04-box .con04-box-r-msg p {
	font-family: 'Noto sans japanese', sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 150%;
	color: #15438D;
}

.content04 .con03btn {
	position: relative;
	background: #12438C;
	color: #fff;
	padding: 10px;
	width: 250px;
	margin: 20px auto;
}

.content04 .con03btn a {
	display: block;
	width: 100%;
}

.content04 .con03btn a:after {
	content: "";
	background-image: url(../img/index/triangle.png);
	background-position: center;
	background-size: 18px;
	background-repeat: no-repeat;
	position: absolute;
	right: 0;
	top: 2px;
	height: 34px;
	margin-right: 8px;
	padding-left: 30px;
}

.content05 {
	width: 100%;
}

.con05-box {
	width: 100%;
	overflow: hidden;
}

.con05-box .con05-box-l {
	display: block;
}

.con05-box .con05-box-l img {
	width: 100%;
}

.con05-box .con05-box-r {
	display: block;
	padding: 20px 10px 0 10px;
}

.con05-box .con05-box-r ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.con05-box .con05-box-r ul li {
	border: 2px solid #15438d;
	border-radius: 4px;
	margin-bottom: 20px;
	padding: 5px 10px 10px;
	position: relative;
}

.con05-box .con05-box-r ul li::after {
	position: absolute;
	left: 50%;
	bottom: -15px;

	color: #15438d;
	content: "▼";
	font-size: 40px !important;
	margin-left: -20px;
}

.con05-box .con05-box-r ul li.con05-box-r-listend::after {
	content: "";
}

.con05-box .con05-box-r ul li dl dt {
	font-family: 'Noto sans japanese', sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: #15438d;
	margin-bottom: 5px;
}

.con05-box .con05-box-r ul li dl dd {
	border-top: 1px solid #15438d;
	padding-top: 5px;
	line-height: 150%;
}

.content05 .con03btn {
	margin: 20px auto;
	text-align: left;
	position: relative;
	background: #12438C;
	color: #fff;
	padding: 10px;
	width: 250px;
}

.content05 .con03btn a {
	display: block;
	width: 100%;
}

.content05 .con03btn a:after {
	content: "";
	background-image: url(../img/index/triangle.png);
	background-position: center;
	background-size: 18px;
	background-repeat: no-repeat;
	position: absolute;
	right: 0;
	top: 2px;
	height: 34px;
	margin-right: 8px;
	padding-left: 30px;
}

.content06 {
	width: 100%;
}

.con06-box {
	width: 100%;
	overflow: hidden;
	padding: 10px;
}

.con06-box .con06-box-desc {
	font-size: 16px;
}

.con06-box ul {
	margin: 10px 0;
}

.con06-box ul li {
	border-bottom: 1px dotted #888888;
	padding-bottom: 10px;
}

.con06-box ul li dl {
	width: 100%;
	overflow: hidden;
}

.con06-box ul li dl dt,
.con06-box ul li dl dd {
	color: #444444;
	margin: 0 0 0 0;
	padding-left: 36px;
	line-height: 150%;
	background: none no-repeat left top;
	min-height: 50px;
}

.con06-box ul li dl dt {
	background: url(./../img/index/con06-q.png ) no-repeat;
	background-size: 26px;
	background-position: 0 10px;
	border-top: 1px dashed #c4c4c4;
	padding-top: 15px;
	margin-top: -1px;
}

.con06-box ul li dl dd {
	background: url(./../img/index/con06-a.png ) no-repeat;
	background-size: 26px;
	overflow: hidden;
}

.con06-box ul li:last-child {
	border-bottom: 0px !important;
}

.con06-box .con03btn {
	position: relative;
	background: #12438C;
	color: #fff;
	padding: 10px;
	width: 250px;
	margin: 0 auto;
}

.con06-box .con03btn a {
	display: block;
	width: 100%;
}

.con06-box .con03btn a:after {
	content: "";
	background-image: url(../img/index/triangle.png);
	background-position: center;
	background-size: 18px;
	background-repeat: no-repeat;
	position: absolute;
	right: 0;
	top: 2px;
	height: 34px;
	margin-right: 8px;
	padding-left: 30px;
}

.faqGroup {
	display: none;
	opacity: 0;
	transition: opacity .5s 1s linear;
}

.faqGroup.active {
	display: block;
	animation: fadeIn .5s linear forwards;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.tab {
	display: flex;
	gap: 1rem;
	width: 100%;
	margin: 2rem auto;
}

.tab__item {
	flex: 0 1 100%;
	height: 3rem;
	font-size: 1rem;
	border-radius: 4px;
	background: gray;
	color: white;
	border: unset;
	cursor: pointer;
}

.tab__item--contract.active {
	background: #15438D;
}

.tab__item--prepare.active {
	background: #0f9120;
}

.tab__item--support.active {
	background: #e77b17;
}

.content07 {
	width: 100%;
}

.content07 .content-title {}

.con07-box {
	width: 100%;
	border-top: none;
	overflow: hidden;
	padding: 10px;
}

.con07-box img {
	width: 100%;
}

.con07-box ul {
	display: block;
	width: 100%;
	overflow: hidden;
}

.con07-box ul li {
	display: block;
	margin-bottom: 10px;
	line-height: 150%;
}

.con07-box ul li dl {
	width: 100%;
}

.con07-box ul li dl dt {
	vertical-align: top;
}

.con07-box ul li dl dd {
	vertical-align: top;
	width: 100%;
	overflow: hidden;
}

.con07-box ul li dl dd img {
	float: left;
	width: 50%;
}

.con07-box ul li dl dd span.con07-att {
	display: block;
	color: #FF0004;
	line-height: 150%;
	font-weight: bold;
}

.con07-box ul li dl dd span.con07-att span {
	font-size: 12px;
	font-weight: normal;
}

.con07-box ul li dl dd span.con7-name {
	display: block;
	font-weight: bold;
}

.con07-box ul li dl dd.desc {
	text-align: right;
}

.con07-box ul li:last-of-type {
	margin-bottom: 0;
}

.content07 .con03btn {
	position: relative;
	background: #12438C;
	color: #fff;
	padding: 10px;
	width: 250px;
	margin: 20px auto;
}

.content07 .con03btn a {
	display: block;
	width: 100%;
}

.content07 .con03btn a:after {
	content: "";
	background-image: url(../img/index/triangle.png);
	background-position: center;
	background-size: 18px;
	background-repeat: no-repeat;
	position: absolute;
	right: 0;
	top: 2px;
	height: 34px;
	margin-right: 8px;
	padding-left: 30px;
}

.content-news {
	width: 100%;
}

.con-news-box {
	display: block;
	overflow: hidden;
	padding: 10px;
}

.con-news-box .con-nb-left {
	display: block;
	margin-bottom: 10px;
}

.con-news-box .con-nb-left ul {
	display: block;
	margin-right: 10px;
}

.con-news-box .con-nb-left ul li {
	border-bottom: 1px dashed #CCCCCC;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

.con-news-box .con-nb-left ul li dl {}

.con-news-box .con-nb-left ul li dl dt {}

.con-news-box .con-nb-left ul li dl dd {
	line-height: 150%;
}

.con-news-box .con-nb-right {
	display: block;
	text-align: center;
}

.contact-box {
	background: #00a372;
	padding: 20px;
	color: #FFFFFF;
	margin-bottom: 12px;
}

.contact-box .contact-b-st {
	font-family: 'Noto sans japanese', sans-serif;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	padding-bottom: 10px;
	border-bottom: 1px solid #FFFFFF;
}

.contact-box .contact-b-inner {
	display: block;
	overflow: hidden;
}

.contact-box .contact-b-inner .cb-i-left {
	margin-bottom: 10px;
}

.contact-box .contact-b-inner .cb-i-left p {
	margin: 10px 0;
	line-height: 150%;
}

.contact-box .contact-b-inner .cb-i-left p:nth-of-type(2) {
	text-align: center;
}

.contact-box .contact-b-inner .cb-i-left p.cb-i-tel img {
	width: 100%;
}

.contact-box .contact-b-inner .cb-i-left p.btn-box {
	margin-top: 20px;
}

.contact-box .contact-b-inner .cb-i-left p.btn-box a {
	display: block;
	border: 1px solid #FFFFFF;
	padding: 20px;
	font-family: 'Noto sans japanese', sans-serif;
	font-size: 16px;
	font-weight: 500;
	text-align: center;
}

.contact-box .contact-b-inner .cb-i-left p.btn-box a:last-of-type {
	margin-top: 8px;
}

.contact-box .contact-b-inner .cb-i-left p.btn-box a:hover {
	opacity: 1;
	background: rgba(255, 255, 255, .3)
}


.contact-box .contact-b-inner .cb-i-right {}

.contact-box .contact-b-inner .cb-i-right img {
	width: 100%;
}


/*20180606追加/無料説明会参加フォーム*/
.free-infomation {
	width: 100%;
	margin-bottom: 20px;
}

.free-infomation .free-info-box {}


.free-infomation .free-info-box ul {
	overflow: hidden;
	width: 100%;
	padding: 10px;
}

.free-infomation .free-info-box ul li {
	display: block;
}

.free-infomation .free-info-box ul li:first-of-type span {
	display: block;
	margin-bottom: 16px;
}

.free-infomation .free-info-box ul li:first-of-type .shopinfo {
	padding: 8px 8px 8px 8px;
	border: 1px solid #15438D;
}

.free-infomation .free-info-box ul li:first-of-type {
	margin-bottom: 20px;
	line-height: 150%;
}

.free-infomation .free-info-box ul li:first-of-type dl {
	border-bottom: 1px dashed #CCCCCC;
	padding: 10px 5px;
}

.free-infomation .free-info-box ul li:first-of-type dl dt {
	margin-bottom: 10px;
	font-weight: bolder;
}

.free-infomation .free-info-box ul li:first-of-type dl dd {
	line-height: 150%;
}

.free-infomation .free-info-box ul li:last-of-type {}


.free-infomation .free-info-box ul li .fi-formst {
	font-size: 16px;
	font-family: 'Noto sans japanese', sans-serif;
	font-weight: 600;
	border-bottom: 1px solid #000000;
	padding-bottom: 5px;
	margin-bottom: 10px;
}

.free-infomation .free-info-box ul li:last-of-type dl {
	display: block;
	width: 100%;
	overflow: hidden;
	margin-top: 10px;
}

.free-infomation .free-info-box ul li:last-of-type dl dt {
	margin-bottom: 5px;
	font-weight: bold;
}

.free-infomation .free-info-box ul li:last-of-type dl dd {}

.free-infomation .free-info-box ul li:last-of-type dl dd .addr-title {
	margin: 5px 0;
}

.free-infomation .free-info-box ul li:last-of-type dl dd input,
.free-infomation .free-info-box ul li:last-of-type dl dd select {
	width: 100%;
	height: 30px;
}

.free-infomation .free-info-box ul li:last-of-type .btn-box {
	margin-top: 10px;
	text-align: center;
}

.free-infomation .free-info-box ul li:last-of-type .btn-box .submit-btn {
	border: 1px solid #15438D;
	width: 300px;
	padding: 10px;
	color: #15438D;
	font-size: 16px;
	font-family: 'Noto sans japanese', sans-serif;
	font-weight: 600;
	background-color: #FFFFFF;
}

/*20200317追加about.php*/
.content06 .aboutbox01 .con04-box .con04-rbnbox {
	padding-bottom: 8px;
	background: #ffe38e;
}

.content06 .aboutbox01 .con04-box .con04-rbnbox p {
	font-family: 'Noto sans japanese', sans-serif;
	font-size: 19px;
}

.content06 .aboutbox01 .con06-box-desc {
	overflow: hidden;
	width: 100%;
	padding: 10px;
}

.content06 .aboutbox01 .con06-box-desc li {
	padding-bottom: 10px;
}

.content06 .aboutbox01 .con06-box-desc li:last-child {
	height: 250px;
}

.content06 .aboutbox01 .con06-box-desc li:last-child img {
	width: 100%;
}

.content06 .aboutbox01 .con04-box span {
	display: block;
	width: 100%;
	padding: 8px;
	font-size: 16px;
}

.content06 .aboutbox02 .con04-box dt {
	display: block;
}

.content06 .aboutbox02 .con04-box dt img {
	width: 100%;
}

.content06 .aboutbox02 .con04-box dl dd {
	display: block;
	width: 100%;
	margin: 0 auto;
}

.content06 .aboutbox02 .con04-box dl dd img {
	width: 100%;
}

.content06 .aboutbox02 .con04-box .con04-box-r-msg {
	margin: 20px 0;
}

.content06 .aboutbox02 .con04-box .con04-box-r-msg span {
	font-family: 'Noto sans japanese', sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 150%;
	color: #15438D;
}

.content04 .aboutbox04 .content-title {
	border-bottom: 1px solid #666 !important;
}

.content04 .aboutbox04 h2 {
	color: #666;
	font-weight: 700;
}

.content04 .aboutbox04 h2:before {
	display: none;
}

.content04 .aboutbox04 .con04-box .con04-rbnbox:after {
	display: none;
}

.content04 .aboutbox04 .con04-box .con04-rbnbox p {
	color: #000;
}

/*[afteropen]*/
.content04 .afterbox02 {
	padding: 10px;
}

.content04 .afterbox02 .con04-box-l span {
	line-height: 150%;
}

.content04 .afterbox02 .ownerimg {
	width: 100%;
}

.content04 .afterbox02 .ownerimg img {
	width: 100%;
}

/*20200824｜新店オープン情報
-------------------------------------------------------------------------------------------------*/
.content03-2 {
	width: 100%;
}

.content03-2 .new-shops {
	margin-top: 16px;
}

.content03-2 .new-shops ul {}

.content03-2 .new-shops ul li {
	border: 2px solid #15438d;
	border-radius: 4px;
	margin-bottom: 20px;
	padding: 5px 10px 10px;
	position: relative;
}

.content03-2 .new-shops ul li a {}

.content03-2 .new-shops a dl {}

.content03-2 .new-shops a dl dt {
	font-family: 'Noto sans japanese', sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: #15438d;
	margin-bottom: 5px;
}

.content03-2 .new-shops a dl dd {
	border-top: 1px solid #15438d;
	padding-top: 5px;
	line-height: 150%;
}

.content03-2 .new-shops a dl dd span {
	font-weight: 600;
	color: #3fd800;
}

/*フッター
----------------------------------------------------------------------------------------------------*/
footer {
	position: relative;
	margin-bottom: 60px;
}

footer .foot-inner {}

footer .totop {
	position: absolute;
	top: 0;
	right: 0;

	margin-top: -30px;
	background: #15438D;
	color: #FFFFFF;
	padding: 0 10px;
	display: inline-block;
	height: 30px;
	line-height: 30px;
}


footer .foot-nav {
	background: #15438D;
	color: #FFFFFF;
}

footer .foot-nav ul {
	display: table;
	width: 100%;
	overflow: hidden;
	border-left: 1px solid #0F3065;
}

footer .foot-nav ul li {
	display: table-cell;
	border-right: 1px solid #0F3065;
	text-align: center;
	width: 20%;
	vertical-align: top;
}

footer .foot-nav ul li a {
	display: block;
	height: 60px;

}

footer .foot-nav ul li a span {
	display: block;
	font-size: 10px;
	height: 24px;
	line-height: 100%;
}

footer .foot-nav ul li:first-of-type a span,
footer .foot-nav ul li:nth-of-type(2) a span {
	line-height: 24px;
}

footer .foot-nav ul li a img {
	width: 20px;
	margin: 5px 0;
}


footer .foot-bottom {
	background: #FFFFFF;
	padding: 20px 0;
	text-align: center;
}

footer .foot-bottom ul {}


footer .foot-bottom .f-logobox {
	width: 60%;
	margin: 20px auto;
}

footer .f-logobox .flex-box {
	display: flex;
	flex-direction: column;
}

footer .f-logobox .flex-box li {
	border: none !important;
	margin-bottom: 12px;
	width: 100%;
	height: 80px;
}

footer .f-logobox .flex-box li a {}

footer .f-logobox img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

footer .foot-bottom .f-copy {
	padding-bottom: 40px;
}

footer .f-logobox .f-2 img {
	width: 125px;
	margin-top: 20px;
	height: 50px;
}


.pagetop {
	position: fixed;
	bottom: 50px;
	/*適宜変更*/
	right: 20px;
	/*適宜変更*/
	z-index: 99;
	/*適宜変更・削除*/

	display: inline-block;
	/*必要があれば適宜変更*/
}

.pagetop img {
	width: 55px;
	/*アイコンを置く場合などは適宜サイズ指定など追加。*/
}


#fixed-detailfooter {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 999;
	width: 100%;
	transition: .3s;
	transform: translateY(100%);
}

.is-show {
	transform: translateY(0) !important;
}

#fixed-detailfooter ul {
	display: table;
	width: 100%;
	overflow: hidden;
}

#fixed-detailfooter ul li {
	display: table-cell;
	vertical-align: middle;
	width: 34%;
	color: #fff;
	text-align: center;
	padding: 4px 0;
	font-size: 14px;
	height: 30px;
}

#fixed-detailfooter ul li img {
	display: block;
	width: 20px;
	margin: 0 auto;
	padding-bottom: 4px;
}

#fixed-detailfooter ul li:first-child {
	background: #1869c3;
}

#fixed-detailfooter ul li:nth-child(2) {
	background: #FF8600;
}

#fixed-detailfooter ul li:nth-child(3) {
	background: #029B22;
}

/*blands.php
------------------------------------------------------------------------------------------*/

#blands h2 {
	font-family: 'Noto sans japanese', sans-serif;
	font-size: 18px;
	font-weight: 900;
	text-shadow: 1px 1px 1px #EEEEEE;
	color: #15438D;
}

#blands h2::before {
	content: " ";
	width: 20px;
	height: 20px;
	display: inline-block;
	background: url(./../img/common/logo-mark.png);
	background-size: contain;
	vertical-align: middle;
	margin-right: 6px;
}

#blands .con03-box ul {
	overflow: hidden;
	width: 100%;
	padding: 10px;
}

#blands .con03-box ul li:first-child {
	margin-bottom: 10px;
	line-height: 150%;
	text-align: center;
}

#blands a {
	text-decoration: none;
	color: inherit;
}

#blands .con03-box ul li:first-child .con03btn {
	margin: 20px auto;
	text-align: left;
	position: relative;
	color: #fff;
	padding: 10px;
	width: 250px;
}

#blands .con03-box ul li:first-child .bg1 {
	background: #12438C;
}

#blands .con03-box ul li:first-child .bg2 {
	background: #da291c;
}

#blands .con03-box ul li:first-child .bg3 {
	background: #00a0e9;
}

#blands .con03-box ul li:first-child .bg4 {
	background: #2A3855;
}


#blands .con03-box ul li {
	display: block;
}

#blands .con03-box ul li img {
	width: 100%;
}

#blands .con03-box ul li:first-child img {
	width: 80%;
}

#blands .con03-box ul li p {
	margin-top: 20px;
}

/*エラーページ
---------------------------------------------------------------------------*/
#error .h-img img {
	width: 200px;
}

#error .error-line {
	width: 100%;
	height: 5px;
	background-color: #12438C;
}

#error .head {
	width: 100%;
	height: 5px;
	background-color: #12438C;
}

#error .h-img {
	width: 100%;
	margin-top: 20px;
	text-align: center;
}

#error .h-text {
	margin-top: 20px;
	text-align: center;
}

#error .h-botan {
	margin-top: 20px;
	text-align: center;
}

#error .h-botan a {
	margin: 0 auto;
	font-size: 15px;
}

#error .morebtn-b {
	display: inline-block;
	font-size: 18px;
	font-family: 'Noto sans japanese', sans-serif;
	font-weight: 600;
	color: #FFFFFF;
	background: #1869c3;
	border-radius: 5px;
	text-align: center;
	width: 260px;
	height: 50px;
	line-height: 50px;
	border: 0;
}

#error .morebtn-b:before {
	content: " ";
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-right: 5px;
	background: url(../img/common/right-circle-w.png)no-repeat center;
	background-size: cover;
	vertical-align: middle;
}


/*sp用新メニュー作成*/

#sp-menu {
	position: fixed;
	top: 50px;
	width: 100%;
	height: 100%;
	padding: 40px 0;
	z-index: 9999;
	background: #15438d;
}

#sp-menu .flexbox {
	display: grid;
	grid-auto-columns: 30%;
	grid-auto-rows: 120px;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: repeat(3, 100px);
	width: 90%;
	margin: auto;
}

#sp-menu li {}

#sp-menu li a {
	display: flex;
	flex-direction: column;
	padding: 0 7px;
	width: 100%;
	height: 100%;
	text-align: left;
	justify-content: center;
	align-items: center;
	color: #fff;
}

#sp-menu a span {
	display: block;
	width: 32px;
	height: 32px;
	margin-bottom: 12px;
}

#sp-menu span img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#sp-menu a p {
	text-align: center;
}

#sp-menu .other-btn {
	margin: 40px auto;
}

#sp-menu .other-btn li {}

#sp-menu .other-btn li a {
	display: table;
	width: 90%;
	height: 60px;
	margin: 0 auto 12px;
	text-align: center;
	background: #04b189;
	font-size: 17px;
	font-weight: bold;
}

#sp-menu .other-btn a p {
	display: table-cell;
	vertical-align: middle;
}

#sp-menu #menu-close {
	background: #fff;
	color: #15438d;
}


.footer-linebanner {
	margin: 0 12px 60px;
}

.line-official-banner {
	margin: 12px 0;
}

.line-official-banner img {
	width: 100%;
}


/*20221220 お知らせ一覧
---------------------------------------------------------------------------*/

.news-li {
	display: flex;
	overflow: hidden;
	width: 100%;
}

.news-li .news-con {
	width: 50%;
	font-size: 16px;
	padding: 10px 10px 10px 10px;
	line-height: 160%;
}

.news-li .news-title {
	font-family: 'Noto sans japanese', sans-serif;
	font-size: 20px;
	font-weight: 600;
	color: #15438d;
	margin-bottom: 5px;
	border-bottom: 1px solid #15438d;
}

.news-li .li-con .con03btn {
	position: relative;
	background: #12438C;
	color: #fff;
	padding: 10px 20px;
}

.news-li .li-con .span-btn {
	display: block;
	width: 100%;
}

.news-li .li-con .span-btn:after {
	content: "";
	background-image: url(../img/index/triangle.png);
	background-position: center;
	background-size: 18px;
	background-repeat: no-repeat;
	position: absolute;
	right: 10px;
	top: 2px;
	height: 34px;
	padding-left: 30px;
}

.news-li .li-con p {
	line-height: 180%;
}

.news-li .li-img {
	display: block;
	width: 50%;
}

.news-li .li-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}

/**/

.topic-header {
	width: 100%;
	height: 200;
	margin-bottom: 10px;
	overflow: hidden;
}

.topic-header img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.topic-box {}

.topic-title {
	position: relative;
	padding: 10px;
	border-bottom: 1px solid #12438C;
}

.topic-text {
	font-family: 'Noto sans japanese', sans-serif;
}

.topic-text {
	font-size: 16px;
	padding: 20px 10px;
	line-height: 170%;
}

.topic-text>div {
	font-weight: bold;
	line-height: 170%;
}

.topic-text strong {
	font-weight: bold;
	font-size: 1.2em;
	line-height: 170%;
	word-break: break-all;
}

.topic-text h1,
.topic-text h2 {
	border-bottom: 2px dotted #15438d;
	border-left: 20px solid #15438d;
	padding: 7px;
	font-size: 2em;
	width: 100%;
	line-height: 170%;
	font-weight: bold;
	color: #272727;
}

.topic-text h2 {
	border-left: none;
}

.topic-text h3 {
	border-left: 20px solid #15438d;
	padding: 7px;
	font-size: 1.8em;
	width: 100%;
	line-height: 170%;
	font-weight: bold;
	color: #272727;
}

.topic-text h4 {
	padding: 7px;
	font-size: 2em;
	line-height: 170%;
	font-weight: bold;
	color: #272727;
}

.topic-text .blog-inner-st {
	font-weight: bold;
	font-size: 2em;
}

.topic-text img {
	display: block;
	margin: 10px auto;
	width: 80%;
	height: unset;
	aspect-ratio: 3/2;
	object-fit: cover;
}



/**/

.sub-topics {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1em;
	margin: 1em;
}

.sub-topics .sub-topic-list {
	width: 47%;
}

.sub-topic-list a {
	display: flex;
	gap: 1em;
}

.sub-topic-list img {
	width: 30%;
	aspect-ratio: 1/1;
	object-fit: cover;
}

.sub-topic-list .sub-listopic {}

.sub-topic-list .sub-listopic-title {
	font-size: 1.2em;
	text-align: left;
	font-weight: bold;
	color: #15438d;
}

.sub-topic-list .sub-listopic-date {
	text-align: left;
	font-weight: bold;
	color: #a4a4a4;
}