@charset "utf-8";

/*==========================================
File name: original_contents.css
Editors: IT-Probe
Last Editor: IT-Probe
Date: 2015.05
========================================== */

.home .container{
    width: 100%;
	padding: 0;
}

.home section,
.home .section,
.page section,
.page .section{
	margin: 0 auto;
}

.navbar.navbar-default {
	border:none!important;
	height:60px;
	background: rgba(255,255,255,.8);
	background-size: cover;
	box-shadow: 0 1px 10px #dedede;
}

.page-scroll {
	font-family: 'Oswald', sans-serif;
}

.home .navbar.navbar-default {
	opacity: 0;
	
}

@media (max-width:1199px) {
.home nav .container{
	margin: 0 auto;
}

.home nav .container,
.home section,
.home .section,
.page section,
.page .section{
	padding-left: 15px!important;
	padding-right: 15px!important;
	box-sizing: border-box;
}
}

@media (min-width:1200px) {
.home nav .container{
	width: 1140px!important;
	margin: 0 auto;
}

.home section,
.home .section
{
	width: 1140px;
}
}

#screen {
	position: relative;
	
}
.bold {
	font-weight: bold;
}

section h1 {
	margin:0 20px 0 0;
	padding:0;}


h2 {
	font-family: 'Oswald', sans-serif;
	font-size:5.5rem;
	font-weight:bold;
	margin-bottom:60px!important;
	padding:0;
	letter-spacing: .3rem;
	line-height: .9;
}

@media screen and (min-width:768px) {
	h2 {
		font-size:90px;
	}
}

.news .title_type03,
.page .title_type03 {
	padding:80px 0 30px;
}

.title_type03 {
	margin-left:auto;
	margin-right:auto;
	width:calc(100% - 30px);
	max-width: 1140px;
	padding:50px 0 10px;
}

.title_type03 h1 {
	font-family: 'Oswald', sans-serif;
	font-size:3rem;
	font-weight:bold;
	letter-spacing: .3rem;
	line-height: .9;
}

@media screen and (min-width:768px) {
	.title_type03 h1 {
		font-size:70px;
	}
}

h3 {
	color:#E13938;
	font-size:30px;
	font-weight:bold;
	margin-bottom:18px!important;
}

/***トップ新着*******************/

.news_text{
	width:100%;
	opacity: 0;
	margin: 40px 0;
}

.news_text ul {
	padding:0;
}

.news_text ul li {
	list-style: none;
	border-top:1px dashed #ccc;
	position: relative;
	box-sizing: border-box;
	padding:16px 0 16px 32px;
}


.news_text ul li:last-child {
	border-bottom:1px dashed #ccc;
}

.news_text ul li a {
	display: block;
}

.news_text ul li::before {
	background:url(../images/common/li01.png) no-repeat;
	width:6px;
	height:7px;
	content:"";
	position: absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
}

@media screen and (min-width:768px) {
	.news_text ul li a {
	display: inline-block;
}
	
	.news_text{
		width:70%;
		margin-top:20px;
	}

}

/***丸背景*******************/

.circle{
	width: 80px;
	height: 80px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	text-align:center;
	line-height:7!important;
	margin:0px auto 20px;
}


.key_top {
	width:100%;
	
}

.key_top img {
	width:100%;
	height:auto;
}


.fluid {
	width:20vh;
	height: 15vh;
	background:#fff3f3;
	animation: fluidrotate 20s ease 0s infinite;
	position: absolute;
	top:10vh;
	left:0;
}

@media screen and (min-width:768px) {
	.fluid {
		width:45vh;
		height: 35vh;
		top:90px;
		left:-5vw;
	}
}


@keyframes fluidrotate {  
	  
0%, 100% {
    border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
}
14% {
    border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
}
28% {
    border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
}
42% {
    border-radius: 56% 44% 77% 23% / 68% 53% 47% 32% ;
}
56% {
    border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
}
70% {
    border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
}
84% {
    border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
}
	  
}

.keyvisual_inner figure img {
	width:50%;
	height:auto;
}

.keyvisual_inner figure.active {
	animation: 3.5s fuwafuwa infinite;
}

body {
	overflow-x: hidden;
}
@media screen and (max-width:767px) {
	.keyvisual_inner figure {
	overflow: hidden;
	}
	
	.keyvisual {
		height:100vh!important;
		overflow-x: hidden;
		width: calc(100% - 20px);
		
	}
	.keyvisual_inner {
		height:95vh!important;
		overflow: hidden;
	}
}
figure.top02 {
	position: absolute;
	top:25%;
	left:0;
	width:323px;
}

figure.top03 {
	position: absolute;
	top: 42%;
    left: 12%;
	width:206px;
}

figure.active.top03 {
	animation-delay: .5s;
}

figure.top04 {
	position: absolute;
	top:20%;
	right:-35%;
	width:266px;
}

figure.active.top04 {
	animation-delay: 1.25s;
}

figure.active.top03 {
	animation-delay: 1s;
}

figure.top05 {
	position: absolute;
	bottom:10%;
	left:0;
	width:217px;
	
}

figure.active.top05 {
	animation-delay: 1.5s;
}

figure.top06 {
	position: absolute;
	bottom:35%;
	right:-23%;
	width:277px;
}

figure.active.top06 {
	animation-delay: 1.75s;
}

figure.top07 {
	position: absolute;
	bottom:10%;
	left:40%;
	width:337px;
}

figure.active.top07 {
	animation-delay:2s;
}

@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
}



@media screen and (min-width:768px) {
	.keyvisual_inner figure img {
	width:75%;
	height:auto;
}
	
figure.top02 {
	top: 45%;
    left: 38%;
}

figure.top03 {
	top: 55%;
    left: 15%;
}

figure.top04 {
	top:25%;
	right:0;
}


figure.top05 {
	bottom:0;
	left:0;
}

figure.top06 {
	bottom:0;
	right:0;
}

figure.top07 {
	bottom:0;
	left:30%;
}

}

@media screen and (min-width:1080px) {
	.keyvisual_inner figure img {
		width:100%;
		height:auto;
	}
	
figure.top02 {
	top:250px;
	left:45%;
	width:323px;
}

figure.top03 {
	top: 50%;
    left: 20%;
	width:206px;
}

figure.top04 {
	top:15%;
	right:0;
	width:266px;
}


figure.top05 {
	bottom:0;
	left:0;
	width:217px;
}

figure.top06 {
	bottom:0;
	right:0;
	width:277px;
}

figure.top07 {
	bottom:0;
	left:40%;
	width:337px;
}

}

/* ==============================================

マップ

============================================== */

.map_wrapper {
  max-width: 100%;
  min-width: 200px;
  margin: 0px auto;
  padding:0;
}
 
.googlemap {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
.googlemap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}


/* ==============================================

フォーム調整

============================================== */

.form-group{
	clear:both;
	overflow:hidden;
    text-align: left;
    }

.screen-reader-response{
    display: none;
}

.wpcf7-not-valid-tip{
    color: #CC0000;
}

.btn.btn-default {
	transition: all .2s;
	min-width: 260px;
	height:60px;
	background: #E13938!important;
	color:#fff!important;
	border:none!important;
	display:inline-flex;
	justify-content:center;
	align-items: center;
}

.btn.btn-default span {
	transition: all .2s;
	position: absolute;
	right:0;
	top:-2px;
}
.btn {
	padding: 16px 14px!important;	
}

.btn.btn-default:hover {
	transition: all .2s;
	background: #1e1e1e!important;
	color:#fff!important;
}

.half_block {
	display:flex;
	justify-content:  flex-start;
	align-items: flex-start;
	flex-flow: column;
	margin-bottom: 30px;
}

@media screen and (min-width:768px) {
	.half_block {
		display:flex;
		justify-content:  space-between;
		align-items: flex-start;
		flex-flow: row;
	}
}

.page .keyvisual {
	display: none;	
}

.page_keyvisual {
	width:100%;
	height:150px;
	overflow: hidden;
	margin-left:auto;
	margin-right:auto;
}

.page_keyvisual img {
	width:100%;
	height:200px;
	object-fit: cover;
}

@media screen and (min-width:768px) {
	.page_keyvisual {
		width:100%;
		height:200px;
	}
	
	.page_keyvisual img {
	width:100%;
	height:auto;

	}
}




/*
.main_left {
	background: #DE3838;
	position: absolute;
	width:10px;
	height:100vh;
	left:0;
	top:0;
	z-index: 999;
}

.main_right {
	background: #DE3838;
	position: absolute;
	width:10px;
	height:100vh;
	right:0;
	top:0;
	z-index: 999;
}

.main_bottom {
	background: #DE3838;
	position: absolute;
	width:100vw;
	height:10px;
	left:0;
	bottom:0;
	z-index: 999;
}

.main_top {
	background: #DE3838;
	position: absolute;
	width:100vw;
	height:10px;
	right:0;
	top:55px;
	z-index:999;
}
*/

.keyvisual {
	width:100%;
	max-width: 1920px;
	margin-left:auto;
	margin-right:auto;
	height: 100vh;
	position: relative;
	top:0;
	left:0;
	padding-top:57px;
	box-sizing: border-box;
	overflow-x: hidden;
	background: url("../images/top/back01.jpg")no-repeat;
	background-size: cover;
	background-position: top;
}

.keyvisual_inner {
	width:calc(100% - 40px);
	max-width: 1140px;
	position: absolute;
	left:0;
	top:0;
	right:0;
	margin:auto;
	height:90vh;
}

.keyvisual .key_img {
	
	width:100%;
	height:50vh;
	object-fit: cover;
	z-index: 998;
}

.title_type01 {
	filter: blur(10px);
	transform: translate(0 50px);
	opacity: 0;
}

.key_text {
	color:#DE3838;
	position: relative;
	width:100%;
	max-width:1080px;
	margin-left:auto;
	margin-right:auto;
	padding: 30px 0;
	box-sizing: border-box;
	display:flex;
	justify-content:  center;
	align-items: flex-start;
	flex-flow: column;
	z-index: 2;
	white-space: nowrap;
	margin-top:80px;
}

.key_text p:first-of-type {
	color:#DE3838;
	position: relative;
	font-size: 3.75rem;
	margin-bottom: 20px;
	letter-spacing: .2rem;
	font-family: 'Kiwi Maru', serif;
	font-weight: 500;
}

.key_text p:last-of-type {
	color:#DE3838;
	position: relative;
	font-size: 2.5rem;
	font-family: 'Oswald', sans-serif;
}

@media screen and (min-width:768px) {
	.key_text p:first-of-type {
		font-size: 6.75rem;
		margin-bottom: 50px;
		
	}

	.key_text p:last-of-type {
		font-size: 4.5rem;
	}
	
	.key_text {
	margin-top:160px;
}

}

.key_bg {
	background: #DE3838;
	position: absolute;
	top:0;
	left:0;
	z-index: 999;
	width:100%;
	height:100%;
	display:flex;
	justify-content:  center;
	align-items: center;
	padding-top:0;
	box-sizing: border-box;
}


.key_bg_right {
	overflow: hidden;
	position: absolute;
	right:0;
	top:0;
	height:100vh;
	z-index: -1;
}

.key_bg_right img {
	width:600px;
	height:100vh;
	object-fit: cover;
	position: relative;
	right:0;
	top:0;
	opacity: .5;
	display: none;
}

@media screen and (min-width:768px) {
	.key_bg_right img {
		opacity: 1;
	}
}

.js-parallax {
    overflow: hidden;
}

.service_block ul {
	display:flex;
	justify-content:  center;
	flex-flow: column;
	margin:0;
	padding:0;
	}

.service_block ul li {
	padding:50px;
	background: #fff;
	border-radius: 10px;
	list-style: none;
	margin:0 0 30px;
	text-align: center;
}


@media screen and (min-width:768px) {
	.service_block ul {
		flex-flow: row;
		justify-content:  space-between;
		gap:25px;
	}
}

.illust_icon {
	display:flex;
	justify-content:center;
	align-items: center;
	padding:15px;
	box-sizing: border-box;
}
.illust_icon img {
		width:180px;
		height:auto;
	}

.oswald {
	font-family: 'Oswald', sans-serif;
    font-weight: 700;
	font-size: 4rem;
}


.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 300,
  'GRAD' 0,
  'opsz' 48
}

.icon_contact {
	display:flex;
	justify-content:center;
	align-items: center;
	margin-bottom: 25px;
}
	
.icon_contact figure {
	width:150px;
	text-align: center;
}

.icon_contact figure img {
	width:100%;
	height:auto;
}