@charset "utf-8";


/* ---------------------------------------------------------
 * common
** --------------------------------------------------------- */
body {
	background-color: #fff0b2;
	color: #000;
	font-size: calc(1500vw / 430);
	line-height: 1.5;
	font-family: 'Noto Sans JP', sans-serif;
}
img {
	max-width: 100%;
	vertical-align: top;
	margin-bottom: -1px;
}
@media (min-width: 720px) {
	body {
		font-size: calc(30px * 720 / 860);
	}
}

@media (max-width: 719px) {
	.pc {
		display: none;
	}
}
@media (min-width: 720px) {
	.sp {
		display: none;
	}
}


/* ---------- .wrapper ---------- */
.wrapper {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	padding-top: calc(6200vw / 430);
	padding-bottom: calc(18500vw / 430);
	background-color: #fff;
}
@media (min-width: 720px) {
	.wrapper {
		padding-top: calc(124px * 720 / 860);
/*		padding-bottom: calc(370px * 720 / 860);*/
		padding-bottom: 0;
	}
}


/* ---------- .cv ---------- */
.cv {
	position: relative;
}
.cv > div {
	position: absolute;
	right: calc(3500vw / 430);
	font-size: calc(2100vw / 430);
	font-weight: 500;
	animation: blinking 1s ease-in-out infinite alternate;
}
.cv > div > span {
	display: inline-block;
	background-image: linear-gradient(to top, #fff calc(900vw / 430), transparent calc(900vw / 430));
	color: #E30000;
	font-size: calc(2400vw / 430);
}
.cv .hour {
}
.cv .minute {
}
.cv01 > div { top: calc(14000vw / 430); }
.cv02 > div { top: calc(12000vw / 430); }
.cv03 > div { top: calc(12000vw / 430); }
.cv04 > div { top: calc(13000vw / 430); }
@keyframes blinking {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
@media (min-width: 720px) {
	.cv > div {
		right: calc(70px * 720 / 860);
		font-size: calc(42px * 720 / 860);
	}
	.cv > div > span {
		background-image: linear-gradient(to top, #fff calc(18px * 720 / 860), transparent calc(18px * 720 / 860));
		font-size: calc(48px * 720 / 860);
	}
	.cv01 > div { top: calc(280px * 720 / 860); }
	.cv02 > div { top: calc(240px * 720 / 860); }
	.cv03 > div { top: calc(240px * 720 / 860); }
	.cv04 > div { top: calc(260px * 720 / 860); }
}


/* ---------- .cv_tel ---------- */
.cv_tel {
	position: relative;
}
.cv_tel a {
}
.cv_tel a img {
	position: absolute;
	left: calc(1500vw / 430);
	top: calc(6800vw / 430);
	width: calc(40000vw / 430);
	animation: anime1 0.5s ease 0s infinite alternate;
	transform-origin:center;
}
@keyframes anime1 {
	from {
		transform: scale(0.9,0.9);
	}
	to {
		transform: scale(1,1);
	}
}
@media (min-width: 720px) {
	.cv_tel a img {
		left: calc(30px * 720 / 860);
		top: calc(136px * 720 / 860);
		width: calc(800px * 720 / 860);
		animation: none;
	}
}


/* ---------- .cv_mail ---------- */
.cv_mail {
	position: relative;
}
.cv_mail a {
}
.cv_mail a img {
	position: absolute;
	left: calc(4500vw / 430);
	width: calc(34000vw / 430);
}
.cv_mail a .mail_btn {
	top: calc(13300vw / 430);
}
.cv_mail a .line_btn {
	top: calc(22200vw / 430);
}
@media (min-width: 720px) {
	.cv_mail a img {
		left: calc(90px * 720 / 860);
		width: calc(680px * 720 / 860);
	}
	.cv_mail a .mail_btn {
		top: calc(266px * 720 / 860);
	}
	.cv_mail a .line_btn {
		top: calc(444px * 720 / 860);
	}
}




/* ---------------------------------------------------------
 * #header
** --------------------------------------------------------- */
#header {
/*	position: fixed;*/
	position: absolute;
	z-index: 1000;
	left: 0;
	top: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: calc(6200vw / 430);
	background-color: #E30000;
}
#header .limit_ttl {
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(18100vw / 430);
	height: calc(4100vw / 430);
	margin-right: calc(500vw / 430);
	background-color: #fff;
	border-radius: 200px;
	font-size: calc(1400vw / 430);
	font-weight: 500;
}
#header .limit_time {
	color: #fff;
	font-size: calc(1800vw / 430);
	font-weight: 500;
}
#header .limit_time span {
	font-size: calc(2800vw / 430);
}
#header .limit_time .hour {
}
#header .limit_time .minute {
}
#header .limit_time .second {
}
@media (min-width: 720px) {
	#header {
		height: calc(124px * 720 / 860);
	}
	#header .limit_ttl {
		width: calc(362px * 720 / 860);
		height: calc(82px * 720 / 860);
		margin-right: calc(10px * 720 / 860);
		font-size: calc(28px * 720 / 860);
	}
	#header .limit_time {
		font-size: calc(36px * 720 / 860);
	}
	#header .limit_time span {
		font-size: calc(56px * 720 / 860);
	}
}




/* ---------------------------------------------------------
 * #fixed_footer
** --------------------------------------------------------- */
#fixed_footer {
	position: fixed;
	z-index: 1000;
	left: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
	height: calc(13000vw / 430);
	background-color: #fff;
	text-align: center;
}
#fixed_footer p {
	font-size: calc(1400vw / 430);
	font-weight: 500;
}
#fixed_footer p > span {
	color: #E30000;
	font-size: calc(1600vw / 430);
}
#fixed_footer p .hour {
}
#fixed_footer p .minute {
}
#fixed_footer a {
}
#fixed_footer a img {
	width: calc(36050vw / 430);
	margin-top: calc(500vw / 430);
	animation: anime1 0.5s ease 0s infinite alternate;
	transform-origin:center;
}
@media (min-width: 720px) {
	#fixed_footer {
		display: none;
		height: calc(260px * 720 / 860);
	}
	#fixed_footer p {
		font-size: calc(28px * 720 / 860);
	}
	#fixed_footer p > span {
		font-size: calc(32px * 720 / 860);
	}
	#fixed_footer a img {
		width: calc(721px * 720 / 860);
		margin-top: calc(10px * 720 / 860);
	}
}




/* ---------------------------------------------------------
 * #fv
** --------------------------------------------------------- */
#fv {
}




/* ---------------------------------------------------------
 * #media
** --------------------------------------------------------- */
#media {
}
#media .list {
	height: calc(52800vw / 430);
	background-image: url("../img/media2_list_bg.png");
	background-size: 100% 100%;
}
#media .list .inner {
	overflow: hidden;
	width: calc(40000vw / 430);
	height: calc(49000vw / 430);
	margin-left: auto;
	margin-right: auto;
}
#media .list .list_ttl {
	display: flex;
	justify-content: center;
	align-items: center;
	height: calc(5000vw / 430);
	background-color: #999;
	border-radius: 8px 8px 0 0;
	color: #fff;
	font-size: calc(1800vw / 430);
	font-weight: 700;
}
#media .list .autoscroll {
	position: relative;
	overflow: hidden;
	height: calc(44000vw / 430);
	border: 2px solid #999;
	background: #fff;
	border-top: none;
	border-radius: 0 0 8px 8px;
}
#media .list table {
	width: 100%;
	animation: infinity-loop 50s infinite linear 1s both;
}
#media .list tr td {
	padding: calc(1200vw / 430) calc(1600vw / 430);
	border-bottom: 1px dashed #999;
}
#media .list tr td:last-child {
	text-align: right;
}
@keyframes infinity-loop {
  from {
    transform: translateY(0%);
  }
  to {
    transform: translateY(-100%);
  }
}
@media (min-width: 720px) {
	#media .list {
		height: calc(1056px * 720 / 860);
	}
	#media .list .inner {
		width: calc(800px * 720 / 860);
		height: calc(980px * 720 / 860);
	}
	#media .list .list_ttl {
		height: calc(100px * 720 / 860);
		font-size: calc(36px * 720 / 860);
	}
	#media .list .autoscroll {
		height: calc(880px * 720 / 860);
	}
	#media .list tr td {
		padding: calc(24px * 720 / 860) calc(32px * 720 / 860);
	}
}




/* ---------------------------------------------------------
 * #reason
** --------------------------------------------------------- */
#reason {
}




/* ---------------------------------------------------------
 * #jisseki
** --------------------------------------------------------- */
#jisseki {
	background-color: #E8E8E8;
}
#jisseki .youtube {
	width: calc(39000vw / 430);
	padding: calc(500vw / 430);
	margin-left: auto;
	margin-right: auto;
	margin-top: calc(500vw / 430);
	background-color: #F0F0F0;
}
#jisseki .youtube .inner {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
}
#jisseki .youtube iframe {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#jisseki .link {
	padding-right: calc(2500vw / 430);
	padding-top: calc(500vw / 430);
	padding-bottom: calc(500vw / 430);
	text-align: right;
}
#jisseki .link a {
	color: #0047FF;
	font-size: calc(1600vw / 430);
	font-weight: 500;
}
@media (min-width: 720px) {
	#jisseki .youtube {
		width: calc(780px * 720 / 860);
		padding: calc(10px * 720 / 860);
		margin-top: calc(10px * 720 / 860);
	}
	#jisseki .link {
		padding-right: calc(50px * 720 / 860);
		padding-top: calc(10px * 720 / 860);
		padding-bottom: calc(10px * 720 / 860);
	}
	#jisseki .link a {
		font-size: calc(32px * 720 / 860);
	}
}




/* ---------------------------------------------------------
 * #area
** --------------------------------------------------------- */
#area {
	background-image: url("../img/area_bg.png");
	background-size: 100% auto;
	background-position: top center;
}
#area .list_area {
	width: calc(39000vw / 430);
	margin-left: auto;
	margin-right: auto;
	margin-top: calc(3000vw / 430);
}
#area .areas {
	padding: calc(1400vw / 430) calc(2000vw / 430);
	background-color: #fff;
	border-radius: calc(1000vw / 430);
}
#area .areas:not(:first-child) {
	margin-top: calc(1000vw / 430);
}
#area .area_ttl {
	position: relative;
	padding-right: calc(2000vw / 430);
	color: #FF8A01;
	font-size: calc(2000vw / 430);
	font-weight: 700;
}
#area .area_ttl::before,
#area .area_ttl::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	display: block;
	width: calc(300vw / 430);
	height: calc(1600vw / 430);
	margin-top: auto;
	margin-bottom: auto;
	background-color: #FF8A01;
	transform-origin: center;
	transition: all ease 0.3s;
}
#area .area_ttl::before {
	right: calc(1500vw / 430);
	transform: rotate(45deg);
}
#area .area_ttl::after {
	right: calc(2500vw / 430);
	transform: rotate(-45deg);
}
#area .open .area_ttl::before {
	transform: rotate(-45deg);
}
#area .open .area_ttl::after {
	transform: rotate(45deg);
}
#area ul {
	display: flex;
	flex-wrap: wrap;
	max-height: 0;
	overflow: hidden;
	transition: all ease 0.3s;
}
#area .open ul {
	max-height: var(--max-height);
}
#area ul li {
	font-size: calc(1600vw / 430);
	line-height: 1.8;
}
#area ul li:not(:last-child)::after {
	content: "|";
	display: inline-block;
	margin: 0 calc(500vw / 430);
}
#area p {
	width: calc(39000vw / 430);
	margin-left: auto;
	margin-right: auto;
	margin-top: calc(500vw / 430);
	font-size: calc(1200vw / 430);
}
#area > img {
	display: block;
	width: calc(27000vw / 430);
	margin: 0 auto;
	padding: calc(2500vw / 430) 0 calc(2100vw / 430);
}
@media (min-width: 720px) {
	#area .list_area {
		width: calc(780px * 720 / 860);
		margin-top: calc(60px * 720 / 860);
	}
	#area .areas {
		padding: calc(28px * 720 / 860) calc(40px * 720 / 860);
		border-radius: calc(20px * 720 / 860);
	}
	#area .areas:not(:first-child) {
		margin-top: calc(20px * 720 / 860);
	}
	#area .area_ttl {
		padding-right: calc(40px * 720 / 860);
		font-size: calc(40px * 720 / 860);
	}
	#area .area_ttl::before,
	#area .area_ttl::after {
		width: calc(6px * 720 / 860);
		height: calc(32px * 720 / 860);
	}
	#area .area_ttl::before {
		right: calc(30px * 720 / 860);
	}
	#area .area_ttl::after {
		right: calc(50px * 720 / 860);
	}
	#area ul li {
		font-size: calc(32px * 720 / 860);
	}
	#area ul li:not(:last-child)::after {
		margin: 0 calc(10px * 720 / 860);
	}
	#area p {
		width: calc(780px * 720 / 860);
		margin-top: calc(10px * 720 / 860);
		font-size: calc(24px * 720 / 860);
	}
	#area > img {
		width: calc(540px * 720 / 860);
		padding: calc(50px * 720 / 860) 0 calc(42px * 720 / 860);
	}
}




/* ---------------------------------------------------------
 * #saiyasune
** --------------------------------------------------------- */
#saiyasune {
}




/* ---------------------------------------------------------
 * #voice
** --------------------------------------------------------- */
#voice {
	background-color: #FFF0B2;
}
#voice .slide_wrapper {
}
#voice .voice_slider {
	position: relative;
}
#voice .slick-slide {
	padding: 0 calc(1600vw / 430);
}
#voice .voice_img {
}
#voice .slick-dots {
	bottom: calc(-3500vw / 430);
}
#voice .slick-dots li {
	background-color: #FFC582;
	border-radius: 100px;
	width: calc(1000vw / 430);
	height: calc(1000vw / 430);
	margin: 0 calc(600vw / 430);
}
#voice .slick-dots .slick-active {
	background-color: #FF8A01;
}
#voice .slick-dots button {
	display: none;
}
#voice .slick-dotted.slick-slider {
	margin-bottom: calc(7000vw / 430);
}
#voice .prevArrow,
#voice .nextArrow {
	position: absolute;
	z-index: 10;
	top: 0;
	bottom: 0;
	width: 0;
	height: 0;
	margin-top: auto;
	margin-bottom: auto;
	border-style: solid;
}
#voice .prevArrow {
	border-width: calc(2000vw / 430) calc(2000vw / 430) calc(2000vw / 430) 0;
	border-color: transparent #FF8A01 transparent transparent;
	left: calc(1700vw / 430);
}
#voice .nextArrow {
	border-width: calc(2000vw / 430) 0 calc(2000vw / 430) calc(2000vw / 430);
	border-color: transparent transparent transparent #FF8A01;
	right: calc(1700vw / 430);
}
@media (min-width: 720px) {
	#voice .slick-slide {
		padding: 0 calc(32px * 720 / 860);
	}
	#voice .slick-dots {
		bottom: calc(-70px * 720 / 860);
	}
	#voice .slick-dots li {
		width: calc(20px * 720 / 860);
		height: calc(20px * 720 / 860);
		margin: 0 calc(12px * 720 / 860);
	}
	#voice .slick-dotted.slick-slider {
		margin-bottom: calc(140px * 720 / 860);
	}
	#voice .prevArrow {
		border-width: calc(40px * 720 / 860) calc(40px * 720 / 860) calc(40px * 720 / 860) 0;
		border-color: transparent #FF8A01 transparent transparent;
		left: calc(34px * 720 / 860);
	}
	#voice .nextArrow {
		border-width: calc(40px * 720 / 860) 0 calc(40px * 720 / 860) calc(40px * 720 / 860);
		border-color: transparent transparent transparent #FF8A01;
		right: calc(34px * 720 / 860);
	}
}




/* ---------------------------------------------------------
 * #danger
** --------------------------------------------------------- */
#danger {
}




/* ---------------------------------------------------------
 * #flow
** --------------------------------------------------------- */
#flow {
}




/* ---------------------------------------------------------
 * #qa
** --------------------------------------------------------- */
#qa {
	padding-bottom: calc(4500vw / 430);
	background-image: url("../img/qa_bg.png");
	background-size: 100% auto;
	background-position: top center;
}
#qa section {
	width: calc(39000vw / 430);
	margin-top: calc(2000vw / 430);
	margin-left: auto;
	margin-right: auto;
}
#qa h3 {
	color: #005BC7;
	font-size: calc(2200vw / 430);
	font-weight: 700;
	text-align: center;
}
#qa h3 span {
	display: inline-block;
	background-image: linear-gradient(to top, #F0F7FF calc(500vw / 430), transparent calc(500vw / 430));
}
#qa dl {
}
#qa dl > div {
	margin-top: calc(1500vw / 430);
	padding: calc(1400vw / 430) calc(2000vw / 430);
	background-color: #fff;
	border-radius: calc(1000vw / 430);
	box-shadow: 0 0 calc(800vw / 430) #00000026;
}
#qa dt {
	position: relative;
	padding-right: calc(4000vw / 430);
	font-size: calc(1700vw / 430);
}
#qa dt::before,
#qa dt::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	display: block;
	width: calc(300vw / 430);
	height: calc(1600vw / 430);
	margin-top: auto;
	margin-bottom: auto;
	background-color: #FF8A01;
	transform-origin: center;
	transition: all ease 0.3s;
}
#qa dt::before {
	right: calc(1500vw / 430);
	transform: rotate(45deg);
}
#qa dt::after {
	right: calc(2500vw / 430);
	transform: rotate(-45deg);
}
#qa dl > div.open dt::before {
	transform: rotate(-45deg);
}
#qa dl > div.open dt::after {
	transform: rotate(45deg);
}
#qa dd {
	display: flex;
	flex-wrap: wrap;
	max-height: 0;
	overflow: hidden;
	transition: all ease 0.3s;
}
#qa dl > div.open dd {
	max-height: var(--max-height);
}
#qa dd div {
	padding-top: 10px;
	line-height: 1.8;
}
@media (min-width: 720px) {
	#qa {
		padding-bottom: calc(90px * 720 / 860);
	}
	#qa section {
		width: calc(780px * 720 / 860);
		margin-top: calc(40px * 720 / 860);
	}
	#qa h3 {
		font-size: calc(44px * 720 / 860);
	}
	#qa h3 span {
		background-image: linear-gradient(to top, #F0F7FF calc(10px * 720 / 860), transparent calc(10px * 720 / 860));
	}
	#qa dl > div {
		margin-top: calc(30px * 720 / 860);
		padding: calc(28px * 720 / 860) calc(40px * 720 / 860);
		border-radius: calc(20px * 720 / 860);
		box-shadow: 0 0 calc(16px * 720 / 860) #00000026;
	}
	#qa dt {
		padding-right: calc(80px * 720 / 860);
		font-size: calc(34px * 720 / 860);
	}
	#qa dt::before,
	#qa dt::after {
		width: calc(6px * 720 / 860);
		height: calc(32px * 720 / 860);
	}
	#qa dt::before {
		right: calc(30px * 720 / 860);
	}
	#qa dt::after {
		right: calc(50px * 720 / 860);
	}
}




/* ---------------------------------------------------------
 * #contact
** --------------------------------------------------------- */
#contact {
	padding-top: calc(3500vw / 430);
	padding-bottom: calc(4000vw / 430);
	background-color: #EFF5FC;
}
#contact h2 {
	text-align: center;
}
#contact h2 img {
	width: calc(26300vw / 430);
}
#contact .contents {
	width: calc(39000vw / 430);
	margin-top: calc(2500vw / 430);
	margin-left: auto;
	margin-right: auto;
	padding: calc(3000vw / 430) calc(2000vw / 430);
	background-color: #fff;
	border-radius: calc(1000vw / 430);
	box-shadow: 0 0 calc(1000vw / 430) 0 #00000026;
}
#contact form {
	font-size: calc(1600vw / 430);
}
#contact .item_ttl {
}
#contact .item_ttl:not(.first-child) {
	margin-top: calc(2000vw / 430);
}
#contact span input,
#contact textarea {
	width: 100%;
	padding: calc(1000vw / 430);
	margin-top: calc(800vw / 430);
	border: 1px solid #ccc;
	border-radius: calc(1000vw / 430);
}
#contact span input {
}
#contact textarea {
	height: calc(14800vw / 430);
}
#contact #pp {
}
#contact #pp .contents_wrapper {
	height: calc(10800vw / 430);
	padding: calc(1000vw / 430);
	margin-top: calc(800vw / 430);
	border: 1px solid #ccc;
	border-radius: calc(1000vw / 430);
	overflow: auto;
	font-size: calc(1200vw / 430);
}
#contact #pp h4 {
	margin-top: calc(2000vw / 430);
	font-size: calc(1400vw / 430);
	font-weight: 700;
}
#contact #pp p:not(:first-child) {
	margin-top: calc(500vw / 430);
}
#contact .btn_area {
	margin-top: calc(2000vw / 430);
}
#contact .btn_area input {
	display: block;
	width: calc(32000vw / 430);
	height: calc(7100vw / 430);
	margin-left: auto;
	margin-right: auto;
	background-image: url("../img/btn_send.png");
	background-size: cover;
}
@media (max-width: 430px) {
	#contact form {
		font-size: 16px;
	}
}
@media (min-width: 720px) {
	#contact {
		padding-top: calc(70px * 720 / 860);
		padding-bottom: calc(80px * 720 / 860);
	}
	#contact h2 img {
		width: calc(526px * 720 / 860);
	}
	#contact .contents {
		width: calc(780px * 720 / 860);
		margin-top: calc(50px * 720 / 860);
		padding: calc(60px * 720 / 860) calc(40px * 720 / 860);
		border-radius: calc(20px * 720 / 860);
		box-shadow: 0 0 calc(20px * 720 / 860) 0 #00000026;
	}
	#contact form {
		font-size: calc(32px * 720 / 860);
	}
	#contact .item_ttl:not(.first-child) {
		margin-top: calc(40px * 720 / 860);
	}
	#contact span input,
	#contact textarea {
		padding: calc(20px * 720 / 860);
		margin-top: calc(16px * 720 / 860);
		border-radius: calc(20px * 720 / 860);
	}
	#contact textarea {
		height: calc(296px * 720 / 860);
	}
	#contact #pp .contents_wrapper {
		height: calc(216px * 720 / 860);
		padding: calc(20px * 720 / 860);
		margin-top: calc(16px * 720 / 860);
		border-radius: calc(20px * 720 / 860);
		font-size: calc(24px * 720 / 860);
	}
	#contact #pp h4 {
		margin-top: calc(40px * 720 / 860);
		font-size: calc(28px * 720 / 860);
	}
	#contact #pp p:not(:first-child) {
		margin-top: calc(10px * 720 / 860);
	}
	#contact .btn_area {
		margin-top: calc(40px * 720 / 860);
	}
	#contact .btn_area input {
		width: calc(640px * 720 / 860);
		height: calc(142px * 720 / 860);
	}
}




/* ---------------------------------------------------------
 * #company
** --------------------------------------------------------- */
#company {
	width: calc(37000vw / 430);
	margin-left: auto;
	margin-right: auto;
	padding-top: calc(3000vw / 430);
	padding-bottom: calc(4000vw / 430);
}
#company h2 {
	position: relative;
	font-size: calc(3000vw / 430);
	font-weight: 700;
	text-align: center;
}
#company h2::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(-1500vw / 430);
	display: block;
	width: calc(6000vw / 430);
	height: calc(500vw / 430);
	margin-left: auto;
	margin-right: auto;
	background-color: #E30000;
}
#company .contents {
	margin-top: calc(3000vw / 430);
}
#company .ttl {
	padding-bottom: calc(500vw / 430);
	font-size: calc(1800vw / 430);
	font-weight: 700;
}
#company .detail {
	margin-bottom: calc(1500vw / 430);
	padding-bottom: calc(1500vw / 430);
	border-bottom: 1px solid #ccc;
}
#company .detail dl {
}
#company .detail dt {
	font-size: calc(1600vw / 430);
	font-weight: 500;
}
#company .detail dt:not(:first-child) {
	margin-top: calc(1000vw / 430);
}
#company .detail dd {
}
@media (min-width: 720px) {
	#company {
		width: calc(740px * 720 / 860);
		padding-top: calc(60px * 720 / 860);
		padding-bottom: calc(80px * 720 / 860);
	}
	#company h2 {
		font-size: calc(60px * 720 / 860);
	}
	#company h2::after {
		bottom: calc(-30px * 720 / 860);
		width: calc(120px * 720 / 860);
		height: calc(10px * 720 / 860);
	}
	#company .contents {
		margin-top: calc(60px * 720 / 860);
	}
	#company .ttl {
		padding-bottom: calc(10px * 720 / 860);
		font-size: calc(38px * 720 / 860);
	}
	#company .detail {
		margin-bottom: calc(30px * 720 / 860);
		padding-bottom: calc(30px * 720 / 860);
	}
	#company .detail dt {
		font-size: calc(32px * 720 / 860);
	}
	#company .detail dt:not(:first-child) {
		margin-top: calc(20px * 720 / 860);
	}
}




/* ---------------------------------------------------------
 * #footer_content
** --------------------------------------------------------- */
#footer_content {
	padding-top: calc(4000vw / 430);
	padding-bottom: calc(2000vw / 430);
	border-top: calc(500vw / 430) solid #E30000;
}
#footer_content img {
	display: block;
	width: calc(35200vw / 430);
	margin-left: auto;
	margin-right: auto;
}
#footer_content p {
	width: calc(37000vw / 430);
	margin-left: auto;
	margin-right: auto;
	margin-top: calc(2000vw / 430);
}
@media (min-width: 720px) {
	#footer_content {
		padding-top: calc(80px * 720 / 860);
		padding-bottom: calc(40px * 720 / 860);
		border-top: calc(10px * 720 / 860) solid #E30000;
	}
	#footer_content img {
		width: calc(704px * 720 / 860);
	}
	#footer_content p {
		width: calc(740px * 720 / 860);
		margin-top: calc(40px * 720 / 860);
	}
}




/* ---------------------------------------------------------
 * #footer
** --------------------------------------------------------- */
#footer {
	padding: calc(1500vw / 430) 0;
	text-align: center;
}
#footer .copy {
	font-size: calc(1400vw / 430);
}
@media (min-width: 720px) {
	#footer {
		padding: calc(30px * 720 / 860) 0;
	}
	#footer .copy {
		font-size: calc(28px * 720 / 860);
	}
}