@charset "UTF-8";
/* ----------------------------------------------------------------
XXXXXX
---------------------------------------------------------------- */
section#staff.type01 .side_txt,
section#blog.type01 .side_txt{
	color: #fff;
}
section#staff.type01 .side_txt:before,
section#blog.type01 .side_txt:before{
	    background: #fff;
}
section#staff.type01 .side_txt:after,
section#blog.type01 .side_txt:after{
    background: #fff;
}
.big_txt {
    font-size: 1.5em;
    line-height: 1.5;
    margin-bottom: 30px;
	    letter-spacing: 0.01em;
}
.big_txt02 {
    font-size: 1.6em;
    line-height: 1.5;
    margin-bottom: 30px;
	    letter-spacing: 0.01em;
	font-weight: 500;
}
p.nomal_txt{
	margin-bottom: 30px;
}
.img_box{
	mix-blend-mode: darken;
		margin: 30px 0;
}
.m_t30{
	margin-top: 30px;
	font-size: 1.4em;
}
section.rightmax > .inner {
padding-left: max(10vw, calc((100% - (930px + 20vw)) / 2 + 10vw));
    padding-right: 0;
    margin: 0;
    max-width: none;
}
section.rightmax > .inner .inner_box{
	    position: relative;
}
@media screen and (min-width: 768px) {
	section.rightmax.type01 .side_txt{
		    left: -10vw;
	}
}
@media screen and (min-width: 1026px) {
  /*PCのみ*/
}
@media screen and (max-width: 1025px) {
  /*tablet*/
}
@media screen and (max-width: 767px) {
  /*spのみ*/
.big_txt {
    font-size: 1.3em;
    margin-bottom: 20px;
}
.big_txt02 {
    font-size: 1.35em;
    letter-spacing: 0;
}
}
/* ----------------------------------------------------------------
fv_fiexdimg
---------------------------------------------------------------- */
#next_cont{
	position: relative;
	background: #F2F3F7;
}
#fv_fiexdimg {
    position: fixed;
    max-width: 688px;
    top: 80px;
    right: -5vw;
    width: 45vw;
}
footer{
	margin-top: 0px;
}
/* ----------------------------------------------------------------
fv
---------------------------------------------------------------- */
#fv {
    max-width: calc(930px + 22vw);
    width: 100%;
    padding:80px 2vw 0;
    margin: 0 auto;
    position: relative;
}
#fv > .inner{
	margin-bottom: 0;
}
#fv .main_txt {
    font-size: 3.5em;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 30px;
}
#fv .sub_txt{
	    margin-bottom: 70px;
}
#fv .hukidashi{
	margin-top: 100px;
}
@media screen and (max-width: 767px) {
  /*spのみ*/
#fv .main_txt {
    font-size: 2.3em;
    letter-spacing: 0em;
}
#fv {
    width: 100%;
    padding: 0px 20px 0;
}
#fv .sub_txt {
    margin-bottom: -2vh;
    font-size: 0.9em;
    position: relative;
}
#fv .sp_img {
    width: 100%;
    display: flex !important;
    justify-content: flex-end;
}
#fv .sp_img img {
    width: 80%;
    margin-right: -20px;
}
	#fv .btn{
		margin-top: -20px;
	}
#fv .hukidashi {
    margin-top: 20px;
}
#fv .hukidashi img{
    width: 100%;
	max-width: 400px;
	margin: 0 auto;
}
}
/* ----------------------------------------------------------------
about
---------------------------------------------------------------- */
#about .nayami_area {
    border-radius: 20px;
    padding: 40px clamp(1.875rem, -15.903rem + 37.04vw, 5.625rem);
    margin-top: 150px;
    margin-bottom: 120px;
}
#about .nayami_area .read_txt{
	text-align: center;
	margin-bottom: 30px;
}
#about .nayami_area .nayami_list {
    display: flex;
    gap: 30px;
    justify-content: space-between;
}
#about .nayami_area .nayami_list li {
    width: 25%;
    max-width: 161px;
}
#about .nayami_area .icon_box{
	width: 100%;
	aspect-ratio:1/1;
	background: #dedede;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
#about .nayami_area .icon_box img{
	width: 50%;
}
#about .nayami_area li p {
    letter-spacing: 0;
    text-align: center;
    line-height: 1.5;
    margin-top: 15px;
}
@media screen and (max-width: 767px) {
	/*spのみ*/
#about .nayami_area {
    margin-top: 60px;
    margin-bottom: 90px;
    padding: 35px 20px 20px;
}
#about .nayami_area .read_txt {
    margin-bottom: 30px;
    letter-spacing: 0;
}
#about .nayami_area .nayami_list {
    gap: 10%;
    flex-wrap: wrap;
}
#about .nayami_area .nayami_list li {
    width: 45%;
	margin-bottom: 20px;
	        max-width: none;
}
#about .nayami_area li p {
    margin-top: 10px;
    font-size: 0.9em;
}
#about .nayami_area .icon_box {
    width: 100%;
    max-width: 250px;
}
}
/* ----------------------------------------------------------------
details
---------------------------------------------------------------- */
section#details{
	padding-bottom: 150px;
}
#details .soudan_list {
    display: flex;
    gap: 3%;
    justify-content: space-between;
    margin: 30px 0 120px;
}
#details .soudan_list .box{
	    width: 48.5%;
}
#details .soudan_list .box a {
    width: 100%;
	display: block;
    padding: 40px 20px;
    border-radius: 20px;
}
#details .soudan_list .box .tl {
    text-align: center;
    font-weight: bold;
    font-size: 1.1em;
    letter-spacing: 0.08em;
}
#details .soudan_list .box img{
	margin: 20px 0;
}
#details .soudan_list .box .bold{
	font-weight: bold;
}
#details .soudan_list .box ul{
	margin: 20px 0;
}
#details .soudan_list .box ul li{
	text-indent: -1em;
	padding-left: 1em;
}
@media screen and (min-width: 768px) {
	#details .soudan_list .box a:hover{
	text-decoration: none;
	    background: #ffffff;
}
#details .soudan_list .box a:hover img{
	opacity: 1;
}
}
@media screen and (max-width: 767px) {
	section#details{
		padding-top: 0;
	padding-bottom: 60px;
}
	#details .soudan_list{
		display: block;
		        margin-block: 40px;
	}	
#details .soudan_list .box {
    width: 100%;
    margin-bottom: 20px;
}
#details .soudan_list .box .tl {
    font-size: 1.3em;
}
	#details .soudan_list .box a{
		position: relative;
		        padding-bottom: 70px;
	}

#details .soudan_list .box a::before {
    content: "";
    position: absolute;
    right: 15px;
    bottom:0;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #333;
    box-sizing: border-box;
}
#details .soudan_list .box a::after {
    content: "";
    position: absolute;
    right: 19px;
    bottom: 23px;
    background: url("../img/arrow.svg")0 0 no-repeat;
    background-size: contain;
    width: 26px;
    height: 26px;
}
}
/* ----------------------------------------------------------------
syoukai
---------------------------------------------------------------- */
#syoukai > .inner{
	max-width: calc(930px + 20vw);
    width: 100%;
    padding: 0 10vw;
    margin: 0 auto;
}
#syoukai > .inner .h3_txt{
	margin-bottom: 40px;
}
#syoukai > .inner .flex_box{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 50px;
}
#syoukai > .inner .flex_box > div{
	    width: 48%;
}
#syoukai > .inner .flex_box .box01{
	max-width: 415px;
	text-align: center;
}
#syoukai > .inner .flex_box .box01 p{
	font-size: 1.1em;
}
#syoukai > .inner .flex_box .box02 p{
	font-size: 0.9em;
}
#syoukai > .inner .syoukai_list ul{
		display: flex;
	justify-content: center;
	align-items: flex-start;
}
#syoukai > .inner .syoukai_list ul li{
	text-align: center;
}
@media screen and (min-width: 768px) {
#syoukai > .inner .syoukai_list ul li:nth-child(2){
	border-left: solid 1px #fff;
	border-right: solid 1px #fff;
	padding: 0 30px;
	margin: 0 30px;
}
}
#syoukai > .inner .syoukai_list ul li p{
	font-size: 0.8em;
}
#syoukai > .inner .syoukai_list ul li p.txt01{
	font-size: 1em;
	font-weight: bold;
	margin-bottom: 10px;
}
#syoukai > .inner .syoukai_list ul li .icon{
	width: 100px;
	aspect-ratio: 1/1;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
	border-radius: 50%;
}
#syoukai > .inner .syoukai_list ul li .icon img{
	width: 70%;
}
@media screen and (max-width: 767px) {
#syoukai > .inner {
    width: 100%;
    padding: 0 20px;
}
	section.black_bg {
    padding: 60px 0;
}
#syoukai > .inner .flex_box {
    display: block;
    margin-bottom: 50px;
}
#syoukai > .inner .flex_box .box01 {
    max-width: none;
    width: 100%;
	    margin-bottom: 20px;
}
#syoukai > .inner .flex_box > div {
    width: 100%;
}
#syoukai > .inner .flex_box .box02 p {
    font-size: 1em;
}
#syoukai > .inner .syoukai_list ul {
    display: block;
}
#syoukai > .inner .syoukai_list ul li p {
    font-size: 1em;
}
#syoukai > .inner .syoukai_list ul li {
    margin-bottom: 30px;
}
}
/* ----------------------------------------------------------------
point
---------------------------------------------------------------- */
#point .point_list ul {
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
#point .point_list ul li {
    width: calc((100% - 20px * 2) / 3);
    border-radius: 20px;
    padding: 20px;
}
#point .point_list ul .tl_area {
    display: flex;
    gap: 10px;
    align-items: center;
}
#point .point_list ul .tl_area .icon{
	    width: 35px;
}
#point .point_list ul .tl_area .txt{
	    font-weight: 500;
}
#point .point_list ul li > p {
    font-size: 0.8em;
    margin-top: 20px;
    letter-spacing: 0;
}
@media screen and (max-width: 767px) {
	#point .main_img img{
		width: 100%;
	}
	#point .h2_txt {
    font-size: 1.9em;
    letter-spacing: 0;
}
#point .point_list ul {
    margin-top: 40px;
    display: block;
}
#point .point_list ul li {
    width: 100%;
    padding: 20px 20px 30px;
    margin-bottom: 15px;
}
#point .point_list ul .tl_area .txt {
    font-size: 1.1em;
}
#point .point_list ul li > p {
    font-size: 0.8em;
    margin-top: 10px;
}
}
/* ----------------------------------------------------------------
AREA
---------------------------------------------------------------- */
@media screen and (max-width: 767px) {
#area{
	        padding-top: 0;
	        padding-bottom: 20px;
}
}
/* ----------------------------------------------------------------
contact_seiri
---------------------------------------------------------------- */
#contact_seiri > .inner{
	width: 100%;;
	margin: 0 auto;
	max-width: 763px;
	padding: 0 20px;
	text-align: center;
}
#contact_seiri .h3_txt{
	margin-bottom: 30px;
}
#contact_seiri .txt01 {
    font-weight: 500;
    font-size: 1.1em;
    margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
	
	#contact_seiri .txt01 span{
		display: none;
	}
#contact_seiri .txt {
    font-size: 0.9em;
    letter-spacing: 0;
}
}
/* ----------------------------------------------------------------
staff
---------------------------------------------------------------- */
section#staff .slide_area{
	margin-top: 40px;
}
section#staff .slick-slide {
    width: 450px;
    box-shadow: inset 4px 4px 4px #0000005e,
             inset -4px -4px 4px #ffffff;
}
section#staff .slick-slide > p{
    font-size: 0.8em;
    letter-spacing: 0;
    line-height: 1.7;
}
section#staff .slick-slide .img_area{
	margin-bottom: 15px;
}
section#staff .slick-slide .name_area .class{
	font-size: 0.8em;
}
section#staff .slick-slide .name_area .name {
    font-size: 1.2em;
    font-weight: 500;
    line-height: 1;
    margin: 5px 0;
}
section#staff .slick-slide .name_area .katagaki {
    text-align: left;
    font-size: 0.7em;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 20px;
}
section#staff .slick-slide .name_area .name_eng{
	font-size: 0.8em;
	letter-spacing: 0;
    margin-bottom: 10px;
}
section#staff .h2_txt{
	    color: #333;
    background: #fff;
}
@media screen and (max-width: 767px) {
	
	section.rightmax > .inner {
    padding-left: 20px;
}
section#staff .slick-slide {
    width: 310px;
    padding: 25px 20px;
}
}
/* ----------------------------------------------------------------
faq
---------------------------------------------------------------- */
section#faq{
	margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
	section#faq{
	margin-bottom: 0px;
		padding-top: 0;
}
	
}
/* ----------------------------------------------------------------
#blog
---------------------------------------------------------------- */
section#blog .slide_area{
	margin-top: 40px;
}
section#blog .slick-slide {
    width: 388px;
	padding: 10px 10px 50px;
}
section#blog .slick-slide .thum_area {
    border-radius: 10px;
	position: relative;
    width: 100%;
    max-width: 377px;
    margin: 0 auto 10px;
    height: 157px;
    background-color: #cecece;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
section#blog .slick-slide .thum_area img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}
section#blog .slick-slide .box01{
	margin-bottom: 10px;
	justify-content: space-between;
	align-items: center;
}
section#blog .slick-slide .cate{
	display: flex;
	gap:5px;
	    flex-wrap: wrap;
	margin-bottom: 5px;
}
section#blog .nopost{
	    background: none;
    color: #fff;
    width: 100% !important;
}
section#blog .slick-slide .cate a {
    display: inline-block;
    font-size: 0.6em;
    background: #333;
    color: #fff;
    padding: 8px 10px;
    border-radius: 12px;
    line-height: 1;
    letter-spacing: 0;
}
section#blog .slick-slide .cate a:hover{
	text-decoration: none;
	background: #808080;
}
section#blog .slick-slide .day{
	font-size: 0.75em;
	letter-spacing: 0;
	    font-weight: 500;
}
section#blog .slick-slide .tl{
		letter-spacing: 0;
	    font-weight: 500;
	line-height: 1.5;
}
section#blog .slick-slide .link{
	position: absolute;
	bottom: 10px;
    right: 10px;
}
section#blog .slick-slide .link a{
		font-size: 0.75em;
	letter-spacing: 0;
	    font-weight: 500;
	position: relative;
	padding-right: 30px;
}
section#blog .slick-slide .link a:after{
	content: "";
	position: absolute;
	width: 22px;
	height: 22px;
	background: url("../../common/img/arrow.png")center center no-repeat;
	background-size: contain;
	right: 0;
	top: 50%;
	margin-top: -11px;
}
@media screen and (max-width: 767px) {
	section#blog .h2_txt{
		color: #333;
		background: #fff;
	}
section#blog .slick-slide {
    width: 258px;
}
}
/* ----------------------------------------------------------------
#company
---------------------------------------------------------------- */
#company .profile ul{
	margin-bottom: 40px;
}
#company .profile ul li{
	padding: 20px;
	border-radius: 20px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	gap:10px;
}
#company .profile ul li .icon{
	width: 33px;
}
section#blog .slick-slide {
    width: 258px;
    padding: 10px 10px 50px;
}
#company .profile ul li .box
{
    width: calc(100% - 35px);
}
#company .profile ul li .box .sub{
	font-size: 0.75em;
	color: #808080;
	margin-bottom: 10px;
	line-height: 1;
}
#company .profile ul li .box .main{
	line-height: 1.2;
}
#company .map iframe{
	width: 100%;
	height: 230px;
	margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
	
	#company .map iframe {
    height: 200px;
    border-radius: 10px;
    overflow: hidden;
		margin-bottom: 0;
}
}
/* ----------------------------------------------------------------
form
---------------------------------------------------------------- */
#form .form_area dl{
	margin-bottom: 20px;
}
#form .form_area dt {
    font-size: 1.05em;
    margin-bottom: 10px;
    letter-spacing: 0.02em;
    display: flex;
    align-items: flex-start;
    line-height: 1;
    gap: 5px;
}
#form .form_area dt span{
	font-size: 0.5em;
	color: #E50303;
}
#form .form_area dd input, #form .form_area dd textarea {
    width: 100%;
    border-radius: 15px;
    padding: 20px;
	font-size: 0.9em;
    box-shadow:inset 3px 3px 3px #00000026, inset -3px -3px 3px #ffffff;
}
#form .note{
	font-size: 0.75em;
}
#form .btn_area {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
}
#form .btn_area button {
    position: relative;
    background: #24367B;
    width: 300px;
    color: #fff;
    font-family: "Zen Kaku Gothic New", sans-serif;
    text-align: center;
    padding: 12px 10px;
    letter-spacing: 0;
    box-sizing: content-box;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    line-height: 1;
    padding: 20px;
}
#form .btn_area img{
	width: 16px;
}
#form .btn_area span{
color: #fff;
}
#form .tel_area {
    max-width: 750px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 30px;
    border-radius: 20px;
}
#form .tel_area .txt01{
	font-size: 0.9em;
}
#form .tel_area .txt02{
	font-size: 0.7em;
}
#form .tel_area img{
	width: 25px;
}
#form .tel_area .tel {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2em;
    font-weight: 600;
	margin: 20px 0;
	gap:10px;
	letter-spacing: 0;
}
#form .tel_area span{
	line-height: 1;
}
@media screen and (max-width: 767px) {
	
	section#form{
		padding-top: 0;
	}
#form .form_area dd input, #form .form_area dd textarea {
    padding: 25px 20px;
}
#form .tel_area .txt01 {
    font-size: 1em;
}
#form .tel_area .txt02 {
    font-size: 0.9em;
}
}