@charset "utf-8";

/*共通枠*/

* {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

body {
	background-color: #fff;
	line-height: 1;
	color: #000;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

body.is-menuOpen {
	position: fixed;
	width: 100%;
}

img {
	border:0;
	vertical-align:bottom;
}

*:focus {
	outline: none;
}

a {
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	cursor: pointer;
	text-decoration: none;
}
.nolink {
    pointer-events: none;
}

/* 共通
======================================================*/

.container {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.container_wrap {
	padding: 0 60px;
}

@media screen and (max-width: 1200px) {

.container_wrap {
	padding: 0 45px;
}

}

@media screen and (max-width: 599px) {
.container_wrap {
	padding: 0 30px;
}
}

@media screen and (max-width: 359px) {
.container_wrap {
	padding: 0 15px;
}
}

.block1300 { display: none; }
@media screen and (max-width: 1300px) {
.block1300 { display: block; }
}
.block1200 { display: none; }
@media screen and (max-width: 1200px) {
.block1200 { display: block; }
}
.block1100 { display: none; }
@media screen and (max-width: 1100px) {
.block1100 { display: block; }
}
.block1024 { display: none; }
@media screen and (max-width: 1024px) {
.block1024 { display: block; }
}
.block999 { display: none; }
@media screen and (max-width: 999px) {
.block999 { display: block; }
}
.block900 { display: none; }
@media screen and (max-width: 900px) {
.block900 { display: block; }
}
.block800 { display: none; }
@media screen and (max-width: 800px) {
.block800 { display: block; }
}

.block768 { display: none; }
@media screen and (max-width: 768px) {
.block768 { display: block; }
}

.block599 { display: none; }
@media screen and (max-width: 599px) {
.block599 { display: block; }
}

.block374 { display: none; }
@media screen and (max-width: 374px) {
.block374 { display: block; }
}

.block359 { display: none; }
@media screen and (max-width: 359px) {
.block359 { display: block; }
}

@media screen and (max-width: 1300px) {
.none1300 { display: none; }
}

@media screen and (max-width: 1200px) {
.none1200 { display: none; }
}

@media screen and (max-width: 1024px) {
.none1024 { display: none; }
}

@media screen and (max-width: 999px) {
.none999 { display: none; }
}

@media screen and (max-width: 900px) {
.none900 { display: none; }
}

@media screen and (max-width: 800px) {
.none800 { display: none; }
}

@media screen and (max-width: 768px) {
.none768 { display: none; }
}

@media screen and (max-width: 599px) {
.none599 { display: none; }
}

@media screen and (max-width: 374px) {
.none374 { display: none; }
}

.anchor {
	padding-top: 200px;
	margin-top: -200px;
	display: block;
	position: relative;
	z-index: -1;
}

@media screen and (max-width: 1200px) {

.anchor {
	padding-top: 160px;
	margin-top: -160px;
}

}


/* link_btn
======================================================*/

.link_bnt_inner {
	display: block;
	width: 300px;
	height: 60px;
	position: relative;
	z-index: 10;
}
.link_bnt a {
	display: block;
	width: 100%;
	height: 60px;
	position: relative;
	box-sizing: border-box;
}
.link_bnt a .inner {
	width: 300px;
	height: 60px;
	overflow: hidden;
	position: relative;
}
.link_bnt.right .link_bnt_inner {
	margin: 0 0 0 auto;
}
.link_bnt a::before {
	content:"";
	display: block;
	position: absolute;
	top: calc(( 100% - 30px ) / 2 );
	left: 0px;
	width: 30px;
	height: 30px;
	border-radius: 30px;
	background-color: #9fae97;
	transition: all 0.3s;
}
.link_bnt a:hover::before {
	width: 100%;
	height: 60px;
	top: 0;
	background-color: #1a6747;
}

.link_bnt a::after {
	content:"";
	display: block;
	position: absolute;
	top: calc(( 100% - 10px ) / 2 );
	left: calc(( 30px - 10px ) / 2 );
	width: 10px;
	height: 10px;
	border-radius: 100vh;
	background-color: #fff;
	transition: all 0.3s;
	animation: push 1.5s ease-in-out infinite;
}
.link_bnt a:hover::after {
	animation: none;
	display: none;
}
@keyframes push {
 0% {
	top: calc(( 100% - 10px ) / 2 );
	left: calc(( 30px - 10px ) / 2 );
	width: 10px;
	height: 10px;
	opacity: 0;
	background-color: #fff;
  }
 20% {
	top: calc(( 100% - 10px ) / 2 );
	left: calc(( 30px - 10px ) / 2 );
	width: 10px;
	height: 10px;
	opacity: 1;
	background-color: #fff;
  }
  100% {
	top: calc(( 100% - 100px ) / 2 );
	left: calc(( 30px - 100px ) / 2 );
	width: 100px;
	height: 100px;
	opacity: 0;
	background-color: #9fae97;
  }

}
.link_bnt a span {
	position: absolute;
	width: 100%;
	height: 60px;
	line-height: 60px;
	color: #000;
	font-weight: bold;
	text-align: left;
	transition: all .4s;
	letter-spacing: 0.1em;
	font-size: 16px;
}
.link_bnt a span:nth-of-type(1) {
	top: 0;
	left: 50px;
	color: #000;
}

.link_bnt a span:nth-of-type(2) {
	top: 100%;
	left: 50px;
	color: #fff;
}

.link_bnt a:hover span:nth-of-type(1) {
	top: 0;
	left: 100%;
	color: #fff;
}

.link_bnt a:hover span:nth-of-type(2) {
	top: 0;
	left: 50px;
	color: #fff;
}


@media screen and (max-width: 599px) {

.link_bnt a .inner {
	width: 100%;
	height: 60px;
	overflow: hidden;
	position: relative;
}
.link_bnt.right .link_bnt_inner {
	margin: auto 0 0 0;
}
.link_bnt a span {
	font-size: 14px;
}
}

/* top_slide
======================================================*/

.top_splide_wrap,
.top_splide_wrap_wrap {
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #000;
}
.top_splide_wrap_wrap iframe {
	border:none;
	width:100%;
	height:100%;
}

.top_cv {
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	display: block;
	transition: backdrop-filter 1s ease-out;
}
.top_cv.is-active {
	backdrop-filter: blur(10px);
}

/* tg ターゲット
======================================================*/

.tg {
	width: 100%;
	height: 20px;
	z-index: -1;
	position: absolute;
	top: 50vh;
}
.tg2 {
	width: 100%;
	height: 20px;
	z-index: -1;
	position: absolute;
	top: 10px;
}

/* top_logo
======================================================*/

.logo {
	width: 300px;
	height: 469px;
	position: fixed;
	top: calc(( 100vh - 469px ) / 2 );
	left: calc(( 100% - 300px ) / 2 );
	z-index: 0;
	padding: 0;
	opacity: 1;
	transition: all 1s ease-out;
}

.logo.is-hidden {
 	opacity: 0;
}

.top_logo img {
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0;
}

#logo_wrap.is-active {
	display: none;
}

@media screen and (max-width: 599px) {

.logo {
	width: 260px;
	height: 406px;
	position: fixed;
	top: calc(( 100vh - 406px ) / 2 );
	left: calc(( 100% - 260px ) / 2 );
	z-index: 0;
	padding: 0;
	opacity: 1;
	transition: all 1s ease-out;
}

}

/* target-section
======================================================*/

.target-section {
	margin-top: 100vh;
	transition: opacity 1s ease-out;
 	opacity: 1;
}
.target-section.is-active {
 	opacity: 1;
}

/* top_sc01
======================================================*/

.top_sc01 {
	margin-top: 100vh;
	padding: 100px 0 100px 0;
	width: 100%;
	height: auto;
	position: relative;
	background-color: #fff;
 	opacity: 0.2;
	transition: opacity 1s ease-out;
}
.top_sc01.is-active {
 	opacity: 1;
}

.honki span:nth-of-type(1) {
	font-size: 78px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
	display: block;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #000;
}
.honki span:nth-of-type(2) {
	font-size: 260px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
	display: inline-block;
	line-height: 1;
	margin-top: 20px;
	letter-spacing: 0em;
	background: url(../img/camera.svg) right bottom no-repeat;
	background-size: 80px auto;
	padding-right: 100px;
	color: #000;
}

.top_profile {
	margin-top: 60px;
}
.top_profile p {
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 2;
}

@media screen and (max-width: 1024px) {

.honki {
	font-size: 260px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	width: 1em;
	margin: 0 auto;
}
.honki span:nth-of-type(2) {
	padding-right: 0px;
	padding-bottom: 140px;
	background: url(../img/camera.svg) center bottom no-repeat;
	background-size: 80px auto;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.top_profile p {
	font-size: 16px;
}
.top_profile .link_bnt {
	margin-top: 60px;
}
}

@media screen and (max-width: 599px) {

.honki {
	font-size: 200px;
}
.honki span:nth-of-type(1) {
	font-size: 60px;
}
.honki span:nth-of-type(2) {
	font-size: 200px;
}

}

/* top_slide works
======================================================*/

.top_splide_works_wrap {
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #000;
	box-sizing: border-box;
	padding: 0px;
}
.top_splide_works_wrap iframe {
	border:none;
	width:100%;
	height:100%;
}
.splide_top_works {
	padding: 0 60px 0 0;
}
.splide_top_works .splide__slide {
	position: relative;
}
.splide_top_works .splide__slide span {
	display: block;
	background-color: rgba(0,0,0,0.8);
	color: #f3a041;
	font-size: 12px;
	padding: 20px;
	position: absolute;
	top: 0;
	right: 0;
}


.splide_top_works .splide__pagination {
	right: 20px;
	bottom: 0;
}
.splide_top_works .splide__pagination__page{
	background:#9fae97;
	border:0;
	border-radius:50%;
	display:inline-block;
	height:12px;
	margin:5px;
	opacity:1;
	padding:0;
	position:relative;
	transition:transform .2s linear;
	width:12px
}

@media screen and (max-width: 1024px) {

.splide_top_works {
	padding: 0 30px 0 0;
}

}

/* top_sc02
======================================================*/

.top_sc02 {
	background: url(../img/45.svg) left 20px top -1px no-repeat;
	background-size: auto 10px;
	background-color: #000;
	width: 100%;
	height: auto;
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	padding: 60px 0 60px 60px;
}
.top_sc02 h2 {
	position: absolute;
	top: 30px;
	right: 60px;
	color: #f3a041;
	font-family: "Josefin Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 12px;
	line-height: 1;
}
.top_sc02_inner {
	aspect-ratio: 1200 / 790;
	width: 100%;
	height: auto;
}
.top_sc02_inner iframe {
	border:none;
	width:100%;
	height:100%;
}

#top_works_sp {
	display: none;
}

@media screen and (max-width: 1024px) {

.top_sc02 {
	padding: 60px 0 30px 30px;
}

}

@media screen and (max-width: 599px) {
.top_sc02_inner {
	aspect-ratio: 800 / 1200;
	width: 100%;
	height: auto;
}
#top_works {
	display: none;
}
#top_works_sp {
	display: block;
}

}

/* top_sc03
======================================================*/

.top_sc03 {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	padding: 100px 0 100px 0px;
	background-color: #fff;
}
.top_sc03 h2 {
	margin-bottom: 30px;
}

.top_sc03 h2 span:nth-of-type(1) {
	font-size: 26px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
	display: inline-block;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #000;
}
.top_sc03 h2 span:nth-of-type(2) {
	font-size: 26px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
	display: inline-block;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #000;
}
.top_sc03 .soon {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	justify-content: space-between;
	border-top: solid 1px #ccc;
	padding: 30px 0;
}
.top_sc03 .soon p {
	display: block;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.6;
	padding-left:1em;
	text-indent:-1em;
	color: #ca0e0e;
}

@media screen and (max-width: 1024px) {

.top_sc03 .soon {
	display:block;
	border-top: solid 1px #ccc;
	padding: 30px 0;
}
.top_sc03 .soon .link_bnt {
	margin-top: 30px;
}
}

@media screen and (max-width: 599px) {

.top_sc03 h2 span:nth-of-type(1) {
	font-size: 26px;
	display: block;
	position: relative;
	left: -14px;
}
.top_sc03 h2 span:nth-of-type(2) {
	font-size: 26px;
	display: block;
	margin-top: 14px;
}

}

/* sv_list
======================================================*/

.sv_list_single {
	width: 100%;
	height: 50vh;
	border-bottom: solid 1px #ccc;
}
.sv_list_single a {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background-color: #fff;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
}
.sv_list_single a:hover {
	background-color: #eee;
}
.sv_list_single a .sv_txt_wrap {
	width: 100%;
	padding: 0 0 0 60px;
}
.sv_list_single a .sv_txt {
	width: 100%;
	max-width: 1000px;
	text-align: left;
	margin: 0 auto;
	color: #000;
	position: relative;
	z-index: 2;
	transition: color 1s;
}
.sv_list_single a .bg_cover {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(10px);
	z-index: 2;
	transition: backdrop-filter 1s;
}
.sv_list_single a:hover .bg_cover {
	backdrop-filter: blur(0px);
}

.sv_list_single a .bg {
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: all 0.5s;
	transform: scale(1.1);
	backdrop-filter: blur(10px);
}
.sv_list_single a:hover .bg {
	opacity: 1;
	transform: scale(1);
}

.sv_list_single a .sv_txt h3 {
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
	font-size: 100px;
	letter-spacing: 0.1em;
}
.sv_list_single a .sv_txt h3 span:nth-of-type(1) {
	font-size: 60px;
}
.sv_list_single a .sv_txt h3 span:nth-of-type(2) {
	font-size: 102px;
}
.sv_list_single a .sv_txt p {
	font-size: 14px;
	line-height: 1;
	margin-top: 20px;
}

#sv_list01 a .bg {
	background: url(../img/sv_list01.jpg) right center no-repeat;
	background-size: auto 100%;
	background-color: #b6b6bd;
}
.sv_list01 a:hover .sv_txt {
	color: #000;
}

.sv_list02 a .bg {
	background: url(../img/sv_list02.jpg) right center no-repeat;
	background-size: auto 100%;
	background-color: #000;
}
.sv_list02 a:hover .sv_txt {
	color: #fff;
}

.sv_list03 a .bg {
	background: url(../img/sv_list03.jpg) right center no-repeat;
	background-size: auto 100%;
	background-color: #353b39;
}
.sv_list03 a:hover .sv_txt {
	color: #fff;
}

.sv_list04 a .bg {
	background: url(../img/sv_list04.jpg) right center no-repeat;
	background-size: auto 100%;
	background-color: #221e19;
}
.sv_list04 a:hover .sv_txt {
	color: #fff;
}

.sv_list05 a .bg {
	background: url(../img/sv_list05.jpg) right center no-repeat;
	background-size: auto 100%;
	background-color: #cfd8d9;
}
.sv_list05 a:hover .sv_txt {
	color: #000;
}


@media screen and (max-width: 599px) {

.sv_list_single {
	width: 100%;
	height: 400px;
	border-bottom: solid 1px #ccc;
}
.sv_list_single a {
	display: block;
}
.sv_list_single a .sv_txt_wrap {
	padding: 0 0 0 30px;
}
.sv_list_single a .sv_txt h3 {
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
	font-size: 50px;
	letter-spacing: 0.1em;
	padding-top: 30px;
}
.sv_list_single a .sv_txt h3 span:nth-of-type(1) {
	font-size: 30px;
}
.sv_list_single a .sv_txt h3 span:nth-of-type(2) {
	font-size: 52px;
}
.sv_list_single a .sv_txt p {
	font-size: 12px;
	line-height: 1.6;
	margin-top: 20px;
}
.sv_list_single a .bg_cover {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	backdrop-filter: none;
	z-index: 2;
	transition: backdrop-filter 1s;
}
.sv_list_single a:hover .bg_cover {
	backdrop-filter: none;
}
.sv_list_single a .bg {
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 1;
	transition: all 0.5s;
	transform: scale(1);
	backdrop-filter: none;
}
.sv_list_single a:hover .bg {
	opacity: 1;
	transform: scale(1);
}

#sv_list01 a .bg {
	background: url(../img/sv_list01_sp.jpg) center bottom no-repeat;
	background-size: 100% auto;
	background-color: #fff;
}
.sv_list02 a .bg {
	background: url(../img/sv_list02_sp.jpg) center bottom no-repeat;
	background-size: 100% auto;
	background-color: #fff;
}
.sv_list02 a:hover .sv_txt {
	color: #000;
}
.sv_list03 a .bg {
	background: url(../img/sv_list03_sp.jpg) center bottom no-repeat;
	background-size: 100% auto;
	background-color: #353b39;
}
.sv_list03 a .sv_txt {
	color: #fff;
}
.sv_list03 a:hover .sv_txt {
	color: #fff;
}

.sv_list04 a .bg {
	background: url(../img/sv_list04_sp.jpg) center bottom no-repeat;
	background-size: 100% auto;
	background-color: #221e19;
}
.sv_list04 a .sv_txt {
	color: #fff;
}
.sv_list04 a:hover .sv_txt {
	color: #fff;
}

.sv_list05 a .bg {
	background: url(../img/sv_list05_sp.jpg) center bottom no-repeat;
	background-size: 100% auto;
	background-color: #cfd8d9;
}
.sv_list05 a:hover .sv_txt {
	color: #000;
}

}

/* about
======================================================*/

.about_header {
	width: 100%;
	height: 100vh;
	background: url(../img/studio_img01.jpg) center center no-repeat;
	background-size: cover;
	background-color: #000;
	position: fixed;
	top: 0;
}
.about_title {
	width: 100%;
	height: 100vh;
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}
.about_title div {
	text-align: center;
}
.about_title h1 {
	text-align: center;
}
.about_title h1 img {
	width: 100%;
	max-width: 200px;
	height: auto;
}
.about_title div p {
	text-align: center;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color: #fff;
	line-height: 1.6;
	font-size: 12px;
	margin-top: 30px;
	color: #eee;
	background-color: #333;
	padding: 6px 10px;
}
.about_title div p span {
	display: block;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.08em;
	text-indent: 0.08em;
}


/* about_sc01
======================================================*/

.about_sc01 {
	position: relative;
	z-index: 1;
	background-color: #fff;
	padding: 100px 0;
}

.about_sc01_content {
	position: relative;
}
.honki_about {
	display: block;
	font-size: 260px;
	width: 1em;
	top: 0;
	right: 0;
	position: absolute;
}
.honki_about span:nth-of-type(1) {
	font-size: 78px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
	display: block;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #000;
}
.honki_about span:nth-of-type(2) {
	margin-top: 100px;
	font-size: 260px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
	display: block;
	margin-top: 30px;
	color: #000;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.about_txt01 {
	width: calc( 100% - 400px );
}
.about_txt01 p {
	font-weight: 400;
	font-size: 18px;
	line-height: 1.8;
	text-align: justify;
	word-break: break-all;
}
.about_txt01 p:not(:first-child) {
	margin-top: 1.5em;
}
.about_txt01 p.kome {
	font-size: 14px;
	padding-left:1em;
	text-indent:-1em;
}
.about_txt01 h3 {
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
	font-size: 30px;
	line-height: 1.8;
	margin-top: 2em;
}

@media screen and (max-width: 1200px) {

.honki_about {
	display: block;
	font-size: 260px;
	width: 1em;
	top: auto;
	right: auto;
	position: relative;
	margin: 0 auto;
}
.about_txt01 {
	width: 100%;
	margin-top: 80px;
}
.about_link_btn {
	margin-top: 60px;
}

}

@media screen and (max-width: 1024px) {

.about_txt01 p {
	font-size: 16px;
}

}

@media screen and (max-width: 599px) {

.honki_about {
	display: block;
	font-size: 200px;
	width: 1em;
	top: auto;
	right: auto;
	position: relative;
	margin: 0 auto;
}
.honki_about span:nth-of-type(1) {
	font-size: 60px;
}
.honki_about span:nth-of-type(2) {
	font-size: 200px;
}
.about_txt01 h3 {
	font-size: 22px;
	line-height: 1.8;
	margin-top: 2em;
}
}


/* about_sc02
======================================================*/

.about_sc02 {
	position: relative;
	z-index: 1;
	background-color: #fff;
	padding: 0 0 100px 0;
}

.gmap iframe {
	width: 100%;
	height: 600px;
}
.studio_info {
	margin-top: 46px;
}
.studio_info dt {
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
	font-size: 30px;
	margin-bottom: 20px;
}
.studio_info dd {
	font-weight: 400;
	font-style: normal;
	font-size: 18px;
	line-height: 1.6;
}
.studio_info dd:not(:first-child) {
	margin-top: 16px;
}

#about-splide img {
	width: auto;
	height: 300px;
}

@media screen and (max-width: 1024px) {

.studio_info {
	margin-top: 30px;
}
.studio_info dt {
	font-size: 26px;
	margin-bottom: 20px;
}
.studio_info dd {
	font-size: 16px;
}

}

@media screen and (max-width: 599px) {

.gmap iframe {
	width: 100%;
	height: 460px;
}
#about-splide img {
	width: auto;
	height: 200px;
}
.studio_info dt {
	font-size: 20px;
	margin-bottom: 16px;
}

}

/* top_contact
======================================================*/

.top_contact {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	padding: 100px 0 100px 0px;
	background-color: #fff;
}

.top_contact h2 {
	margin-bottom: 60px;
}

.top_contact h2 span:nth-of-type(1) {
	font-size: 26px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
	display: inline-block;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #000;
}

.contact_form dl {
	display: -webkit-flex;
	display: flex;
}
.contact_form dl:not(:first-child) {
	margin-top: 30px;
}
.contact_form dl dt {
	width: 260px;
	font-size: 18px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	line-height: 1;
	padding-top: 10px;
}
.contact_form dl dd {
	width: calc( 100% - 260px );
	font-size: 18px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
.form_txt {
	padding: 6px;
	border: solid 2px #1a6747;
	width: 100%;
	box-sizing: border-box;
}
.form_txt.form_txtarea {
	height: 300px;
}
.send {
	text-align: center;
	margin-top: 60px;
}
.send input {
	width: 300px;
	height: 60px;
	background-color: #1a6747;
	color: #fff;
	text-align: center;
	line-height: 60px;
	border-radius: 100vh;
	font-size: 18px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}


@media screen and (max-width: 1024px) {

.contact_form dl {
	display: block;
}
.contact_form dl dt {
	width: 100%;
	font-size: 16px;
	padding-top: 0px;
	padding-bottom: 10px;
}
.contact_form dl dd {
	width: 100%;
	font-size: 16px;
}
}

@media screen and (max-width: 599px) {
.top_contact h2 span:nth-of-type(1) {
	font-size: 22px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
	display: inline-block;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #000;
}
}

/* contactform7設定
======================================================*/

.wpcf7-not-valid-tip{
   box-sizing: border-box;
   border-bottom: 1px dotted #CB4A2D;
   color: #CB4A2D;
   margin-top: 10px;
   margin-bottom: 10px;
   padding: 6px 6px 6px 40px;
   text-indent: -30px;
   font-size: 16px;
}
.wpcf7-not-valid-tip::before{
   content: "";
   background: url(../img/sankaku.png) no-repeat center/cover;
   display: inline-block;
   margin-right: 10px;
   margin-bottom: 4px;
   vertical-align: middle;
   width: 20px;
   height: 18px;
}

div.wpcf7 .wpcf7-spinner {
    display: none;
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
	color: #fff;
	font-weight: 700;
	border: 1px solid #CB4A2D;
	background-color: #CB4A2D;
	border-radius: 2px;
	margin: 40px 0 0 0;
	padding: 0.8em 1em;
	text-align: center;
	font-size: 16px;
	line-height: 1.4;
}
.wpcf7 form.sent .wpcf7-response-output {
	border: 1px solid #54674d;
	background-color: #54674d;
}


/* clearfix：float対策
======================================================*/

.clear:after {
	content: "";
	display: block;
	clear: both;
}
 
.clear:before {
　　　　content: "";
	display: block;
	clear: both;
}
 
.clear {
	display: block;
}