@charset "UTF-8";


/* ----------
  Defaultリセット
---------- */
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}


a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}


small {
  font-size: 80%;
}

input{
	box-sizing: border-box;
}

img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/*input[type="checkbox"] {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }*/
::placeholder {
  color: #aaa;
}

body {
	background: #fff;
	color: #3e3e3e;
	font-family: Futura, 'Century Gothic', 'Hiragino Kaku Gothic ProN', sans-serif;
}
@media (min-width: 768px) {
	body {
		min-width: 768px;
	}
}
.container {
	overflow-x: hidden;
	width: 100%;
}

.b {
	font-weight: bold;
}
.big{
  font-size:1.3em;
}
.small {
	font-size: .8em;
}

.br{
	display: block;
}
.br_sp{
	display: none;
}
@media (max-width: 767px) {
	.br{
		display: none;
	}
	.br_sp{
		display: block;
	}
}
.pc{
	display: block;
}
.sp{
	display: none;
}
@media (max-width: 767px) {
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
}

body .none{
	display: none;
}

.body {
	padding: 40px 20px;
	width: calc(100vw - 190px);
}
@media (max-width: 767px) {
	.body {
		padding: 20px 10px;
		width: calc(100vw - 100px);
	}
}


.material-symbols-outlined {
  font-variation-settings:
  'FILL' 1,
  'wght' 100,
  'GRAD' -25,
  'opsz' 24;
  color: #3f4650;
}


figcaption {
	font-size: 10px;
}

section{
  padding:0px 0px 0px 0px;
  border-bottom: 1px solid #3f4650;
}
@media (max-width: 767px) {
	section{
  	padding:0px 0px 0px 0px;
	}
}

h2{
	font-size: 26px;
	font-weight: 600;
}
@media (max-width: 767px) {
	h2{
		font-size: 24px;
	}
}
h3{
	font-size: 22px;
	font-weight: 600;
}
@media (max-width: 767px) {
	h3{
		font-size: 20px;
	}
}
p{
	font-size: 16px;
	line-height: 1.6;
}
@media (max-width: 767px) {
	p{
		font-size: 14px;
	}
}
.tate{
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	position: relative;
	padding: 29px 0 0px 0;
	margin: auto;
	letter-spacing: .1rem;
}
.zenkaku{
	font-family: "Zen Kaku Gothic New", sans-serif;
}


img{
	width: 100%;
}


.button{
	text-align: center;
  position: relative;
  border-radius: 30px;
  background: #3f4650;
  color: #fff;
  padding: 10px 40px;
}
.button:before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 30px;
	border:1px solid #111;
	position: absolute;
	left: -4px;
	top: -4px;
	transition: .2s;
}
.button:hover:before{
	left: 0px;
	top: 0px;
}
@media (max-width: 767px) {
	.button{
		width: 100%;
	}
	.button:hover:before{
		left: -4px;
		top: -4px;
	}
}
.button_a{
	text-align: center;
  position: relative;
  border-radius: 30px;
  background: #3f4650;
  color: #fff;
  padding: 10px 40px;
  border: 0;
}
@media (max-width: 767px) {
	.button_a{
		width: 100%;
	}
}

.button_b{
	text-align: center;
  position: relative;
  border-radius: 30px;
  background: #3f4650;
  border: 1px solid #3f4650;
  color: #fff;
  padding: 10px 40px;
  transition: .2s;
}
.button_b:hover{
	background: #fff;
	color: #3e3e3e;
}
@media (max-width: 767px) {
	.button_b{
		width: 100%;
	}
}

.contact_table,
.contact_table table{
	width: 100%;
	font-family: 'Hiragino Kaku Gothic ProN', sans-serif;
}
.contact_table table label span{
	background: #db2c35;
	color: #fff;
	padding:2px 5px;
	margin-left:10px;
	font-weight:300;
}
@media (max-width: 767px) {
	.contact_table table label span.padding{
		margin-left:0px;
	}
}
input,
select{
	width:100%;
	min-height: 30px;
	background: #f2f2f2;
	border: 1px solid #f2f2f2;
	color: #3e3e3e;
	border-top-left-radius: 0px;
	border-top-right-radius: 0px;
	border-bottom-right-radius: 0px;
	border-bottom-left-radius: 0px;
	padding: 15px;
}
input[type="checkbox"],
input[type="radio"]{
	padding: 17px 12px;
	position: relative;
	width:24px;
	height:24px;
}
input[type="submit"]{
  cursor: pointer;
  width: auto;
}
@media (max-width: 767px) {
	input[type="submit"]{
		width: 100%;
	}
}


.contact_table{
	width: 730px;
	display: flex;
	flex-wrap: wrap;
}
.contact_table table{
	border-collapse: collapse;
	width: 100%;
}
@media (max-width: 1000px) {
	.contact_table{
		width: 100%;
	}
}
.contact_table tr{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 20px 0;
}
.contact_table tr:first-child{
}
.contact_table th{
	text-align: left;
	padding: 20px 0px 5px 0;
	width:100%;
	font-weight: 600;
}
.contact_table td{
	width:100%;
	padding: 10px 0px;
}

.form_day{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 20px;
}
.form_day:last-child{
	margin-bottom: 0px;
}
.form_day input[type="date"]{
	height: 45px;
	width: 180px;
	margin: 0 20px 0 30px;
	padding: 0 15px;
}
.form_day select{
	height: 45px;
	width: 75px;
	margin: 0 10px 0 0px;
	padding: 0 15px;
}
@media (max-width: 767px) {
	.form_day{
		flex-wrap: wrap;
	}
	.form_day span:first-child{
		width: 100%;
	}
	.form_day input[type="date"]{
		margin: 0 20px 0 0px;
	}
}

.contact_table .check{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.contact_table .check input{
	margin-left: 20px;
}
.contact_table .check input:first-child{
	margin-left: 0px;
}
.contact_table .check span{
	padding: 0 22px 0 4px;
}
.form_place{
	display: flex;
	align-items: center;
}

.contact_table .contact_conf{
	display: flex;
	width: 100%;
	justify-content: flex-start;
}

.privacy{
	display: flex;
  align-items: center;
  width: 100%;
}
.contact_table .button_b{
	margin: 40px auto 0;
}
.contact_table .contact_conf .button_a{
	margin: 0;
	border: 1px solid #3f4650;
	transition: .2s;
}
.contact_table .contact_conf .button_a:hover{
	background: #fff;
	color: #3e3e3e;
}
.contact_table .contact_conf button.button_a{
	margin-right: 10px;
	background: #fff;
	color: #3e3e3e;
	border: 1px solid #3f4650;
	transition: .2s;
}
.contact_table .contact_conf button.button_a:hover{
	background: #3f4650;
	color: #fff;
}
@media (max-width: 767px) {
	.contact_table .contact_conf{
		flex-wrap: wrap;
	}
	.contact_table .contact_conf .button_a{
		width: 100%;
	}
	.contact_table .contact_conf button.button_a{
		width: 100%;
		margin-right: 0px;
		margin-bottom: 10px;
	}
	.contact_table .contact_conf .button_a:hover{
		background: #3f4650;
		color: #fff;
	}
	.contact_table .contact_conf button.button_a:hover{
		background: #fff;
		color: #3e3e3e;
	}
}

.error{
	color: #db2c35;
}


.is-hide {
  visibility: hidden;
  opacity: 0
}
.block {
	 width: 120px;
	 height: 120px;
	 margin: auto;
	 position: fixed;
	 bottom: 24px;
	 right: 24px;
	 background: #3f465000;
	 border-radius: 50%;
	 transition: .5s;
	 z-index: 100;
}
.block.sp{
	width: 90px;
	height: 90px;
	right: 20px;
}
.block.sp .circleText__text {
 	fill:#3f465066;
}
.block.sp .center_text{
	color: #3f465066;
}
 .circleText {
	 overflow: visible;
	 animation: rotation 18s linear infinite;
	 margin: -10px;
}
 .circleText__circle {
	 fill: none;
}
 .circleText__text {
 	fill:#3f4650;
	 font-size: 12px;
	 letter-spacing: 0.1em;
}
.center_text{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	color: #3f4650;
}
.block:hover{
	background: #3f4650aa;
}
.block:hover .center_text{
	color: #fff;
}
 @keyframes rotation {
	 0% {
		 transform: rotate(0deg);
	}
	 100% {
		 transform: rotate(360deg);
	}
}


.right_catch{
	align-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.0);
  bottom: auto;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100vh;
  justify-content: center;
  left: auto;
  margin: 0 0 0 0;
  position: fixed;
  right: 0px;
  top: 0px;
  width: 50px;
  max-width: 100%;
}
@media (max-width: 767px) {
	.right_catch{
		width: 40px;
	}
}
.right_catch p{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}


 




/* ----------
	header
---------- */

#site-header {
  position: fixed;
  top: 0%;
  z-index: 1000;
	background: #ede9e3;
	display: flex;
	justify-content: center;
	align-items: center;
/*	padding: 0 24px;*/
	width: 100%;
	height: 90px;
	font-size: 16px;
	color: #002238;
	box-shadow: 0px 0px 20px rgba(0,0,0,.1);
	transition: .3s;
}

@media (max-width: 1000px) {
	#site-header {
		align-items: center;
		left: 0;
		padding: 8px 12px;
		height: 130px;
		position: fixed;
		top: 0;
		z-index: 999;
		font-size: 14px;
	}
}
#site-header nav{
/*	height: 60%;*/
}
#site-header .brand {
	width: 100px;
	height: auto;
	font-size: 0px;
	position: absolute;
	top: 40%;
	left: 20px;
	transform: translate(0%, -50%);
}
#site-header .brand img{
	width: 190px;
}
#site-header .brand span{
	font-size: 0;
	display: block;
}
@media (max-width: 1000px) {
	#site-header .brand {
		width: 100px;
		z-index: 900;
		padding-left: 0px;
	}
	#site-header .brand img{
		width: 130px;
	}
}

#site-header #nav-switch,
#site-header #nav-close {
	display: none;
}
@media (max-width: 1000px) {
	#site-header .brand {
		top: 30px;
	}
	#site-header #nav-switch {
		color: #002238;
		display: block;
		font-size: 10px;
		transition: .5s;
	}
	#site-header nav {
		background: #ede9e3;
		bottom: 0;
		filter: opacity(1);
		min-height: 100vh;
		padding: 60px 0px;
		position: fixed;
		right: 0%;
		top: 0%;
		transform: translateX(105%);
		transition: .5s;
		width: 80%;
		z-index: 999;
	}
	#site-header #nav-close {
		color: #002238;
		display: block;
		font-size: 24px;
		position: absolute;
		right: 12px;
		top: 8px;
	}
	#site-header button {
	  border-color: transparent;
	  background: transparent;
	  cursor: pointer;
	}
	#site-header .hamburger {
	  width: 65px;
	  height: 65px;
	  position: absolute;
	  top: 0px;
	  right: 0px;
	  z-index: 1001;
/*	  background: var(--color_main);*/
	}

	#site-header #nav-switch .hamburger_bar {
		display: block;
		width: 60%;
		height: 2px;
		position: absolute;
		left: 20%;
		background: #75a7ad;
		transition: top 0.5s, transform 0.5s, opacity 0.5s;
		z-index: 1;
	}
	#site-header #nav-switch .hamburger_bar.no{
		display: block;
		width: 70%;
		height: 0px;
		position: absolute;
		left: 15%;
		transition: top 0.5s, transform 0.5s, opacity 0.5s;
		z-index: 1;
		font-size: 13px;
		letter-spacing: -0.2rem;
	}

	#site-header #nav-switch .hamburger_bar:nth-child(1) {
		top: 30%;
	}
	#site-header #nav-switch .hamburger_bar:nth-child(2) {
		top: 50%;
		transform: translateY(-50%);
	}
	#site-header #nav-switch .hamburger_bar:nth-child(3) {
		top: 66%;
  	transform: translateY(-100%);
  	color: #75a7ad;
  	letter-spacing: 0.05rem;
	}

	#site-header #nav-switch.open .hamburger_bar:nth-child(1) {
		top: 50%;
  	transform: translateY(-50%) rotate(135deg);
	}
	#site-header #nav-switch.open .hamburger_bar:nth-child(2) {
		top: 50%;
		transform: translateY(-50%) rotate(-135deg);
		
	}
	#site-header #nav-switch.open .hamburger_bar:nth-child(3) {
  	transform: translate(50%, -50%);
  	opacity: 0;
	}


	/*------------------------------------
	¥á¥Ë¥å©`¥¯¥ê¥Ã¥¯áá¥á¥Ë¥å©`Íâ¤Î±³¾° ¡ý
	------------------------------------*/
	.overlay {
	  background-color: #525263;
	  cursor: pointer;
	  height: 100vh;
	  left: 0;
	  opacity: 0;
	  position: fixed;
	  top: 0;
	  transition: all 0.6s;
	  visibility: hidden;
	  width: 100vw;
	  z-index: 1;
	}

	/* open */
	#site-header #nav-switch.open {
/*		filter: opacity(0);*/
	}
	#site-header nav.open {
		transform: translateX(0); /*Ôª¤ÎÎ»ÖÃ¤Ë‘ø¤¹css*/
	}

	.open .overlay{
		opacity: .65;
		visibility: visible;
	}
}
.menu_sp, .menu_main_sp, .menu_down_sp, .contact_sp, .menu_down_sp{
	display: none;	
}
#site-header .menu_pc {
	display: flex;
	margin: 0;
	justify-content: center;
/*	margin-top: 75px;*/
}
@media (max-width: 1000px) {
	#site-header .menu_pc {
		display: none;
	}
	#site-header .menu_sp{
		display: flex;
		flex-wrap: wrap;
		box-shadow: 0px 0px 10px rgba(0,0,0,.0);
		justify-content: space-between;
		margin-top: var(--space32);
		width: 100%;
		margin: 40px 0;
	}


	#site-header .menu_main_sp .material-symbols-outlined{
		color: #002238;
		font-size: 50px;
	}
	#site-header .menu_main_sp p{
		width: 100%;
		text-align: center;
	}
	#site-header .menu_down_sp a{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		text-align: center;
	}
	#site-header .menu_down_sp h4{
		margin-left: 5px;
	}
	#site-header .menu_down_sp{
		display: flex;
		justify-content: center;
		position: absolute;
		bottom: 0px;
		border-top: 1px solid #75a7ad;
	}
	#site-header .menu_down_sp li{
		width: calc(100vw / 3);
		display: flex;
		justify-content: center;
		align-items: center;
		border-right: 1px solid #75a7ad;
		padding: 12px 0;
	}
	#site-header .menu_down_sp li:last-child{
		border-right: 0px solid #75a7ad;
	}
}
#site-header .menu_pc li a {
	align-items: center;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-content: center;
	height: 100%;
	text-decoration: none;
	font-weight: 600;
	letter-spacing: .1rem;
}
#site-header .menu_pc li a span{
	width: 100%;
	text-align: center;
/*	padding: 3px 0;*/
}
#site-header .menu_pc li a span:first-child{
	font-size: var(--font-size_level9);
}
#site-header .menu_pc li a span:last-child{
	font-size: var(--font-size_level4);
	font-weight: 100;
}
#site-header .menu_pc li a.recruit{
	border: 1px solid #fff;
	border-radius: 50px;
	padding: 0px 15px;
}
#site-header .menu_pc li .contact .material-symbols-rounded{
	padding-right:5px;
}

#site-header .menu_sp{
	display: none;
}
@media (max-width: 1000px) {
	#site-header .menu_sp{
		display: block;
		width: 100%;
		margin: 40px 0;
	}
	#site-header .menu_sp li{
		width:100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-start;
/*    border-radius: 5px;*/
    padding: 20px 0px;
/*    margin: 5px 0;*/
	}
	#site-header .menu_sp li{
		border-top: 1px solid #fff;
		background: #75a7ad;
		color: #fff;
	}
	#site-header .menu_sp li a {
		display: flex;
		width: 100%;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
		position: relative;
		padding-left: 30px;
	}
	#site-header .menu_sp li:nth-child(2) a{
/*		margin: 0 0 10px;*/
	}
	#site-header .menu_sp .faq_ques{
		width:100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
		position: relative;
		padding-left: 30px;
	}
	#site-header .menu_sp .faq_ques .material-symbols-outlined,
	#site-header .menu_sp  .material-symbols-outlined.newopen{
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translate(0%, -50%);
		color: #fff;
		font-size:34px;
	}
	#site-header .menu_sp .add1_1,
	#site-header .menu_sp .add1_2,
	#site-header .menu_sp .add1_3,
	#site-header .menu_sp .add1_4{
		display:block;
	}
	#site-header .menu_sp .remove1_1,
	#site-header .menu_sp .remove1_2,
	#site-header .menu_sp .remove1_3,
	#site-header .menu_sp .remove1_4{
		display:none;
	}
	#site-header .menu_sp .add1_1.tap,
	#site-header .menu_sp .add1_2.tap,
	#site-header .menu_sp .add1_3.tap,
	#site-header .menu_sp .add1_4.tap{
		display:none;
	}
	#site-header .menu_sp .remove1_1.tap,
	#site-header .menu_sp .remove1_2.tap,
	#site-header .menu_sp .remove1_3.tap,
	#site-header .menu_sp .remove1_4.tap{
		display:block;
	}
	#site-header .menu_sp .faq_ans1_1,
	#site-header .menu_sp .faq_ans1_2,
	#site-header .menu_sp .faq_ans1_3,
	#site-header .menu_sp .faq_ans1_4{
		width: 100%;
		background: #fff;
		color: #002238;
		display:none;
	}
	#site-header .menu_sp .faq_ans1_1.tap,
	#site-header .menu_sp .faq_ans1_2.tap,
	#site-header .menu_sp .faq_ans1_3.tap,
	#site-header .menu_sp .faq_ans1_4.tap{
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		width: 100%;
		background: #fff;
		color: #002238;
	}
	#site-header .menu_sp .title1_1,
	#site-header .menu_sp .title1_2,
	#site-header .menu_sp .title1_3,
	#site-header .menu_sp .title1_4{
		color: var(--color_font_black);
	}
	#site-header .menu_sp .title1_1.tap,
	#site-header .menu_sp .title1_2.tap,
	#site-header .menu_sp .title1_3.tap,
	#site-header .menu_sp .title1_4.tap{
		color: var(--color_accent2);
		font-weight: 700;
	}
	#site-header .menu_sp .faq_ans a{
		border-top: 1px solid #75a7ad;
		width: 100%;
		padding: 10px 0 10px 30px;
	}
	#site-header .menu_sp .faq_ans1_1 a:last-child,
	#site-header .menu_sp .faq_ans1_2 a:last-child,
	#site-header .menu_sp .faq_ans1_3 a:last-child,
	#site-header .menu_sp .faq_ans1_4 a:last-child{
		padding: 10px 0 10px 30px;
	}
	#site-header .menu_sp .faq_ans{
		margin: 20px auto 0;
	}
	#site-header .faq_ans a:nth-child(n+2):before{
		border-top: 1px solid #002238;
		content: "";
		width: .7em;
		display: inline-block;
		margin: 7px 5px 7px 0;
	}
}


#site-header .menu_pc .menu__single{
    position: relative;
    padding: 0px 18px;
}
#site-header .menu_pc .menu__single a{
	transition: .3s;
}
#site-header .menu_pc .menu__single a:hover{
	color: #75a7ad;
	font-weight: 400;
}


#site-header .contact{
	position: absolute;
	right: 0;
	top: 0%;
	transform: translate(0%, 0%);
	display: flex;
	align-items: center;
}
#site-header .contact .contact_tel{
	padding-right: 15px;
	display: flex;
  flex-wrap: wrap;
  width: 200px;
  justify-content: flex-end;
}
#site-header .contact .contact_tel a:first-child{
	padding-bottom: var(--space4);
}
#site-header .contact .contact_tel .sm{
	font-size: 12px;
	text-align: right;
}
#site-header .contact .contact_tel .font-size{
	font-size: var( --font-size_level10);
}
#site-header .contact .contact_mail{
	background: #75a7ad;
	display: flex;
	flex-wrap: wrap;
	color: #fff;
	justify-content: center;
	height: 90px;
	width: 90px;
}
#site-header .contact .contact_mail p{
	width: 100%;
	text-align: center;
}
#site-header .contact .contact_mail .material-symbols-outlined{
	font-size: 50px;
	margin: 4px 0 -18px 0;
}
#site-header .contact .contact_tel a,
#site-header .contact .contact_mail{
	transition: .3s;
}
#site-header .contact .contact_tel a:hover{
	color: #75a7ad;
	font-weight: 400;
}
#site-header .contact .contact_mail:hover{
	background: #75a7ad;
}
@media (max-width: 1000px) {
	#site-header .contact{
		display: none;
	}
	#site-header .contact_sp{
		display: flex;
		position: absolute;
		right: 65px;
		top: 0;
		z-index: 1002;
	}
	#site-header .contact_sp a{
		background: #75a7ad;
		display: flex;
		flex-wrap: wrap;
		color: #fff;
		justify-content: center;
		height: 65px;
		width: 65px;
		border-radius: 50%;
	}
	#site-header .contact_sp .contact_tel{
		background: #75a7ad;
		height: 65px;
		width: 65px;
	}
	#site-header .contact_sp p{
		width: 100%;
		text-align: center;
	}
	#site-header .contact_sp .material-symbols-outlined{
		font-size: 40px;
		margin: 7px 0 -5px 0;
	}
}



#footer{
	background: #3f4650;
	color: #fff;
	padding: 50px 100px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
#footer .footer{
	display: flex;
	flex-wrap: wrap;
	width: 70%;
}
#footer .brand{
	width: 100%;
	margin-bottom: 20px;
}
#footer .brand img{
	width: 200px;
}
@media (max-width: 767px) {
	#footer{
		padding: 20px 50px;
		flex-wrap: wrap;
	}
	#footer .copyright{
		margin-top: 20px;
	}
	#footer .footer{
		width: 100%;
	}
	#footer .brand img{
		width: 150px;
	}
}




.kv{
	width: calc(100% - 50px);
	border-right: 1px solid #3e3e3e;
/*	border-bottom: 1px solid #3e3e3e;*/
	position: relative;
}
@media (max-width: 767px) {
	.kv{
		width: calc(100% - 40px);
	}
}
.kv img{
	width: 100%;
}
.kv p.tate{
	color: #fff;
	filter: drop-shadow(-7px 7px 6px rgba(0, 0, 0, .2));
	font-size: 45px;
	position: absolute;
	top: 14%;
	left: 85%;
}
@media (max-width: 1000px) {
	.kv p.tate{
		font-size: 35px;
		top: 14%;
		left: 56%;
	}
}

.section_title{
	width: 100px;
	border-right: 1px solid #3e3e3e;
	display: flex;
	justify-content: center;
}
@media (max-width: 767px) {
	.section_title{
		width: 40px;
	}
}
.section_title h3{
	margin: 45px auto;
	position: relative;
}
.section_title h3:before{
	font-family:"Material Symbols Outlined";  /* CDNで読み込んだものを指定 */
	content:"\e88a";  /* Code Point */ 
	font-variation-settings:
	'FILL' 1,
	'wght' 100,
	'GRAD' -25,
	'opsz' 24;
	color: #3f4650;
	display: block;
	position: absolute;
	top: 0%;
	left: 50%;
	transform: translate(-50%, 0%);
/*	width: 7px;*/
/*	height: 7px;*/
	border-radius: 50%;
	margin: 0px 0;
}

i.ri-instagram-line{
	color: #3f4650;
	font-size: 34px;
}

.absolute_no{
	position: absolute;
	top: -50px;
	right: -15px;
}
.absolute_no span{
	color: #f9f9f9;
	font-size: 150px;
}
@media (max-width: 767px) {
	.absolute_no{
		top: -70px;
	}
	.absolute_no span{
		color: #f9f9f999;
		font-size: 100px;
	}
}

.d-demo__wrap {
  position: relative;
/*  display: flex;*/
/*  flex-wrap: wrap;*/
  width: 33.33%;
  padding: 0 30px;
}
@media (max-width: 1000px) {
	.d-demo__wrap {
	  width: 50%;
	  padding: 0 0px 0 20px;
	  height: 900px;
	  overflow: hidden;
	}
}

.d-demo__wrap ul {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  width: 100%;
}

.d-demo__wrap ul:first-child {
  animation: slide3 200s -100s linear infinite;
}
.d-demo__wrap ul:last-child {
  animation: slide4 200s linear infinite;
}

.d-demo__wrap li {
  display: inline-block;
  width: 100%;
  min-width: 125px;
  list-style: none;
  text-align: center;
}
@media (max-width: 767px) {
	.d-demo__wrap ul {
	  width: 100vw;
	}
	.d-demo__wrap{
		width: calc(100vw / 2);
/*		left: 50%;*/
	}
	.d-demo__wrap img{
		width: calc(100vw / 2);
	}
	.d-demo__wrap li {
	  text-align: left;
	}
}
@keyframes slide3 {
	0% {
		transform: translateY(-100%);
	}
	to {
		transform: translateY(100%);
	}
}
@keyframes slide4 {
	0% {
		transform: translateY(-200%);
	}
	to {
		transform: translateY(0);
	}
}




/*

section

*/


/*section_1*/
#section_1{
	display: flex;
	position: relative;
	border-top: 1px solid #3f4650;
}
#section_1:before{
	content: "";
	background-color: #f2f2f2;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
#section_1 .body{
	display: flex;
	flex-wrap: wrap;
}
#section_1 .img{
	width: 37%;
}
#section_1 .text_box{
	padding-left: 75px;
	width: 55%;
}
#section_1 .tit{
	padding-top: 18px;
}
#section_1 .text{
	padding-left: 55px;
	padding-top: 28px;
}
@media (max-width: 1000px) {
	#section_1 .text_box{
		padding-left: 35px;
	}
	#section_1 .text{
		padding-left: 30px;
	}
}
@media (max-width: 767px) {
	#section_1 .img{
		width: 100%;
	}
	#section_1 .text_box{
		padding-left: 0px;
		padding-top: 30px;
		width: 100%;
	}
	#section_1 .tit{
		padding-top: 0px;
	}
	#section_1 .text{
		padding-left: 0px;
	}
}


#section_2{
	position: relative;
	display: flex;
}
#section_2 .body{
	display: flex;
	align-items: stretch;
}
#section_2 .img{
	width: 300px;
}
#section_2 .text_box{
	padding-left: 45px;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
}
#section_2 .text_box p.small{
	color: #999;
}
#section_2 .text_box .tit{
	width: 100%;
}
#section_2 .text_box .text{
	padding: 14px 0;
	width: 100%;
}
#section_2 .text_box .sns{
	width: 100%;
	padding-bottom: 19px;
}
.absolute_img{
	position: absolute;
	bottom: 0;
	right: 200px;
}
.absolute_img1{
	position: absolute;
	bottom: 0;
	right: 300px;
}
.absolute_img img{
	width: 120px;
	filter: drop-shadow(2px 10px 7px rgba(0, 0, 0, .4));
}
.absolute_img1 img{
	width: 120px;
	filter: drop-shadow(2px 10px 7px rgba(0, 0, 0, .4));
}
@media (max-width: 1300px) {
	.absolute_img{
		right: 50px;
	}
	.absolute_img1{
		right: 150px;
	}
	.absolute_img img{
		width: 95px;
	}
	.absolute_img1 img{
		width: 90px;
	}
}
@media (max-width: 767px) {
	#section_2 .body{
		display: flex;
		flex-wrap: wrap;
	}
	.absolute_img{
		bottom: auto;
		right: 24px;
		border-bottom: 1px solid #3e3e3e;
		top: 100px;
	}
	.absolute_img1{
		bottom: auto;
		right: 84px;
		top: 132.5px;
		border-bottom: 1px solid #3e3e3e;
	}
	#section_2 .text_box{
		padding-left: 0px;
	}
	#section_2 .img{
		width: 200px;
	}
	.absolute_img img{
		width: 60px;
	}
	.absolute_img1 img{
		width: 70px;
	}
}


#section_3{
	position: relative;
	display: flex;
	overflow: hidden;
}
#section_3:before{
	content: "";
	display: block;
	background-image: url(../img/home_base.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
#section_3 .body{
	display: flex;
	height: 1000px;
	position: relative;
}
#section_3 .text_box,
#section_3 .text_box2{
	width: 33.33%;
}
#section_3 .text_box{
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
}
#section_3 .text_box2{
	display: flex;
	flex-wrap: wrap;
	align-content: flex-end;
}
#section_3 .img{
	padding: 40px 0 40px 0;
}
#section_3 .text_box2 .text{
	padding: 25px 0 30px 0;
}
@media (max-width: 1000px) {
	#section_3 .body{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		height: 1300px;
	}
	#section_3 .text_box{
		width: 46%;
	}
	#section_3 .text_box2{
		width: 100%;
		z-index: 1;
		margin-top: 40px;
	}
}
@media (max-width: 767px) {
	#section_3 .body{
		height: auto;
	}
	#section_3 .img{
		padding: 20px 0 20px 0;
	}
	#section_3 .text_box{
		width: 100%;
	}
	.d-demo__wrap{
		z-index: -1;
		position: absolute;
		right: 0;
	}
	.d-demo__wrap .d-demo__list{
		position: relative;
	}
	.d-demo__wrap .d-demo__list:before{
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
		background: rgba(255, 255, 255, .75);
	}

	#section_3 .img_box{
		display: flex;
	}
	#section_3 .img_box .img{
		display: flex;
		flex-wrap: wrap;
		width: 50%;
	}
	#section_3 .img_box .img:first-child{
		padding-right: 10px;
	}
	#section_3 .img_box .img:nth-child(2) img:nth-child(1){
		padding-bottom: 10px;
	}
}




#section_4{
	position: relative;
	display: flex;
}
#section_4 .body{
	display: flex;
	flex-wrap: wrap;
}
#section_4 .box1,
#section_4 .box2{
	display: flex;
	align-items: center;
	width: 100%;
}
#section_4 .box2{
	margin-top: 100px;
	margin-right: 50px;
	justify-content: space-between;
}
#section_4 .text_box{
	width: 450px;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
}
#section_4 .img{
	width: 30%;
}
#section_4 .box2 .img{
	order: 1;
}
#section_4 .box1 .text_box{
	padding-left: 75px;
}
#section_4 .text{
	padding: 25px 0 30px 0;
}
#section_4 .box1 .text{
	width: 100%;
}
#section_4 .box2 .text{
	width: 100%;
}
@media (max-width: 1000px) {
	#section_4 .text_box{
		width: 45%;
	}
	#section_4 .img{
		width: 40%;
	}
	#section_4 .box1 .text_box{
		padding-left: 45px;
	}
}
@media (max-width: 767px) {
	#section_4 .box1,
	#section_4 .box2{
		flex-wrap: wrap;
	}
	#section_4 .box2{
		margin-top: 50px;
		margin-right: 0px;
		justify-content: flex-end;
	}
	#section_4 .text_box{
		width: 100%;
	}
	#section_4 .box1 .text_box{
		padding-left: 0px;
	}
	#section_4 .box2 .text_box{
		justify-content: flex-end;
	}
	#section_4 .img{
		width: 80%;
	}
	#section_4 .box2 .img{
		order: -1;
	}
	#section_4 .box2 .text_box h2{
		text-align: right;
	}
	#section_4 .box1 .text{
		width: 100%;
	}
	#section_4 .box2 .text{
		width: 100%;
	}
}


#section_5{
	display: flex;
	position: relative;
}
#section_5:before{
	content: "";
	background-color: #f2f2f2;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
#section_5 .body{
	display: flex;
	flex-wrap: wrap;
}
#section_5 .explain{
	margin-bottom: 40px;
}
@media (max-width: 767px) {
	#section_5 .explain{
		margin-bottom: 20px;
	}
}
#section_5 ul{
	display: flex;
	flex-wrap: wrap;
}
#section_5 ul li{
	width: 100%;
	display: flex;
	position: relative;
	margin: 30px 0;
}
#section_5 ul li:first-child{
	margin: 0 0 30px 0;
}
#section_5 ul li .box{
	position: relative;
	display: flex;
	align-items: center;
}
#section_5 ul li:before,
#section_5 ul li:after,
#section_5 ul li .box:before,
#section_5 ul li .box:after{
	content: "";
	position: absolute;
	background-color: #3e3e3e;
	z-index: 10;
}
#section_5 ul li:before{
	top: 14px;
	left: 25px;
	width: calc(100% - 50px);
	height: 1px;
}
#section_5 ul li:after{
	top: 25px;
	left: 14px;
	width: 1px;
	height: calc(100% - 50px);
}
#section_5 ul li .box:before{
	top: 25px;
	right: 14px;
	height: calc(100% - 50px);
	width: 1px;
}
#section_5 ul li .box:after{
	left: 25px;
	bottom: 14px;
	height: 1px;
	width: calc(100% - 50px);
}
@media (max-width: 767px) {
	#section_5 ul li:before{
		top: 5px;
		left: 10px;
		width: calc(100% - 20px);
	}
	#section_5 ul li:after{
		top: 10px;
		left: 5px;
		height: calc(100% - 20px);
	}
	#section_5 ul li .box:before{
		top: 10px;
		right: 5px;
		height: calc(100% - 20px);
	}
	#section_5 ul li .box:after{
		left: 10px;
		bottom: 5px;
		width: calc(100% - 20px);
	}
}

#section_5 .img{
	width: 35%;
}
#section_5 .img img{
	height: 350px;
/*	width: 535px;*/
	object-fit: cover;
}
#section_5 li:first-child .img img{
/*	object-fit: contain;*/
}
#section_5 .text_box{
	width: 50%;
	padding-left: 35px;
	z-index: 1;
}
#section_5 .text{
	padding-top: 15px;
}
@media (max-width: 767px) {
	#section_5 ul li .box{
		flex-wrap: wrap;
	}
	#section_5 .img{
		width: 100%;
	}
	#section_5 .text_box{
		width: 100%;
		padding: 20px;
		z-index: 1;
	}
}
#section_5 .text_box2{
	margin-top: 20px;
}
#section_5 .text_box2 .text{
	padding: 25px 0;
}


#contact .form{
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 100px;
}
#contact .form .tit{
	width: 100%;
	text-align: center;
}
@media (max-width: 767px) {
	#contact .form{
		padding: 20px 40px 20px 20px;
	}
}



.object{
	position: absolute;
	z-index: -1;
}


