@charset "UTF-8";

/*---------------------------------
	全体囲み
----------------------------------*/
#container {
	width: 100%;
	position: relative;
}

/*---------------------------------
	Scroll
----------------------------------*/
/* ▼ Modified 202201 ▼ ---------- */
.totop {
	position: absolute;
	bottom: 314px;
	right: 10px;
}
@media screen and (max-width:640px){
	.totop {
		bottom: 289px;
	}
}
@media screen and (max-width:480px){
	.totop {
		bottom: 261px;
	}
}
/* ▲ Modified 202201 ▲ ---------- */

/*---------------------------------
	ヘッダ
----------------------------------*/
#header {
	width: 100%;
	position: relative;
	padding: 50px 0 35px;
	background-color: #ffffff;
}

/* ▼ Modified 202201 ▼ ---------- */
#inHeader {
	position: relative;
	width: 980px;
	margin-right: auto;
	margin-left: auto;
	display: flex;
  align-items: center;
  justify-content: space-between;
}
/* ▲ Modified 202201 ▲ ---------- */

h1 {
	width: 29%;
	display: inline-block;
	vertical-align: middle;
}
h1 a:hover img {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}
.header-r {
	width: 70%;
	text-align: right;
	display: inline-block;
	vertical-align: middle;
}
.header-r a {
	text-decoration: none;
}
.catch {
	font-size: 32px;
	line-height: 1.2;
	color: #C51813;
	margin-bottom: 0.25em;
}
.catch span {
	font-weight: bold;
	letter-spacing: -2px;
}

/* ▼ Add 202201 ▼ --------------- */
.r-btn-unit {
  width: 90%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0 0 0 10%;
}
/* ▲ Add 202201 ▲ --------------- */

.r-btn a {
	color: #ffffff;
	display: block;
}

/* ▼ Modified 202201 ▼ ---------- */
.r-btn {
	width: 32.5%; /* Modified 202301 */
	/* width: 49%; */
	font-size: 15px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	vertical-align: middle;
	display: inline-block;
	/display: inline;
	/zoom: -1;
	border-radius: 30px;
	/*
	width: 42%;
	padding: 0 1.25em;
	*/
	padding: 0;
}
.red-btn {
	background-color: #ce1126;
}
.orange-btn {
	background-color: #ff6c00;
	/*
	margin-left: 0.5em;
	margin: 0 0 0 3.5%;
	*/
}
.green-btn {
	background-color: #82B400;
	/*
	margin-left: 0.5em;
	margin: 0 0 0 3.5%;
	*/
}
/* ▲ Modified 202201 ▲ ---------- */

/* ▼ Add 202201 ▼ --------------- */
.blue-btn {
  background-color: #0080ff;
  margin: 1.5% 0 0;
}
/* ▲ Add 202201 ▲ --------------- */

.h-nav {
	margin-top: 1em;
}
.toggle-btn {
	display: none;
}
.h-nav {
	border-right: solid 1px #404040;
}
.h-nav li {
	vertical-align: middle;
	display: inline-block;
	/display: inline;
	/zoom: -1;
	font-size: 14px;
	text-align: center;
	border-left: solid 1px #404040;
	padding: 0 1.25em;
}

/* ▼ Modified 202403 ▼ ---------- */
.h-nav li:first-child { display: none; }
/* ▲ Modified 202403 ▲ ---------- */

.h-nav li a {
	color: #404040;
}
.header-line {
	position: relative;
	z-index: 50;
	width: 100%;
	height: 36px;
	background: url(../images/header_underline.svg) repeat-x left bottom;
}
@media screen and (max-width:979px) {
	#inHeader {
		width: 94%;
	}
}
@media screen and (max-width:768px) {
	#header {
		padding: 30px 0 25px;
	}
	.catch {
		font-size: 28px;
	}
	/* ▼ Add 202201 ▼ --------------- */
	.r-btn-unit {
		width: 96%;
		padding: 0 0 0 4%;
	}
	/* ▲ Add 202201 ▲ --------------- */

	/* ▼ Modified 202201 ▼ ---------- */
	.r-btn {
		width: 32.5%; /* Modified 202301 */
		/* width: 49%; */
		height: 25px;
		line-height: 25px;
		font-size: 12px;
	}
	/* ▲ Modified 202201 ▲ ---------- */

	.h-nav {
		margin-top: 0.75em;
	}
	.h-nav li {
		font-size: 12px;
		padding: 0 0.75em;
	}
}
@media screen and (max-width:640px) {
	#header {
		padding: 3% 0;
	}
	#inHeader {
		width: 100%;
	}
	h1 {
		position: relative;
		left: 3%;
		display: block;
	}
	.overlay {
		position: fixed;
		z-index: 100;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: none;
		text-align: center;
		padding-top: 20%;
		background: rgba(255,255,255,0.95);
	}
	.header-r {
		width: 100%;
		display: block;
	}
	.catch {
		font-size: 24px;
		line-height: 1.5;
		margin-bottom: 0;
	}

	/* ▼ Add 202201 ▼ --------------- */
	.r-btn-unit {
    width: 70%;
    margin: 0 auto;
    display: block;
    padding: 0;
  }
  /* ▲ Add 202201 ▲ --------------- */

  /* ▼ Modified 202201 ▼ ---------- */
	.r-btn {
		/*
		width: 50%;
		margin-left: auto;
		margin-right: auto;
		*/
		width: 100%;
		font-size: 16px;
		height: 28px;
		line-height: 28px;
		margin-top: 0.75em;
	}
	/* ▲ Modified 202201 ▲ ---------- */

	/* ▼ Add 202201 ▼ --------------- */
	.orange-btn, .green-btn { margin-left: 0; }
	/* ▲ Add 202201 ▲ --------------- */

	.toggle-btn {
		position: absolute;
		top: 20%;
		right: 5%;
		z-index: 200;
		display: inherit;
	}
	.toggle-btn p {
		position: relative;
		width: 40px;
		background-color: #ffffff;
		cursor: pointer;
	}
	/*
	.toggle-btn p:after {
		content: url("../images/open_btn_blk.png");
		width: 35px;
	}
	.toggle-btn p.close:after {
		content: url("../images/close_btn_blk.png");
		width: 30px;
	}
	*/
	.toggle-btn p span {
		position: absolute;
		left: 0;
		background-color: #404040;
		display: block;
		height: 3px;
		width: 100%;
		border-radius: 3px;
		transition: all .4s;
	}
	.toggle-btn p span:nth-of-type(2) {
		top: 10px;
	}
	.toggle-btn p span:nth-of-type(3) {
		top: 20px;
	}
	.toggle-btn p.active span:nth-of-type(1) {
		-webkit-transform: translateY(10px) rotate(-45deg);
		transform: translateY(10px) rotate(-45deg);
	}
	.toggle-btn p.active span:nth-of-type(2) {
		opacity: 0;
	}
	.toggle-btn p.active span:nth-of-type(3) {
		-webkit-transform: translateY(-10px) rotate(45deg);
		transform: translateY(-10px) rotate(45deg);
	}
	.h-nav {
		width: 100%;
		height: 100%;
		border-right: none;
		margin-top: 1.5em;
	}
	.h-nav li {
		font-size: 18px;
		display: block;
		margin-bottom: 0;
		margin-left: 0;
		border-left: none;
		margin-top: 0.5em;
	}
}
@media screen and (max-width:480px) {
	.catch {
		font-size: 22px;
		line-height: 1.4;
	}
	.header-line {
		height: 25px;
		background: url(../images/header_underline_70.svg) repeat-x left bottom;
	}
}
@media screen and (max-width:414px) {
	/* ▼ Add 202201 ▼ --------------- */
	.r-btn-unit {
		width: 90%;
	}
	/* ▲ Add 202201 ▲ --------------- */
}

/*---------------------------------
	フッタ
----------------------------------*/
#footer {
	background-color: #e6e6e6;
	width: 100%;
	text-align: center;
	color: #404040;
	padding: 60px 0 25px;
}
#footer a {
	color: #404040;
	text-decoration: none;
}
#inFooter {
	position: relative;
	width: 1100px;
	margin-right: auto;
	margin-left: auto;
}
.f-nav {
	font-size: 14px;
	width: 52.5%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 60px;
	line-height: 2.5;
}
.f-nav span {
	text-align: center;
	padding-right: 0.5em;
	padding-left: 0.5em;	
}

/* ▼ Modified 202403 ▼ --------------- */
.f-nav span:first-of-type { display: none; }
/* ▲ Modified 202403 ▲ --------------- */

.f-nav span:not(:nth-of-type(4)):not(:nth-of-type(6)):not(:nth-of-type(9)) {
	border-right: solid 1px #404040;
}
.footer-line {
	position: relative;
	width: 100%;
	height: 36px;
	background: url(../images/footer_underline.svg) repeat-x left bottom;
}
@media screen and (max-width:1099px) {
	#footer {
		height: auto;	
	}
	#inFooter {
		width: 100%;
	}
	address {
		font-size: 10px;	
	}
}
@media screen and (max-width:768px) {
	#footer {
		padding-top: 0;
	}
	.f-nav {
		font-size: 14px;
		width: 100%;
		margin: 0;
		padding: 60px 0;
		line-height: 2.5;
	}
}
@media screen and (max-width:640px) {
	.f-nav {
		width: 100%;
		padding: 30px 0;
		line-height: 2.5;
	}
	/* ▼ Modified 202403 ▼ --------------- */
	/* .f-nav span:nth-of-type(2) { border-right: none !important; } */
	/* ▲ Modified 202403 ▲ --------------- */
	address { font-size: 12px; }
}
@media screen and (max-width:480px) {
	.footer-line {
		height: 25px;
		background: url(../images/footer_underline_70.svg) repeat-x left bottom;
	}
	.f-nav {
		line-height: 2.2;
	}
}
@media screen and (max-width:375px) {
	.f-nav { font-size: 13px; }
}

/*---------------------------------
	メイン
----------------------------------*/
/* 矢印 */
p.arrow {
	position: absolute;
	left: 0;
	top: 75%;
	right: 0;
	bottom: 0;
	margin: auto;
	z-index: 10;
	height: 82px;
	width: 82px;
}
@media screen and (max-width:979px) {
	p.arrow {
		height: 70px;
		width: 70px;
	}
}
@media screen and (max-width:768px) {
	p.arrow {
		top: 70%;
		height: 60px;
		width: 60px;
	}
}
@media screen and (max-width:640px) {
	p.arrow {
		top: 70%;
		height: 50px;
		width: 50px;
	}
}
@media screen and (max-width:480px) {
	p.arrow {
		top: 65%;
		height: 40px;
		width: 40px;
	}
}

#contents {
	width: 100%;
	position: relative;
}
.main {
	width: 1100px;
	margin-right: auto;
	margin-left: auto;
	margin-top: 80px;
}
@media screen and (max-width:1099px) {
	.main {
		width: 94%;
		margin-top: 8%;
	}
}

h2.h2 {
	position: relative;	
}

/* 4つの画像 */
#four-images {
	width: 980px;
	margin-right: auto;
	margin-left: auto;
}
#four-images img {
	width: 230px;
	margin-right: 20px;
	display: inline-block;
	/display: inline;
	/zoom: -1;
}
#four-images img:last-child {
	margin-right: 0;	
}
@media screen and (max-width:1099px) {
	#four-images {
		width: 100%;
	}
	#four-images img {
		width: 23.45%;
		margin-right: 2%;
	}
}
@media screen and (max-width:640px) {
	#four-images img {
		width: 49%;
		margin-right: 2%;
		margin-bottom: 2%;
	}
	#four-images img:nth-child(even) {
		margin-right: 0;	
	}
}

/* 黒いボタン */
.blk-btn {
	width: 980px;
	text-align: center;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 145px;
	/*
	background-color: #000000;
	height: 75px;
	border: 1px solid #ffffff;
	box-sizing: border-box;
	*/
}
/*
.blk-btn a {
	color: #ffffff;
	font-size: 22px;
	text-decoration: none;
	line-height: 75px;
	letter-spacing: 0.1em;
	display: block;
}
.blk-btn a:after {
	position: relative;
	content: url("../images/arrow-right.png");
	height: 29px;
	width: 20px;
	top: 5px;
	left: 10px;
}
*/
@media screen and (max-width:1099px) {
	.blk-btn {
		width: 94%;
	}
}
@media screen and (max-width:768px) {
	.blk-btn {
		margin-top: 15%;
		margin-bottom: 8%;	
	}
}

/* SNS */
.sns {
	width: 980px;
	margin-top: 85px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 145px;
}
.sns a {
	width: 480px;	
}
@media screen and (max-width:1099px) {
	.sns {
		width: 94%;
	}
	.sns a {
		width: 49%;	
	}
}
@media screen and (max-width:768px) {
	.sns {
		margin-top: 30px;
		margin-bottom: 40px;
	}
}
@media screen and (max-width:640px) {
	.sns a {
		float: none;
		display: block;
		width: 100%;
	}
	.sns a:last-child {
		margin-top: 10px;
	}
}

/* PC ↔ SP */
.item-sp, .img-sp {
	display: none;
}
@media screen and (max-width:640px) {
	.item-pc, .img-pc {
		display: none;
	}
	.item-sp, .img-sp {
		display: inherit;
	}
}
