.sp,.sp475 {
	display: none;
}
.pc {
	display: block;
}

@media screen\0 {
	.h-tel a::before {
		top:1px;
		width:27px;
	}
	.h2-above span:not(:last-child) {
		font-family: "Noto Sans JP";
	}
	.under h4 {
		padding:10px 20px 0;
	}
	.f-mid ul:first-child li:first-child a:before {
		width:15px;
		height:7px;
	}
	.f-mid li a:before {
		width:15px;
		height:6px;
	}
	.idx-btn a {
		line-height: 1.4em;
		padding:15px 13px 13px;
	}
	.b02-btn {
		padding:10px 60px 7px;
	}
	.f-mail-btn a {
		padding:16px 10px 12px 13px;
	}
	.h-mail a {
		padding:13px 10px 10px 18px;
	}
	.box01 li {
		width:calc(100%/3);
	}
	.b02-list li {
		width:25%;
	}
	.b02-list li:first-child {
		width:50%;
	}
	dl div.fmail_must {
		position: relative!important;
		top:0!important;
	}
	#fmail_must_en1571239174 {top:13px!important;}
}

@media screen and (max-width: 1850px) {
	.idx-slider .slick-dots {
		right:-10px;
	}
}

@media screen and (max-width: 1700px) {
	#gnavi > ul {
		margin-right: 5px;
	}
}

@media screen and (max-width: 1350px) {
	#gnavi a, #gnavi span {
		padding:0 17px;
	}
}

@media screen and (max-width: 640px) {
#wrapper {
	min-width: 100%;
}
.container {
	width: 100%;
	padding: 0 3%;
}
.sp {
	display: block;
}
.pc {
	display: none;
}

/*****Index*****/

#header {
	position: fixed;
	top:0;
	left:0;
	width:100%;
	z-index: 10;
	background:#fff;
	margin:0 auto;
	padding:10px 1%;
	box-shadow: 0 0 10px 1px rgba(0,0,0,.1);
}
h1 {
	line-height: 1.3em;
	transition: all 0.5s ease;
	margin:0 0 0 10px;
}
#gnavi {
	display: none;
	position: fixed;
	top: 73px;
	left: 0;
	width: 100%;
	height: calc(100% - 73px);
	overflow-y: auto;
	overflow-x: hidden;
	background:#af9c80;
}
#gnavi > ul {
	display: block;
	width: 100%;
	padding: 0;
}
#gnavi .submenu {
	position: relative;
	top: 0;
	width: 100%;
	text-align: center;
}
#gnavi > ul > li.sp:before {
	background: #000;
}
#gnavi >ul > li > a{
	padding: 15px;
	width: 100%;
	justify-content: center;
	align-items: center;
	text-align: center;
	color:#000;
	border-bottom:1px solid #000;
}
#gnavi >ul > li > a:hover {
	color:#fff;
}
#gnavi .submenu {
	background: #fff;
}
#gnavi .submenu a, #gnavi .submenu span {
	color: #004498;
}
#gnavi > ul > .over:after {
	position: absolute;
	content: '';
	padding: 3px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	border-top: 0 solid transparent;
	border-left: 0 solid transparent;
	transform: rotate(45deg);
	top: 20px;
	right: 20px;
	transition: all 0.5s ease;
	width: 0;
	height: 0;
}
#gnavi > ul > .over:hover:after {
	border-right: 2px solid #004794;
	border-bottom: 2px solid #004794;
}
#gnavi > ul > .active:after {
	transform: rotate(-135deg);
}
#gnavi > ul > li.close-menu {
	display: block;
	width: 190px;
	margin: 30px auto;
	color: #af9c80;
	font-size: 15px;
	text-align: center;
	background: #fff;
	line-height: 45px;
	font-weight: bold;
	cursor: default;
}
#gnavi li.close-menu:before,#gnavi li.close-menu:after {
	content: none;
}
#gnavi li.close-menu span {
	cursor: default;
	color: #af9c80;
	margin: -1px 8px 0 0;
	vertical-align: middle;
	display: inline-block;
	font-size: 20px;
	font-weight: bold;
	padding: 0;
	width: auto;
}
.menu-icon {
	display:block;
	margin: 0;
	width: 48px;
	height: 46px;
	box-sizing: border-box;
	text-align: center;
	padding: 22px 6px 0;
}
.menu-icon span {
	display: block;
	margin: 0;
	width: 35px;
	height: 4px;
	background-color: #000;
	-webkit-transition-duration: 0;
	-moz-transition-duration: 0;
	-ms-transition-duration: 0;
	-o-transition-duration: 0;
	transition-duration: 0;
	-webkit-transition-delay: 0.2s;
	-moz-transition-delay: 0.2s;
	-ms-transition-delay: 0.2s;
	-o-transition-delay: 0.2s;
	transition-delay: 0.2s;
}
.menu-icon span::after, .menu-icon span::before {
	display: block;
	content: '';
	position: absolute;
	width: 35px;
	height: 4px;
	background-color: #000;
	-webkit-transition-property: margin, -webkit-transform;
	-webkit-transition-duration: 0.2s;
	-moz-transition-duration: 0.2s;
	-ms-transition-duration: 0.2s;
	-o-transition-duration: 0.2s;
	transition-duration: 0.2s;
	-webkit-transition-delay: 0.2s, 0;
	-moz-transition-delay: 0.2s, 0;
	-ms-transition-delay: 0.2s, 0;
	-o-transition-delay: 0.2s, 0;
	transition-delay: 0.2s, 0;
}
.menu-icon span::before {
	margin-top: -13px;
}
.menu-icon span::after {
	margin-top: 13px;
}
.menu-icon.active span {
	background-color: transparent;
}
.menu-icon.active span::before, .menu-icon.active span::after {
	margin-top: 0px;
	-webkit-transition-delay: 0, 0.2s;
	-moz-transition-delay: 0, 0.2s;
	-ms-transition-delay: 0, 0.2s;
	-o-transition-delay: 0, 0.2s;
	transition-delay: 0, 0.2s;
}
.menu-icon.active span::before {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
.menu-icon.active span::after {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
/*****End of Index*****/
.f-menu-sp {
	display:block;
	position: fixed;
	bottom:0;
	left:0;
	width:100%;
	background:#fff;
	z-index: 9;
	box-shadow: 0 0 20px 1px rgba(0,0,0,.05)
}
.h-left {
	display:flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	width:100%;
}
.h-logo {
	width:170px;
	flex-shrink: 0;
}
#mainvisual {
	margin-top:74px;
	height:500px;
}
.h2-above {
	margin:0 3% 0 0;
}
.idx-slider li {
	background: url(../images/idx_main01.png)center top no-repeat;
	background-size: contain;
}
.h2-above span:not(:last-child) {
    font-size: 22px;
    margin-bottom: 10px;
    padding: 0 20px 0 40px;
}
.h2-above span:nth-child(3):after {
	width:75%;
	left:35px;
}
#index h2 {
	opacity: 1;
	color:rgba(77,77,77,.8);
	letter-spacing: 0.03em;
	font-size: 60px;
	position: absolute;
	bottom:0;
	left:0;
	padding:5px 3% 15px;
	width:100%;
	text-align: center;
}
#index h2:before {
	content:'';
	position: absolute;
	width:100%;
	height:100%;
	background:#fff;
	top:0;
	left:0;
	z-index: -1;
	transform: rotate(5deg);
}
#index h2 span:last-child {
    margin-left: 75px;
}
.idx-tlt span {
	font-size: 22px;
}
.idx-tlt {
	margin-bottom:15px;
}
.idx-tlt span:before {
	width: 37px;
    height: 56px;
}
.idx-tlt-below {
	font-size: 21px;
}
.idx-txt {
	font-size: 15px;
	line-height: 2em;
}
.idx-txt span {
	font-size: 17px;
}
.idx-btn a {
	padding:12px;
}
.box01 ul {
	flex-direction: column;
}
.box01 li a {
	height:300px;
}
.b01-concept {
	font-size: 23px;
	padding-left: 35px;
}
.b01-tlt {
	font-size: 23px;
	margin: 0 0 0 40px;
}
.box01 ul li:last-child .b01-tlt {
    margin: 0 0 0 80px;
}
.b01-tlt span {
	width:30px;
	height:30px;
	margin-left:10px;
}
.b01-top {
	padding:30px 0 50px;
	background:url(../images/b01_bg_sp.jpg)center no-repeat;
	background-size: cover;
}
.box02 {
	padding-top:55px;
}
.box02 .idx-tlt span:before {
    left: -40px;
}
.b02-staff li {
	flex-direction: column;
	height: auto;
}
.b02-img {
    width: 1040px;
    height: 260px;
    left: auto;
    right: -115px;
}
.b02-img:before {
	right:115px;
	border-left: 20px solid transparent;
    border-right: 20px solid #fff;
}
.b02-cnt,.b02-staff li:nth-child(2) .b02-cnt,.b02-staff li:nth-child(3) .b02-cnt {
	width:100%;
	padding: 30px 3%;
	margin-top:260px;
	text-align: center;
}
.b02-img-tlt {
	right: 65px;
	transform: rotate(-80deg);
	top: calc(50% - 25px);
}
.box02 .idx-btn a {
	margin:0 auto;
}
.b02-staff li:nth-child(2) .b02-img {
    left: -220px;
}
.b02-staff li:nth-child(2) .b02-img:before {
	left:220px;
	border-left: 20px solid #fff;
    border-right: 20px solid transparent;
}
.b02-staff li:nth-child(2) .b02-img-tlt {
    left: 170px;
    transform: rotate(81deg);
    top: calc(50% - 43px);
}
.b02-staff li:nth-child(3) .b02-img {
    left: auto;
    right:-100px;
}
.b02-staff li:nth-child(3) .b02-img:before {
    right: 100px;
}
.b02-staff li:nth-child(3) .b02-img-tlt {
    right: 45px;
    top: calc(50% - 42px);
}
.b02-list {
	flex-wrap: wrap;
}
.b02-list li {
	width:50%;
}
.b02-list li:first-child {
	width:100%;
}
.b02-list-tlt {
    font-size: 26px;
    padding-left: 35px;
    margin-bottom: 15px;
}
.b02-btn {
	padding: 7px 3%;
	    font-size: 17px;
}
.b02-btn:after {
	right:10px;
}
.b02-list li a:hover .b02-btn:after {
    right: 5px;
}
.b02-btn {
    padding: 6px 38px 6px 19px;
    font-size: 15px;
    letter-spacing: 0;
}
.b02-staff {
	margin-bottom:50px;
}
.b02-staff li:nth-child(2) .idx-txt, .box02 .b02-staff li:nth-child(2) .idx-btn {
	margin:0 auto;
	max-width: 100%;
}
.b02-staff li:nth-child(2) .idx-txt {
	margin-bottom:20px;
}
.box03 {
	padding:50px 0 200px;
	overflow: hidden;
}
.box03 .container {
	flex-direction: column-reverse;
}
.b03-cnt {
	width:100%;
	margin-bottom:10px;
}
.box03 .idx-tlt-below {
    margin-bottom: 10px;
    text-align: center;
}
.box03 .idx-tlt {
    margin: 1px 0 7px 42px;
    text-align: center;
}
.b03-txt .idx-txt {
    margin-bottom: 5px;
}
.txt-name {
	font-size: 20px;
	margin-bottom:30px;
}
.txt-name span {
    font-size: 15px;
    margin-right: 10px;
}
.box03 .idx-btn a {
	margin:0 auto;
}
.h2-above {
	margin-bottom:45px;
}
.box03:before {
	background: url(../images/b03_bg_sp.png)center no-repeat;
    background-size: cover;
    width: 668px;
    height: 100%;
    left: calc(50% - 150px);
}
.b03-img {
	margin:0 auto 20px;
}
.box03 .idx-btn a {
	padding:12px 55px;
}
.box03 .idx-btn.sp {
	margin:0 auto;
}
.f-menu-copy,.f-menu-time {
	color:#3e3a39;
	font-size: 15px;
	text-align: center;
	line-height: 1.4em;
	margin-bottom:0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	padding:10px 3%;
}
.f-menu-time {
	color:#707070;
}
.f-menu-list {
	display:flex;
	justify-content: space-around;
	padding:10px 2%;
	align-items: center;
	background:#e6f6f6;
}
.f-menu-tel,.f-menu-mail {
	margin-bottom:0;
}
.f-menu-tel a {
	text-decoration: none;
	color:#231815;
	font-weight: bold;
	font-size: 23px;
	text-align: right;
	position: relative;
	transition: all .5s;
}
.f-menu-tel {
	margin-left:20px;
}
.f-menu-tel a span {
	color:#4d4d4d;
	font-size: 13px;
	font-weight: normal;
}
.f-menu-tel a:before {
    content: '';
    position: absolute;
    background: url(../images/h_tel.png)center no-repeat;
    background-size: contain;
    left: -23px;
    top: 33px;
    width: 20px;
    height: 20px;
}
.f-menu-mail a {
	text-decoration: none;
	color:#fff;
	font-weight: bold;
	background:#af9c80;
	position: relative;
	padding:15px 25px 15px 45px;
	font-size: 17px;
	border-radius: 25px;
	transition: all .5s;
}
.f-menu-mail a:hover {
	opacity: .8;
}
.f-menu-mail a:before {
    content: '';
    position: absolute;
    background: url(../images/h_mail.png)center no-repeat;
    background-size: contain;
    width: 17px;
    height: 17px;
    left: 15px;
    top: calc(50% - 9px);
}
#totop {
	bottom:160px;
	right:3%;
	width:40px;
}
.b02-staff li:nth-child(2) .b02-img-name {
	z-index: 1;
	left: calc(50% - 120px);
}
.b02-staff li:nth-child(2) .b02-img-name:before {
	content:'';
	position: absolute;
	background:url(../images/b02_staff_box.png)center no-repeat;
	background-size: contain;
	width:248px;
	height:214px;
	top:calc(50% - 107px);
	left:calc(50% - 124px);
	z-index: -1;
}
.mainvisual {
	margin:74px 0 15px;
}
.under-container {
	width:100%;
	padding:0 3%;
}
.mainvisual .under-container {
	padding-bottom:0;
	text-align: center;
}
.under .mainvisual .idx-tlt, .under .mainvisual .idx-tlt-below {
	text-align: center;
	margin-bottom:10px;
}
.under h2 {
	font-size: 26px;
}
.topic-path {
	text-align: center;
	width:100%;
	padding:0 3%;
	margin-bottom:30px;
}
.under section.under-sectop,.under section,.under .section {
	width:100%;
	margin-bottom:50px;
	padding:0 3%;
}
.under section.under-sectop {
	padding-top:20px;
}
.under h3 {
	font-size: 25px;
	margin-bottom:25px;
}
.under-col3 li {
	width:100%;
}
.under h4 {
	font-size: 22px;
	padding:6px 10px 3px 15px;
	margin-bottom:15px;
}
.under h5 {
	font-size: 18px;
	line-height: 1.4em;
	padding-left: 33px;
	margin-top: 5px;
}
.under h5:before {
	top:-3px;
}
.image-r,.image-l {
	float: none;
	text-align: center;
	margin:0 auto 10px;
}
.under h6 {
	font-size: 17px;
	padding-left:15px;
	margin-bottom:15px;
}
.under h6:before {
	top:1px;
}
.under-tbl td, .under-tbl th {
	display:block;
	width:100%;
	padding:8px;
}
.under-tbl th,.under-tbl tr:last-child th {
	border-bottom:none;
}
.under #content {
	margin-bottom:210px;
}
.under .idx-tlt span:before {
    left: -40px;
    width: 32px;
    height: 52px;
}
.under section .idx-tlt {
    padding: 15px 0 0 0;
}
.under-bnr a {
	font-size: 18px;
	line-height: 1.9em;
	letter-spacing: 0.05em;
	padding:30px 20px;
}
.graf-warp01, .interview-3col {
	flex-direction: column;
	margin-bottom:15px;
}
.interview-3col>div,.graf-warp01>div,.graf-warp01 > div:nth-child(2) {
	width:100%;
	margin-bottom:30px;
}
.chart-list01 li {
	font-size: 24px;
}
.under #content .chart-tlt {
	font-size: 21px;
	line-height: 1.5em;
	margin-bottom:20px;
}
.under #content .chart-cnt {
	font-size: 35px;
	line-height: 1.2em;
}
.male-female,.chart-cnt.mt-10 {
	margin-top:-10px;
}
.step dt {
	width:100%;
	border-radius: 10px 10px 0 0;
	font-size: 20px;
	padding: 10px 5px 8px 40px;
}
.step dd,.step:nth-child(even) dd {
	border-radius: 0 0 10px 10px;
	padding: 10px 10px 10px 40px;
	font-size: 15px;
}
.step:after {
    bottom: -50px;
    left: calc(50% - 24px);
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    border-top: 35px solid #8d724a;
}
.step {
	margin-bottom:65px;
}
.step dt:before {
    left: 8px;
    top: 5px;
}
.sp-show {
	display:block;
}
.tbl-scroll{
    overflow:auto;
}
.tbl-scroll table{
    min-width:900px;
}
.inter-staff h5 {
	overflow: inherit;
}
.inter-staff-name {
	font-size: 16px;
	margin-top:0;
}
.under-bnr .bnr-job a,.under-bnr .bnr-new a {
	padding:50px 15px;
}

.h-right-top,.h2-above span:last-child,.h2-above:before, .h2-above:after,.f-top,.f-mid,.f-bot,#gnavi a:before, #gnavi a:after {
	display:none;
}
    .box_pop {
    max-width: 94%;
        font-size: 100%;
}
}

@media screen and (max-width: 475px) {
	.f-menu-mail a {
	padding: 15px 20px 15px 30px;
}
	.sp475 {
	display: block;
}
	.b02-img {
	    right: -270px;
	}
	.b02-img-tlt {
	    right: 275px;
	    transform: rotate(1deg);
	    font-size: 27px;
	    top: 0;
	}
	.b02-img-tlt span {
	    font-size: 46px;
	}
	.b02-staff li:nth-child(2) .b02-img {
    left: -370px;
}
.b02-staff li:nth-child(2) .b02-img-tlt {
    left: 380px;
    transform: rotate(1deg);
    top: 0;
}
.b02-staff li:nth-child(3) .b02-img {
    right: -250px;
}
.b02-staff li:nth-child(3) .b02-img-tlt {
    right: 260px;
    top: 0;
}
#mainvisual {
	height:400px;
}
.h2-above {
	margin-bottom:30px;
}

.f-menu-mail a:before {
    width: 15px;
    height: 15px;
    left: 12px;
    top: calc(50% - 8px);
}
.b02-staff li:nth-child(2) .b02-img:after {
	content:none;
	position: absolute;
	background:#000;
	width:100%;
	height:100%;
	left:0;
	top:0;
	opacity: .1;
}
.txt-span span {
	display:block;
	line-height: 1.4em;
}
.under #content p.txt-span {
	line-height: 1em;
}
.under-bnr .bnr-job a {
	padding:30px 10px;
	background: url(../images/bnr_job.jpg)center top no-repeat;
    background-size: cover;
}
.under-bnr .bnr-new a {
	padding:30px 10px;
	background: url(../images/bnr_new.jpg)center top no-repeat;
    background-size: cover;
}
.under-bnr .bnr-job a:after,.under-bnr .bnr-new a:after {
	opacity: .1;
}
}

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



	.box01 li a {
		height:auto;
	}
	#mainvisual {
	height:350px;
}
.f-menu-tel a {
	font-size: 16px;
	line-height: 1em;
}
.f-menu-tel a span {
	font-size: 9px;
	position: relative;
	top:3px;
	left:-15px;
}
.f-menu-mail a {
    font-size: 13px;
}
.f-menu-tel {
    margin-left: 15px;
}
.f-menu-tel a:before {
    left: -18px;
    top: 29px;
    width: 16px;
    height: 16px;
}
.f-menu-mail a:before {
    width: 12px;
    height: 13px;
    left: 9px;
    top: calc(50% - 7px);
}
.f-menu-copy, .f-menu-time {
	font-size: 12px;
	padding: 7px 3%;
}
.box03 {
	padding-bottom:170px;
}
#totop {
	bottom:135px;
}
.under #content {
	margin-bottom:180px;
}
.under-bnr a:hover:before {
    left:calc(100% - 60px);
}
.chart-list01 li {
	width:40%;
}
.chart-list02 li {
	width:100%;
}
}

@media screen and (max-width: 375px) {
	.f-menu-mail a {
		padding: 15px 15px 15px 25px;
		font-size: 12px;
	}

	.h2-above span:not(:last-child) {
	    font-size: 21px;
	    padding: 0 10px 0 20px;
	}
	.h2-above span:nth-child(3):after {
	    width: 85%;
	    left: 15px;
	}
	#index h2 {
		text-align: left;
		font-size: 50px;
		padding:5px 3% 15px 8%;
	}
	#mainvisual {
	height:300px;
}
.h2-above span:not(:last-child) {
	font-size: 18px;
	margin-bottom:5px;
}
}

@media screen and (max-width: 350px) {
	#index h2 {
		padding:5px 3% 15px 5%;
	}
	.b02-img {
    right: -280px;
}
.b02-img-tlt span {
    font-size: 44px;
}
.b02-img-tlt {
    right: 285px;
    font-size: 25px;
}
.b02-staff li:nth-child(3) .b02-img {
    right: -275px;
}
.b02-staff li:nth-child(3) .b02-img-tlt {
    right: 280px;
}
.b02-staff li:nth-child(2) .b02-img-tlt {
	left:400px;
}
.b02-staff li:nth-child(2) .b02-img {
    left: -390px;
}
.doughnut-chart {
    width:250px;
    height:250px;
}
.f-menu-tel a span {
	font-size: 7px;
}
}
