.sp,
.sp320,
.sp375,
.sp425,
.sp475 {
	display: none;
}

.pc,
.pc320,
.pc375,
.pc425,
.pc475 {
	display: block;
}

@media screen and (min-width: 641px) {

	.menu_icon,
	.gnavi_ctn_sp {
		display: none;
	}

	.gnavi_ctn_pc>li:not(.over)>a:hover {
		color: #0c8e2b;
		cursor: pointer;
		transition: all 0.3s ease;
	}

	.sub_menu li a:hover {
		color: #fbb82d;
		transition: all 0.3s ease;
	}

	.sub_menu li a:hover:before {
		background: url(../images/sub_menu_arr_yellow.png) no-repeat center;
		background-size: contain;
		transition: all 0.3s ease;
	}


	.b01_item .img a:hover .num {
		opacity: 0.7;
		transition: all 0.3s ease;
	}

	.b01_item .des a:hover {
		opacity: 0.7;
		transition: all 0.3s ease;
	}

	.f_menu_item li>a:hover {
		opacity: 0.7;
		transition: all 0.3s ease;
		color: #0c8e2b;
	}

	.f_call {
		display: none;
	}

	.f_menu_item:nth-child(1) {
		margin-right: 87px;
	}

	.f_menu_item:nth-child(2) {
		margin-right: 85px;
	}

	.f_menu_item:nth-child(3) {
		margin-right: 85px;
	}

	.f_menu_item:nth-child(4) {
		margin-right: 93px;
	}

	/*under*/
	.under #gnavi {
		padding: 40px 0;
	}

	.under #gnavi.fixed {
		padding: 10px 0;
	}

	.anchor_list li a:hover {
		opacity: 0.7;
		transition: all 0.3s ease;
	}
	.under_frame {
    margin: 0 3%;
	}
	.b02_list.cus {
    margin: 0 auto 60px;
    }
}

@media screen and (min-width: 641px) and (max-width: 1720px) {
	.under #mainvisual {
		padding: 0 1%;
	}

	.idx_mv {
		padding: 0 1%;
	}
}

@media screen and (min-width: 1441px) and (max-width: 1600px) {
	.h_bnr {
		right: 0;
		width: 110px;
	}
}

@media screen and (min-width: 641px) and (max-width: 1440px) {
	.h_bnr {
		width: 110px;
		top: 85px;
		right: 0;
	}


}

@media screen and (min-width: 641px) and (max-width: 1366px) {
	.idx_b01 .container {
		padding: 0 1%;
		width: 100%;
	}

	.b01_item .des a {
		font-size: 16px;
	}

	.b01_list li {
		width: 23%;
	}

	.b01_item .des a {
		font-size: 16px;
	}

	.b02_list {
		justify-content: center;
	}

	.b02_list li {
		margin: 0 15px;
	}

	.b02_item {
		width: 40%;
	}

	.b03_step {
		padding: 0 1%;
	}

	.idx_b02_txt {
		right: 3%;
		height: 100%;
	}

	.idx_b02_txt span {
		font-size: 80px;
	}

	.b03_step .des {
		font-size: 16px;
	}

	.idx_b04 .img {
		width: 46%;
	}

	.b06_img {
		width: 50%;
	}

	.b05_item {
		width: 30%;
	}

	.b03_step {
		margin-bottom: 60px;
	}

}

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

	#header .container {
		width: 100%;
		padding: 0 1%;
	}

	.grp_main_ico {
		padding: 0 1%;
	}

	.idx_b01 .container,
	.idx_b00 .container {
		padding: 0 1%;
	}

	.idx_b02 .container,
	.idx_b04 .container,
	.idx_b05 .container,
	.idx_b06 .container,
	.f_top .container {
		padding: 0 1%;
		width: 100%;
	}

	/*under*/
	.anchor_list.col04 li,
	.anchor_list.col05 li {
		width: 47%;
		margin: 10px;
	}

	.under #content {
		padding: 0 1%;
	}

	.under .bg_full {
		width: 1200px;
	}

	.under .bg_full .container {
		width: 100%;
		padding: 0 1%;
	}
}

@media screen and (min-width: 641px) and (max-width: 992px) and (max-height: 500px) {

	.idx_b02_txt {
		top: 50%;
		transform: translateY(-50%);
		right: 1%;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.idx_b02_txt span {
		font-size: 60px;
		display: block;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.b03_step .des {
		font-size: 14px;
	}



}

@media screen and (max-width:640px) {
	.txt-render-post {
		font-size: 20px;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	input,
	button,
	textarea,
	select,
	p,
	blockquote,
	th,
	td,
	pre,
	address,
	li,
	dt,
	dd {
		font-size: 140%;
	}

	#wrapper {
		min-width: 100%;
	}

	.container {
		width: 100%;
		padding: 0 3%;
	}

	.sp {
		display: block !important;
	}

	.pc {
		display: none !important;
	}

	.image_r,
	.image_l {
		float: none;
		text-align: center;
		margin: 0 0 30px;
	}

	.image_c {
		width: 100%;
		margin: 0 auto 30px;
	}

	.under .section,
	.under section {
		margin: 0 0 35px;
	}

	/*********************** Header *********************************/
	.h_right {
		display: none;
	}

	.h_top {
		position: fixed;
		left: 0;
		top: 0;
		z-index: 2000;
		width: 100%;
		padding: 10px 0;
		background: #f0f8e9;
	}

	.logo {
		height: auto;
		width: 170px;
	}

	.h_top h1 {
		display: none;
	}

	.h_bnr {
		display: none;
	}

	.h_left {
		width: 100%;
		display: flex;
		justify-content: space-between;
	}

	.menu_icon {
		position: relative;
		top: 0;
		flex-shrink: 0;
		cursor: pointer;
		display: flex;
		justify-content: center;
		align-items: center;
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
		background: #0c8e2b;
		padding: 10px;
	}

	.menu_icon span {
		display: block;
		margin: 0;
		width: 40px;
		height: 3px;
		background-color: #fff;
		transition-duration: 0;
		transition-delay: 0.2s;
		position: relative;
	}

	.menu_icon span::after,
	.menu_icon span::before {
		display: block;
		content: '';
		position: absolute;
		width: 100%;
		height: 3px;
		background-color: #fff;
		transition-duration: 0.2s;
		transition-delay: 0.2s, 0;
	}

	.menu_icon span::before {
		margin-top: -12px;
	}

	.menu_icon span::after {
		margin-top: 12px;
	}

	.menu_icon.active span {
		background-color: transparent;
	}

	.menu_icon.active span::before,
	.menu_icon.active span::after {
		margin-top: 0px;
		transition-delay: 0, 0.2s;
	}

	.menu_icon.active span::before {
		transform: rotate(45deg);
	}

	.menu_icon.active span::after {
		transform: rotate(-45deg);
	}

	/*********************** end Header *****************************/

	/*********************** Gnavi **********************************/
	#gnavi {
		position: fixed;
		right: -100%;
		z-index: 2000;
		width: 100%;
		transition: all 0.3s ease;
		overflow: auto;
		padding: 10px 3%;
	}

	.gnavi_ctn_pc {
		display: none;
	}

	#gnavi.open {
		right: 0;
		transition: all 0.3s ease;
	}

	.gnavi_menu {
		display: flex;
		justify-content: space-between;
		margin-bottom: 30px;
		flex-wrap: wrap;
	}

	.gnavi_item {
		width: 100%;
		margin-bottom: 10px;
	}

	.gnavi_item:last-child {
		margin-bottom: 0;
	}

	.gnavi_item .ttl {
		width: 100%;
	}

	.gnavi_item.col02_even,
	.gnavi_item.col02_odd {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	.gnavi_item.col02_even li:not(.ttl),
	.gnavi_item.col02_odd li:not(.ttl) {
		width: 47%;
	}

	.gnavi_item.col02_odd li:last-child {
		width: 100%;
	}

	.gnavi_item ul {
		margin-bottom: 20px;
	}

	.gnavi_item ul:last-child {
		margin-bottom: 0;
	}

	.gnavi_item li {
		line-height: 2em;
	}

	.gnavi_item li a {
		position: relative;
		text-decoration: none;
		font-weight: bold;
		font-size: 14px;
		color: #545454;
		display: inline-flex;
	}

	.gnavi_item li:not(.ttl) a {
		padding-left: 10px;
	}

	.gnavi_item li:not(.ttl) a:before {
		position: absolute;
		content: '';
		left: 0;
		top: 9px;
		background: url(../images/ico_f_arrow_black.png) no-repeat center;
		background-size: contain;
		width: 8px;
		height: 10px;
	}

	.gnavi_item li.ttl a {
		font-size: 16px;
		color: #0c8e2b;
	}

	.gnavi_ctn_sp .h_info {
		display: block;
		text-align: center;
		margin-bottom: 15px;
	}

	.gnavi_btn {
		display: flex;
		justify-content: space-between;
	}

	.gnavi_btn li {
		width: 47%;
		margin: 0 0 15px;
	}

	.gnavi_btn a {
		display: block;
		background: #0c8e2b;
		color: #fff;
		font-size: 14px;
		text-decoration: none;
		text-align: center;
		padding: 10px;
		font-weight: bold;
	}

	.gnavi_info {
		display: flex;
		justify-content: space-between;
	}

	.gnavi_info li {
		width: 47%;
		margin: 0 0 15px;
	}

	.gnavi_info .ttl {
		display: inline-flex;
		background: #0c8e2b;
		font-weight: bold;
		color: #fff;
		line-height: 1.5em;
		text-align: center;
		padding: 6px 10px 4px 10px;
		margin-bottom: 10px;
	}

	.gnavi_info .des {
		line-height: 1.5em;
		padding-left: 5px;
	}

	.gnavi_ctn_sp .h_tel a {
		text-decoration: none;
		color: #545454;
	}

	/************************ End Gnavi *****************************/

	/************************ Top Mainvisual ***************************/
	.index #mainvisual {
		padding: 0 3% 4vw;
		height: auto;
	}

	.idx_mv .slide01,
	.idx_mv .slide02 {
		background: none;
	}

	.idx_mv .slick-slide img {
		display: block;
	}

	.idx_main_txt .txt span {
		font-size: 4.3vw;
		padding: 1vw 4vw;
		margin-bottom: 1.5vw;
		line-height: 1.3em;
	}

	.idx_main_txt {
		/*
		top: 53%;
		transform: translate(-50%,-50%);
		max-width: 90%;
*/
		top: unset;
		transform: translate(-50%, 0);
		max-width: 90%;
		bottom: 10%;
	}

	.grp_main_ico {
		flex-flow: wrap;
		justify-content: center;
		width: 100%;
		padding: 0 10px;
		margin: 7.5vw 0 0 0;
	}

	.grp_main_ico li {
		width: 30%;
		margin: 0 1vw 7vw 1vw;
		height: auto;
		padding: 5.2vw 1.5vw 3vw;
	}

	.grp_main_ico li:nth-last-child(-n + 2) {
		margin-bottom: 0;
	}

	.grp_main_ico .ico {
		top: -5vw;
	}

	.grp_main_ico .ico span {
		width: 10vw;
		height: 10vw;
	}

	.grp_main_ico .ttl {
		font-size: 3vw;
		line-height: 1.4em;
		padding-top: 1vw;
	}

	body.index .swiper-slide img {
		display: block;
		width: 100%;
		height: auto;
		max-width: 100%;
		margin: 0 auto
	}

	/************************** end Top Mainvisual ***********************/

	/********************** Top Content *************************/
	.idx_btn a {
		font-size: 14px;
		min-width: 100%;
		padding: 6px 25px;
	}

	.idx_btn.white a {
		padding: 6px 25px;
		font-size: 14px;
		justify-content: center
	}

	.idx_btn a:after,
	.idx_btn.white a:after {
		right: 10px;
	}

	.idx_btn_shika {
		margin: 10px;
	}

	.idx_h3 {
		margin-bottom: 30px;
	}

	.idx_h3 .jp {
		font-size: 22px;
	}

	.idx_h3 .en {
		font-size: 14px;
		padding: 0 35px;
	}

	.idx_h3 .en:before,
	.idx_h3 .en:after {
		width: 30px;
	}

	.idx_des {
		margin-bottom: 30px;
		line-height: 1.5em;
	}

	.idx_b00 {
		padding: 20px 0 40px;
	}

	.b00_frame .frm_ttl {
		font-size: 22px;
	}

	.idx_b01 .idx_h3 {
		margin-bottom: 20px;
	}

	.idx_b01 .container {
		padding: 0 3%;
	}

	.b01_list {
		flex-wrap: wrap;
	}

	.b01_list li {
		width: 47%;
		margin: 0 0 15px;
	}

	.b01_item .num {
		font-size: 6vw;
		bottom: 4vw;
		right: 2vw;
	}

	.b01_item .img a:before {
		left: 8px;
		top: 8px;
	}

	.b01_item .img {
		margin-bottom: 15px;
	}

	.b01_item .des {
		display: flex;
		justify-content: center;
	}

	.b01_item .des a {
		font-size: 2.6vw;
		line-height: 1.5em;
	}

	.idx_b01 {
		padding: 25px 0;
	}

	.idx_b02_txt {
		width: 100%;
		top: 50px;
		left: 50%;
		transform: translateX(-50%);
		text-align: center;
		height: auto;
	}

	.idx_b02 {
		padding: 90px 0 35px;
	}

	.b02_list {
		margin-bottom: 30px;
	}

	.idx_b02_txt span {
		writing-mode: horizontal-tb;
		font-size: 44px;
		color: rgba(84, 84, 84, 0.1);
	}

	.b02_item {
		width: 47%;
		margin: 0 0 15px;
	}

	.b02_item .img {
		margin-bottom: 1.5vw;
	}

	.b02_item .des {
		line-height: 1.5em;
		margin-bottom: 2vw;
		font-size: 2.6vw;
	}

	.b02_item .idx_btn {
		position: relative;
		top: 0;
		left: 0;
		transform: unset;
		width: 90%;
		margin: 0 auto;
	}

	.b02_item .idx_btn a {
		font-size: 2.6vw;
		padding: 1vw 4vw;
	}

	.b02_item .idx_btn a:after {
		right: 1.5vw;
		width: 2vw;
		height: 2.3vw;
	}

	.idx_b03 {
		padding: 50px 0 0;
	}

	.idx_b03_ttl {
		padding: 0 3%;
		margin-bottom: 30px;
	}

	.idx_b03_ttl .idx_h3 {
		margin-bottom: 0;
	}

	.b03_list_ctn li {
		min-height: 155px;
	}

	.b03_list:before,
	.b03_list:after {
		background-size: contain;
	}

	.b03_list:before {
		top: -18px;
		width: 130px;
		height: 104px;
	}

	.b03_list:after {
		bottom: -35px;
		width: 170px;
		height: 85px;
	}

	.b03_list_ctn {
		padding: 75px 0 30px;
	}

	.b03_list_ctn .ttl.one_line {
		line-height: 1.5em;
	}

	.b03_list_ctn .ttl.one_line .jp {
		line-height: 1.5em;
		margin-bottom: 5px;
	}

	.b03_list_ctn .ttl.one_line .jp,
	.b03_list_ctn .ttl .jp {
		font-size: 18px;
	}

	.b03_list_ctn .ttl {
		font-size: 12px;
	}

	.b03_list_ctn a {
		padding: 20px;
	}

	.b03_step {
		flex-wrap: wrap;
		max-width: 90%;
		padding: 0 3%;
	}

	.b03_step li {
		width: 47%;
		margin: 0 0 20px;
	}

	.b03_step:after {
		content: none;
	}

	.b03_step .ico {
		width: 140px;
	}

	.b03_step .step span {
		font-size: 16px;
	}

	.idx_b03 .idx_btn {
		width: 340px;
		margin: 0 auto 50px;
	}

	.idx_b03 .idx_btn a {
		min-width: 100%;
		width: 100%;
	}

	.idx_b04 {
		padding: 50px 0 35px;
	}

	.idx_b04 .idx_h3 {
		margin-bottom: 30px;
	}

	.b04_list {
		flex-wrap: wrap;
	}

	.idx_b04 .img {
		position: relative;
		top: 0;
		right: 0;
		width: 100%;
		height: auto;
		margin-top: auto;
	}

	.b04_list .info {
		width: 100%;
	}

	.b04_list .des {
		margin-bottom: 25px;
		line-height: 2em;
	}

	.b04_list .idx_btn {
		width: 340px;
		margin: 0 auto;
	}

	.b04_list .idx_btn a {
		min-width: 100%;
	}

	.idx_b05 {
		padding: 10px 0 40px;
	}

	.b05_list {
		flex-wrap: wrap;
	}

	.b05_item {
		width: 100%;
		margin: 0 auto 30px;
	}

	.b05_item:last-child {
		margin-bottom: 0;
	}

	.b05_item .img a {
		height: 250px;
	}

	.b05_item .date {
		font-size: 12px;
	}

	.idx_b06 {
		padding: 35px 0;
	}

	.idx_b06 .idx_h3 {
		text-align: center;
	}

	.idx_b06 .idx_h3 .en {
		padding: 0 35px;
	}

	.idx_b06 .idx_h3 .en:before {
		content: '';
		background: #fff;
	}

	.idx_b06 .container {
		flex-wrap: wrap;
	}

	.b06_info {
		width: 100%;
	}

	.b06_img {
		position: relative;
		left: 0;
		top: 0;
		width: 100%;
		height: auto;
		transform: unset;
		text-align: center;
		margin-bottom: 10px;
	}

	.b06_info .des {
		line-height: 2em;
	}

	/**************************** Footer *******************************/
	#totop {
		width: 50px;
		height: 50px;
		right: 15px;
		bottom: 150px
	}

	.f_top {
		padding: 40px 0;
	}

	.f_top .container {
		flex-wrap: wrap;
		justify-content: center;
	}

	.f_logo {
		width: 300px;
		margin: 0 auto 20px;
		padding-top: 0;
	}

	.f_info {
		width: 100%;
		margin-bottom: 20px;
	}

	.f_txt {
		margin-bottom: 15px;
		font-size: 12px;
	}

	.f_add {
		margin-bottom: 10px;
		font-size: 12px;
	}

	.f_list_bnr {
		max-width: 95%;
		margin: 0 auto;
		justify-content: center;
	}

	.f_list_bnr li {
		margin: 0 10px;
	}

	.f_note {
		font-size: 12px;
		width: 70%;
		margin: 0 auto 15px;
	}

	.f_tel span {
		font-size: 40px;
		padding-left: 40px;
	}

	.f_tel span:before {
		left: 0;
		top: -9px;
		width: 35px;
		height: 42px;
	}

	.f_working_time {
		margin-bottom: 10px;
	}

	.f_map {
		width: 100%;
	}

	.f_map .map {
		height: 250px;
	}

	.f_menu {
		display: none;
	}

	.f_call {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		position: fixed;
		left: 0;
		bottom: 0;
		z-index: 1500;
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s ease;
	}

	.f_call.show {
		opacity: 1;
		visibility: visible;
	}

	.f_call li span {
		position: relative;
		font-size: 11px;
		line-height: 1.5em;
		display: block;
	}

	.f_call li:nth-child(2) .txt01 {
		padding-left: 45px;
	}

	.f_call li:nth-child(3) span {
		font-size: 18px;
		padding-left: 35px;
	}

	.f_call li:nth-child(2) .txt01:before,
	.f_call li:nth-child(3) span:before {
		position: absolute;
		content: '';
		left: 0;
		transform: translateY(-50%);
	}

	.f_call li:nth-child(2) .txt01:before {
		background: url(../images/ico_tel_white.png) no-repeat center;
		background-size: contain;
		width: 45px;
		height: 32px;
		top: 50%;
		transform: translateY(-50%);
	}

	.f_call li:nth-child(3) span:before {
		background: url(../images/icon01.png) no-repeat center;
		background-size: contain;
		width: 28px;
		height: 28px;
		top: 13px;
	}

	.f_call .tel {
		font-size: 18px;
		line-height: 1.2em;
	}

	.f_call li {
		display: flex;
		line-height: 1.5em;
		width: 50%;
		border-right: solid 2px #fff;
	}

	.f_call li:nth-child(3) {
		border-right: 0
	}

	.f_call li a {
		width: 100%;
		display: flex;
		color: #fff;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		text-decoration: none;
		font-weight: bold;
		background: #1d883b;
		padding: 5px;
		line-height: 1.5em;
	}

	.f_call li:nth-child(3) a {
		background: #f1ab40;
	}

	.copyright {
		padding: 12px 3% 10px;
	}

	/*************************** end Footer ****************************/

	/************************* under ******************************/
	.under_mv {
		height: 300px;
	}

	.under #mainvisual {
		padding: 0 3%;
	}

	.under #mainvisual h2 {
		padding: 10px 40px 8px;
		font-size: 28px;
	}

	.under #mainvisual .container {
		padding: 0 3%;
	}

	.under #content {
		width: 100%;
		padding: 0 10px;
	}

	.topic_path li {
		font-size: 12px;
		padding-right: 20px;
		display: inline;
	}

	.topic_path li:after {
		top: -5px;
		right: 4px;
	}

	.under h3 {
		margin-bottom: 30px;
		font-size: 24px;
	}

	.under h3 span.en {
		font-size: 14px;
	}

	.under h4 {
		font-size: 22px;
	}

	.under h4.new {
		padding-left: 70px;
	}

	.under h4.new:before {
		font-size: 16px;
		left: 0;
		top: 0;
		width: 60px;
	}

	.under h5 {
		font-size: 22px;
	}

	.under h6 {
		font-size: 18px;
	}

	.under .txt_top {
		padding: 0 20px;
	}

	.under_txtimg {
		flex-wrap: wrap;
	}

	.under_txtimg .txt {
		width: 100%;
		margin-bottom: 1.5em;
	}

	.under .bg_full {
		margin-bottom: 40px;
		padding: 70px 0;
	}

	.under .bg_full img {
		width: 100%;
	}

	.under .ttl_pickup {
		margin-bottom: 30px;
		text-align: center;
	}

	.under .ttl_pickup .en {
		margin: 0;
		font-size: 30px;
	}

	.under .ttl_pickup .en::after {
		top: 15px;
		right: -34px;
		width: 100px;
		height: 35px;
	}

	.under .ttl_pickup .jp {
		display: block;
		margin-top: 10px;
		font-size: 22px;
	}

	.under_tbl td,
	.under_tbl th {
		padding: 12px 20px 10px
	}

	.tbl_scroll table {
		min-width: 640px;
		table-layout: fixed;
	}

	.tbl_block tr,
	.tbl_block th,
	.tbl_block td {
		display: block;
		width: 100% !important;
		border-bottom: none;
	}

	.tbl_scroll,
	.img_scroll {
		overflow-x: scroll;
	}

	.tbl_block {
		border-bottom: 1px solid #dfdbcf;
	}

	.under_bnr.col2 li {
		width: 100%;
		margin-bottom: 30px;
	}

	.under_bnr.col2 li:last-child {
		margin-bottom: 0;
	}

	.under_list li:before {
		top: 10px;
	}

	.under_list_tick li:before {
		top: 5px;
	}

	.under_list.num li:before {
		padding: 10px;
	}

	.under_frame {
		padding: 30px;
	}

	.under_frame::before {
		top: 5px;
		left: 5px;
	}

	.under_frame::after {
		top: calc(100% - 35px);
	}

	.under_frame02 {
		background: rgba(251, 184, 45, 0.2);
		padding: 25px 30px;
	}

	.under_frame .ttl,
	.under_frame02 .ttl {
		margin-bottom: 15px;
		font-size: 18px;
	}

	.under_box li,
	.under_box.step li {
		width: 100%;
	}

	.under_box li:first-child {
		margin-bottom: 35px;
	}

	.under_box li .ttl {
		padding: 8px 15px 4px;
	}

	.under_box li .img {
		border-radius: 0;
	}

	.under_box.step li:first-child::before {
		top: calc(100% + 30px);
		left: 50%;
		transform: translateX(-50%) rotate(90deg);
		border-width: 25px 0 25px 30px;
	}

	.under_box.step.col03 li {
		width: 100%;
		margin-bottom: 100px;
	}

	.under_box.step.col03 li:last-child {
		margin-bottom: 0;
	}

	.under_box.step.col03 li:before {
		top: calc(100% + 30px);
		left: 50%;
		transform: translateX(-50%) rotate(90deg);
		border-width: 25px 0 25px 30px;
	}

	.under_step dt {
		padding: 15px 20px;
		line-height: 1.7em;
	}

	.anchor_list {
		margin-bottom: 0;
		justify-content: space-between;
	}

	.anchor_list li,
	.anchor_list.col02 li,
	.anchor_list.col03 li,
	.anchor_list.col04 li,
	.anchor_list.col05 li {
		width: 47%;
		margin: 0 auto 15px;
	}

	.anchor_list li a {
		padding: 10px 27px;
		font-size: 13px;
	}

	.anchor_list.col04 li a {
		padding: 13px 33px;
	}

	.anchor_list li a:after {
		right: 10px;
		width: 12px;
		height: 8px;
	}

	.clinic_map iframe {
		height: 300px;
	}

	.blog_list .image_l,
	.blog_list .image_r {
		text-align: center;
		width: 100%;
	}

	.blog_img img {
		max-height: 350px;
	}

	.blog_cate {
		justify-content: space-between;
		flex-wrap: wrap;
	}

	.blog_cate li {
		width: 47%;
		margin: 0 auto 15px;
	}

	/************************ end under ************************/


	.container_list {
		grid-template-columns: repeat(1, 1fr);
	}

	.b00_frame.b00_frame_orange {
		margin-top: 30px;
	}

	.single-case .wrap_img {
		gap: 15px;
		align-items: flex-start;
	}

	.single-case .box_img {
		padding: 10px;
	}

	.single-case .box_img {
		height: 250px;
	}

	.idx_bcase .wrap_case_idx {
		flex-direction: column;
	}

	.idx_bcase .wrap_case_idx .b06_info {
		width: 100%;
	}

	.idx_bcase .wrap_case_idx .box_case_idx {
		padding: 20px;
	}

	.idx_bcase{
		padding: 50px 0;
	}

	.idx_bcase .blog-list {
		justify-content: center;
		gap: 10px;
	}

	.idx_bcase .blog-list li a {
		width: 200px;
	}

	
	.idx_bcase .box-list-new #list-news{
		max-height: 250px;
	}

	.idx_bcase #list-news li{
		flex-direction: column;
		align-items: flex-start;
	}

	.idx_bcase #list-news .cate{
		width: 140px;
	}

	#list_cate_new li a{
		padding: 10px;
	}

	.list_case #box-blog{
		grid-template-columns: repeat(2,1fr);
	}

	


}


@media screen and (max-width: 475px) {
	.sp475 {
		display: block;
	}

	.pc475 {
		display: none;
	}

	.idx_b02_txt span {
		font-size: 28px;
	}

	.b03_list_ctn li {
		width: 90%;
	}

	.single-case .box_img {
		height: 180px;
	}

	#list_cate_new{
		flex-direction: column;
		gap: 10px;
	}

	#list_cate_new li{
		width: 70%;
	}

	.list_case #box-blog{
		grid-template-columns: repeat(1,1fr);
	}

	.list_case #searchform .input-form label{
		width: 110px;
	}

	.list_case #searchform .input-form select{
		width: 170px;
	}

	/************************* under ******************************/

	/************************ end under ************************/
}

@media screen and (max-width: 425px) {
	.sp425 {
		display: block;
	}

	.pc425 {
		display: none;
	}

	.b03_list_ctn .ttl.one_line .jp,
	.b03_list_ctn .ttl .jp {
		font-size: 16px;
		margin-bottom: 5px;
	}

	.b03_step {
		max-width: 100%;
	}

	.f_call li:nth-child(2) .txt01 {
		padding: 0.5vw 0 0 10vw;
	}

	.f_call li:nth-child(3) span {
		font-size: 16px;
	}

	.f_call .txt01 .tel {
		top: 0;
		font-size: 4vw;
	}

	.f_call li span {
		font-size: 2.7vw;
		margin-bottom: 0.5vw;
	}

	.f_call li:nth-child(2) .txt01:before {
		width: 26px;
		height: 28px;
	}

	.f_call li:nth-child(3) span:before {
		width: 26px;
		height: 26px;
		top: 11px;
	}

	.f_list_bnr {
		flex-wrap: wrap;
		justify-content: center;
	}

	.f_list_bnr li:first-child,
	.f_list_bnr li:last-child {
		width: 100%;
		margin: 0 auto 15px;
		text-align: center;
	}

	.f_list_bnr li:last-child {
		margin-bottom: 0;
	}

	/************************* under ******************************/
	.anchor_list li,
	.anchor_list.col02 li,
	.anchor_list.col03 li,
	.anchor_list.col04 li,
	.anchor_list.col05 li,
	.blog_cate li {
		width: 90%;
		margin: 0 auto 15px;
	}

	.anchor_list li:last-child,
	.anchor_list.col02 li:last-child,
	.anchor_list.col03 li:last-child,
	.anchor_list.col04 li:last-child,
	.anchor_list.col05 li:last-child,
	.blog_cate li:last-child {
		margin-bottom: 0;
	}

	.under #mainvisual h2 {
		font-size: 6vw;
		padding: 10px 30px 8px;
	}

	/************************ end under ************************/

	.item-ft {
		font-size: 18px;
	}

	span.txt-color {
		font-size: 18px;
	}

}

@media screen and (max-width: 375px) {
	.sp375 {
		display: block;
	}

	.pc375 {
		display: none;
	}

	.gnavi_item.col02_even li:not(.ttl),
	.gnavi_item.col02_odd li:not(.ttl) {
		width: 100%;
	}

	.gnavi_btn,
	.gnavi_info {
		flex-wrap: wrap;
	}

	.gnavi_btn {
		margin-bottom: 20px;
	}

	.gnavi_btn li,
	.gnavi_info li {
		width: 90%;
		margin: 0 auto 10px;
	}

	.gnavi_btn li:last-child,
	.gnavi_info li:last-child {
		margin-bottom: 0;
	}

	.idx_btn a:after {
		width: 8px;
		height: 12px;
	}

	.idx_h3 .en {
		font-size: 13px;
		margin-bottom: 5px;
	}

	.idx_h3 .jp {
		font-size: 18px;
	}

	.idx_des {
		font-size: 12px;
	}

	.idx_b01 {
		padding: 35px 0;
	}

	.b01_list li {
		width: 95%;
		margin: 0 auto 30px;
	}

	.b01_list li:last-child {
		margin-bottom: 0;
	}

	.b01_item .num {
		font-size: 44px;
		bottom: 30px;
		right: 15px;
	}

	.b01_item .des a {
		font-size: 14px;
	}

	.idx_b02 {
		padding: 90px 0 50px;
	}

	.b02_list {
		flex-wrap: wrap;
	}

	.b02_item {
		width: 100%;
		margin: 0 auto 45px;
	}

	.b02_item:last-child {
		margin-bottom: 0;
	}

	.b02_item .img {
		margin-bottom: 10px;
	}

	.b02_item .des {
		font-size: 14px;
		margin-bottom: 10px;
	}

	.b02_item .idx_btn a {
		padding: 6px 27px;
		font-size: 14px;
	}

	.b03_list_ctn .ttl.one_line .jp,
	.b03_list_ctn .ttl .jp {
		font-size: 14px;
	}

	.b04_list .idx_btn,
	.idx_b03 .idx_btn {
		width: 100%;
	}

	.idx_b03 .idx_btn {
		padding: 0 3%;
	}

	.f_tel span {
		font-size: 34px;
	}

	.f_tel span:before {
		left: 0;
		top: -4px;
		width: 30px;
		height: 34px;
	}

	/************************* under ******************************/
	.under_frame {
		padding: 30px 15px 30px 25px;
	}

	.under_box li .txt {
		padding: 10px;
	}

	.under h4 {
		font-size: 20px;
	}

	.under h5 {
		font-size: 18px;
	}

	/************************ end under ************************/
}

@media screen and (max-width: 320px) {
	.sp320 {
		display: block;
	}

	.pc320 {
		display: none;
	}

	/************************* under ******************************/

	/************************ end under ************************/
}

/*IE*/
@media screen\0 {
	.sub_menu li a::before {
		top: 4px;
	}

	.gnavi_ctn_pc>li.over>a::after {
		top: 43%;
	}

	.idx_main_txt .txt span {
		padding: 20px 30px 10px;
	}

	.idx_btn.white a::after {
		top: 53%;
	}

	.idx_btn a {
		padding: 16px 40px 8px;
	}

	.grp_main_ico .ico span {
		display: block;
	}

	.idx_h3 .en::before,
	.idx_h3 .en::after {
		top: 38%;
	}

	.f_menu_item li:not(.ttl)>a::before {
		top: 2px;
	}

	.idx_btn.white a {
		padding: 11px 40px 3px 27px;
	}

	.copyright {
		line-height: 1.2em;
	}

	.f_note {
		padding-top: 5px;
	}

	.b03_step .ico {
		height: 120px;
	}

	.b03_list_ctn a {
		padding: 30px 26px;
	}

	/*under*/
	.under h4 {
		padding: 10px 15px 0;
	}

	.under_list_tick li::before {
		top: 6px;
	}

	.under_tbl td,
	.under_tbl th {
		padding: 16px 20px 12px;
	}

	.under_step dt {
		padding: 24px 20px 16px;
	}

	.under_step dt span::after {
		bottom: 4px;
	}

	.anchor_list li a {
		padding: 21px 40px 15px;
	}

	.anchor_list.col04 li a,
	.anchor_list.col05 li a {
		padding: 16px 28px 10px;
	}

	.under h4.new::before {
		padding-top: 10px;
	}

	.under_list.num li:before {
		padding: 14px 14px 8px 6px;
	}

	.under_list li::before {
		top: 10px;
	}

	.under_list.num li::before {
		top: 1px;
	}

	.blog_cate li a {
		padding: 13px 20px 7px 10px;
	}

	.blog_list .txt_cate {
		padding: 15px 12px 9px;
	}

	.h_note {
		padding: 5px 0 0;
	}

	.under #mainvisual h2 {
		padding: 26px 40px 12px;
	}

	.b00_frame .frm_ttl,
	.b00_frame .frm_body {
		padding: 19px 15px 11px;
	}
}

/*Edge*/
@supports (-ms-ime-align:auto) {}

/*FireFox*/
@-moz-document url-prefix() {}

/*Other*/
@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {}

/*Safari*/
@media not all and (min-resolution:.001dpcm) {
	@supports (-webkit-appearance:none) and (stroke-color:transparent) {
		.h_top.fixed .h_bnr {
			visibility: hidden !important;
			opacity: 0;
		}

		#fmail select {
			visibility: visible !important;
		}

		.topic_path li:after {
			top: -7px;
		}
	}
}