@charset "utf-8";
/* CSS Document */

body{
	font-size:16px;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";	
	line-height: 1.8;
}

.inner{
	max-width:1200px;
	width: 100%;
	margin: 0 auto;
}

a:hover{
	opacity:0.8;
}

/*header*/
header.pc_header{
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 10px 20px;
	box-sizing: border-box;
	align-items: center;
}

header.pc_header h1.logo{
	width:400px;
}

header.pc_header h1.logo a{
	display:block;
}

header.pc_header h1.logo img{
	width:100%;
	height: auto;
}

header.pc_header nav{
	width:50%;
	text-align:right;
}

header.pc_header nav ul{
	display:flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
	width:100%;
}

header.pc_header nav ul li{
	text-align:center;
	margin-right: 6%;
}

header.pc_header nav ul li:last-child{
	margin-right:0;
}

header.pc_header nav ul li a{
	display:block;
}

header.pc_header nav ul li a:hover{
	color:#192f60;
	opacity:1;
	text-decoration:underline;
}

header.sp_header{
	display:none;
}

/*mv*/
div.mv{
	position:relative;
}

div.mv img.main_image{
	width:100%;
	height: auto;
}

div.mv img.main_image.is-sp{
	display:none;
}

div.mv img.cover{
	position:absolute;
	z-index: 1;
	bottom: -29.5%;
	left: 0;
	width:100%;
	height: auto;
}

div.mv h2{
	-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	position: absolute;
  right: 20px;
  top: 4%;
  font-size: 4.5rem;
	letter-spacing: 0.5rem;
	text-shadow: 
    white 1px 1px 10px, white -1px 1px 10px,
    white 1px -1px 10px, white -1px -1px 10px;
	line-height: 1.0;
}

div.mv h2 span{
	display:block;
}

div.mv h2 strong{
	font-size:7.0rem;
	line-height: 1.3;
}

/*コンテンツ*/
section.content{
  margin-top: 9.5%;
  position: relative;
  z-index: 1;
	margin-bottom: 0;
}

section.content section{
	margin-bottom:150px;
}

section.content section p{
	text-align:justify;
	line-height: 2.3;
}

section.content h3.title{
	padding:40px 0;
	text-align:center;
	font-size:2.5rem;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	background-image:url("../img/title_bg.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 125px;
	margin-bottom: 20px;
}

section.content .services ul{
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

section.content .services ul li{
	width:47%;
	background-color:rgba(170, 207, 82, 0.05);
	padding:30px;
	box-sizing: border-box;
	border-radius: 10px;
	margin-top: 80px;
}

section.content .services ul li div.image_box{
	text-align:center;
	margin-bottom: 50px;
	/*padding:40px;*/
	box-sizing: border-box;
	position:relative;
}

section.content .services ul li div.image_box img{
	width:65%;
	height: auto;
	border-radius: 50%;
}

section.content .services ul li div.image_box img.frame{
  position: absolute;
  top: -53px;
  left: 14.5%;
  width: 84%;
  z-index: 1;
}

section.content .services ul li h3{
	font-size:1.6rem;
	text-align:center;
	margin-bottom: 20px;
}

section.content .services ul li h3 span{
	background-image:url("../img/bg01.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 50px;
	display:inline-block;
	padding: 10px 0 10px 20px;
  box-sizing: border-box;
}

section.content .partner,
section.content .news,
section.content .outline{
  margin-bottom: 0;
  padding: 100px 0;
  box-sizing: border-box;
}


/*パララックス*/
/*.parallax-bg {
  position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: inset(0); //上下左右距離ゼロ
    z-index: -1;
}

.img-bg-01::before{
      content: '';
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: url("../img/parallax01.jpg") no-repeat;
      background-size: cover;
      background-position: top center;
    }*/


/*各背景の画像*/
/*.img-bg-01 {
  background-image: url("../img/parallax01.jpg");
}*/
/*.img-bg-02 {
  background-image: url('../img/parallax02.jpg');
}
.img-bg-03 {
  background-image: url('../img/parallax03.jpg');
}*/



/*スクロールするコンテンツ*/
/*.scrollbox1 {
  background-color: #fff;
}
.scrollbox2 {
  background-color: #fff;
}
.scrollbox3 {
  background-color: #fff;
}
.scrollbox4 {
  background-color: #fff;
}

section.content div.scrollbox{
	padding:80px 0;
	box-sizing: border-box;
	background-color: rgba(255, 255, 255, 0.8);
  position: relative;
  z-index: 1;
  margin-top: 450px;
}*/


.sample03 .contents{
  height: 650px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}


/*.sample03 .contents.partner{
  background-image: url(../img/parallax01.jpg);
}

.sample03 .contents.outline{
  background-image: url(../img/parallax02.jpg);
}

.sample03 .contents.news{
  background-image: url(../img/parallax03.jpg);
}*/

.sample03 .contents:nth-of-type(1){
  background-image: url(../img/parallax01.jpg);
}

.sample03 .contents:nth-of-type(2){
  background-image: url(../img/parallax02.jpg);
}

.sample03 .contents:nth-of-type(3){
  background-image: url(../img/parallax03.jpg);
}

.partner_content{
	padding:80px 0;
	width:100%;
	background-color: rgba(255, 255, 255, 0.8);
	box-sizing: border-box;
}

/*.parallax-window {
    min-height: 650px;
    background: transparent;
}*/

.parallax-img img {
  width: 100%;
}



section.content .partner,
section.content .outline{
	margin-bottom:0;
}

section.content .partner p{
	text-align:center;
	margin-bottom: 80px;
}

section.content .partner .btn{
	text-align:center;
}

section.content .partner .btn a{
	display:block;
	margin:0 auto;
	width:350px;
	border-radius: 50px;
	border:solid 2px #fff;
	background-color:#aacf52;
	box-shadow: 6px 6px 15px -5px #777777;
	padding:10px;
	box-sizing: border-box;
}

section.content .partner .btn a span{
	color:#fff;
	display:inline-block;
	position: relative;
	width: 90%;
}

section.content .partner .btn a:hover{
	opacity:1;
	background-color:#8db137;
}

/* 矢印が右に移動 */

section.content .partner .btn a span::after{
    content: '';
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    top:42%;
    right: 13px;
    /*矢印の形状*/
    width: 5px;
    height: 5px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    /*アニメーションの指定*/
    transition: all .3s;
}

/*hoverした際の移動*/
section.content .partner .btn a span:hover::after{
    right: 7px;
}

section.content .outline table{
	border-collapse:collapse;
}

section.content .outline table tr th,
section.content .outline table tr td{
	padding:20px;
	border-bottom: solid 1px #aacf52;
	box-sizing: border-box;
}

section.content .news ul{
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

section.content .news ul li{
	width:30%;
}

section.content .news ul li img{
	width:100%;
	height: auto;
	margin-bottom: 30px;
}

section.content .news ul li h4{
	font-size:1.4rem;
	padding-bottom: 5px;
	border-bottom:solid 1px #aacf52;
	margin-bottom: 20px;
}

section.content .gmap{
	margin-bottom:0;
}

/*footer*/
footer{
	background-color:#000;
	color:#fff;
	padding:80px 0 30px;
	box-sizing: border-box;
}

footer .inner > ul{
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

footer .inner > ul li{
	width:40%;
}

footer .inner > ul li .footer_logo img{
	width:100%;
	height: auto;
}

footer .inner > ul li .address{
	margin-top:50px;
}

footer .inner > ul li .address p{
	color:#fff;
	margin-top:10px;
}

footer .inner > ul li .address p.tel a{
	color:#fff;
}

footer .inner > ul > li:last-child{
	display:flex;
	justify-content: flex-end;
	width: 21%;
}

footer .inner > ul li nav{
	width:100%;
}

footer .inner > ul li nav ul li{
	margin-bottom:10px;
}

footer .inner > ul li nav ul li a{
	display:block;
	color:#fff;
	border-left:solid 5px #000;
	padding-left: 10px;
	box-sizing: border-box;
	line-height: 1.2;
}

footer .inner > ul li nav ul li a:hover{
	opacity:1;
	border-left:solid 5px #fff;
	padding-left: 10px;
	box-sizing: border-box;
	line-height: 1.2;
}

footer .inner p.copy_right{
	text-align:center;
	color: #fff;
	font-size: 0.7rem;
	margin-top: 80px;
}

div.fixed_tel_bnr{
	display:none;
}

.is-tb{
	display:none;
}

.is-sp{
	display:none;
}

@media screen and (max-width: 1367px) {
div.mv h2 {
  font-size: 3.5rem;
	top: 4%;
}
	
div.mv h2 strong {
  font-size: 6rem;
  line-height: 1.2;
}
	
	
}

@media screen and (max-width: 1023px) {
header.pc_header{
	display:none;
}
	
header.sp_header{
	display:block;
}
	
/*spナビゲーション*/

header.sp_header{
	width:100%;
	position:fixed;
	height:auto;
	background-color: rgba(255, 255, 255, 0.7);
	z-index: 100;
	top: 0;
	padding: 15px;
    box-sizing: border-box;
}
	
header.sp_header .inner{
  max-width: 100%;
}
	
header.sp_header .inner > ul > li{
  max-width: unset;
}
	
header.sp_header .inner > ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
	
header.sp_header .inner > ul > li h1.logo{
  width: 50%;
}
	
header.sp_header .inner > ul > li h1.logo img{
  width: 100%;
  height: auto;
}
	
header.sp_header .inner > ul > li:last-child{
	display:flex;
	justify-content: space-between;
	align-items: center;
}
	
header.sp_header .inner > ul > li:last-child .language{
  margin-right: 20px;
}
	
header.sp_header .inner > ul > li:last-child .language form{
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}
	
header.sp_header .inner > ul > li:last-child .language form label span{
    color: #fff;
    font-size: 0.8rem;
    display: inline-block;
    margin-right: 5px;
  }
	
header.sp_header .inner > ul > li:last-child .language form select {
    font-size: 0.9rem;
    background-color: #fff;
    padding: 3px;
    box-sizing: border-box;
  }
	
header.sp_header .inner > ul > li:last-child #nav_toggle{
  display: flex;
  align-items: center;
  width: 35px;
  margin-right: 0;
	height: 35px;
}
	
	/*開閉ボタン*/
	#nav_toggle div {
		position: relative;	}
	
	#nav_toggle span{
    display: block;
    height: 3px;
    background: #192f60;
    position: absolute;
    width: 100%;
    left: 0;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    width: 33px;
    margin-left: 5px;
    margin-right: 5px;
    position: relative;
    box-sizing: border-box;
    border-radius: 50px;
  }
	#nav_toggle span:nth-child(1){
		top:-6px;
	}
	#nav_toggle span:nth-child(2){
		top:1px;
	}
	#nav_toggle span:nth-child(3){
		top:8px;
	}
	
	#nav_toggle>div>p{
		padding-top:32px;
		font-size:83%;
		font-weight:bold;
		text-align:center;
		color:#fff;
	}
	
	/*開閉ボタンopen時*/
	.open #nav_toggle span:nth-child(1) {
			top: 7px;
		   -webkit-transform: rotate(135deg);
			-moz-transform: rotate(135deg);
			transform: rotate(135deg);
			width: 33px;
		}
		.open #nav_toggle span:nth-child(2) {
			width: 0;
			left: 50%;
		}
		.open #nav_toggle span:nth-child(3) {
			top: 1px;
			-webkit-transform: rotate(-135deg);
			-moz-transform: rotate(-135deg);
			transform: rotate(-135deg);
			width: 33px;
		}

header.sp_header nav {
    clear: both;
    padding: 10px;
    padding-top: 10px;
    box-sizing: border-box;
    background-color: rgba(25, 47, 96, 0.8);
    z-index: 100;
    position: absolute;
    top: 78px;
    width: 100%;
    display: none;
    padding-top: 0;
    left: 0;
  }
	
	header.sp_header nav ul{
		display:block;
	}

header.sp_header nav ul li{
	border-bottom:solid 1px #fff;
	padding:15px;
	width:100%;
	box-sizing: border-box;
}

header.sp_header nav ul li:last-child{
	border-bottom:none;
	padding-bottom:0;
}

header.sp_header nav>ul>li a{
	color:#fff;
	text-decoration:none;
	font-size:90%;
	border-bottom:none;
	padding:10px;
	box-sizing: border-box;
	text-align: left;
}
	
header.sp_header nav>ul>li a:hover{
	color:#fff;
	text-decoration:none;
	border-bottom:none;
	opacity:1;
}
	
header nav ul li a:hover span {
    color: #fff;
	opacity:1;
  }

header.sp_header nav>ul>li>ul{
	margin-left:20px;
}

header.sp_header a{
	text-decoration:none;
}
	
header nav ul li a span {
  color: #fff;
}

header nav ul li a small {
  display: inline-block;
  color: #fff;
  margin-left: 20px;
}
	
footer {
  padding: 50px 0 100px;
}
	
footer .footer_nav ul {
  flex-wrap: wrap;
}
	
footer .footer_nav ul.upper_nav li {
  width: 33%;
}
	
footer .footer_nav ul.lower_nav li {
  width: 33%;
}
	
div.fixed_line_bnr{
  width: 100%;
  text-align: center;
  position: fixed;
  bottom: 0;
}
	
div.fixed_line_bnr a{
  display: inline-block;
  padding: 20px 35px;
  box-sizing: border-box;
  background-color: #ee7800;
  border: solid 5px #fff;
  border-bottom: none;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  box-sizing: border-box;
}
	
div.fixed_line_bnr a span{
  color:#fff;
  font-size: 1.5rem;
}
	
div.mv {
  position: relative;
  padding-top: 11%;
}
	
div.mv h2 {
    font-size: 2.0rem;
    top: 24%;
    letter-spacing: 0;
  }
	
div.mv h2 strong {
    font-size: 4rem;
    line-height: 1.0;
  }
	
div.mv img.cover {
  bottom: -25.5%;
}
	
section.content section p {
  text-align: justify;
  line-height: 2.0;
}
	
.inner {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}
	
 section.content .services ul li {
    width: 49%;
    margin-top: 50px;
  }
	
section.content .services ul li div.image_box {
  margin: 20px 0;
  padding: 20px;
}
	
section.content .services ul li div.image_box img {
  width: 75%;
}
	
section.content .services ul li div.image_box img.frame {
  top: -5%;
}
	
section.content .services ul li h3 {
  font-size: 1.3rem;
}
	
section.content .outline table tr th{
  width:20%;
	vertical-align: middle;
}
	
section.content .news ul li {
  width: 47%;
  margin-top: 50px;
}
	
section.content .news ul li h4 {
  font-size: 1.2rem;
}
	
section.content .gmap iframe{
  height: 350px;
}
	
footer .inner > ul li {
  width: 100%;
  text-align: center;
}
	
footer .inner > ul li .footer_logo img {
  width: 70%;
}
	
footer .inner > ul li .address {
  margin-top: 30px;
}
	
footer .inner > ul > li:last-child {
  justify-content: center;
  width: 100%;
  margin-top: 50px;
}
	
footer .inner > ul > li .footer_nav ul{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
	
footer .inner > ul > li .footer_nav ul li{
  width:33.3%;
}
	
div.fixed_tel_bnr {
  display: block;
	text-align: center;
}
	
div.fixed_tel_bnr a{
  background-color: #aacf52;
  width: 200px;
  display: block;
  text-align: center;
  border-top-left-radius: 10px;
border-top-right-radius: 10px;
  position: fixed;
  z-index: 10;
  color: #fff;
	bottom: 0;
	padding: 15px 10px 10px;
    left: 37%;
	border:solid 3px #fff;
	border-bottom:none;
    box-sizing: border-box;
}
	
div.fixed_tel_bnr a span{
	color:#fff;
	font-size:1.0rem;
	display:inline-block;
	background-image:url("../img/icon_tel.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 20px;
	padding-left: 25px;
	box-sizing: border-box;
}
	
.is-tb{
	display:block;
}

.is-sp{
	display:none;
}
	
}

@media screen and (max-width: 480px) {
 header.sp_header {
    padding: 10px 15px;
  }
	
header.sp_header .inner {
    max-width: 100%;
	width:100%;
  }
	
div.mv img.main_image.is-sp {
    display: block;
    padding-top: 4%;
  }

div.mv img.main_image.is-pc{
	display:none;
}
	
header.sp_header .inner > ul > li h1.logo {
    width: 75%;
  }
	
header.sp_header .inner > ul > li a{
  display: flex;
  align-items: center;
}
	
header.sp_header nav {
    top: 56px;
  }
	
div.mv img.cover {
    bottom: -9.5%;
  }
	
 div.mv h2 strong {
    font-size: 3rem;
    line-height: 1.2;
  }
	
 div.mv h2 {
    font-size: 1.6rem;
    top: 24%;
    letter-spacing: 0.5rem;
  }
	
section.content h3.title {
  padding: 25px 0;
  font-size: 1.8rem;
  background-size: 85px;
}
	
section.content .services ul li {
    width: 100%;
  }
	
section.content .services ul li div.image_box img {
    width: 90%;
  }
	
section.content .services ul li div.image_box img.frame {
    top: -6%;
	left: 7.5%;
  }
	
section.content .partner p {
  text-align: justify;
}
	
section.content .partner .btn a {
  width: 100%;
}
	
section.content .outline table tr th, section.content .outline table tr td {
  padding: 20px 5px;
	font-size: 0.85rem;
}
	
section.content .outline table tr th {
    width: 30%;
  }
	
section.content .news{
	margin-bottom:80px;
}
	
 section.content .news ul li {
    width: 100%;
  }
	
section.content .gmap iframe {
    height: 250px;
  }
	
footer .inner > ul li .footer_logo img {
    width: 100%;
  }
	
footer .inner > ul li .address p {
  font-size: 0.9rem;
}
	
footer .inner > ul li nav ul li a {
  border-left: none;
  padding-left: 0;
}
	
footer .inner > ul li nav ul li a:hover {
  border-left: none;
  padding-left: 0;
}
	
div.fixed_tel_bnr a {
    left: 25%;
  }
	
section.content .services ul li div.image_box img.frame {
    position: absolute;
    top: -7%;
    left: 7.5%;
    width: 100%;
    z-index: 1;
  }
	
.sample03 .contents {
    height: 350px;
    display: block;
    justify-content: center;
    align-items: center;
    background-size: auto 100%;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }
	
.iphone .sample03 .contents {
    height: 350px;
    display: block;
    justify-content: center;
    align-items: center;
    background-size: auto 100%;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-attachment: unset;
  }

	
	
.is-tb{
	display:none;
}

.is-sp{
	display:block;
}
	
	
	
}











