@charset "utf-8";

/* android対策 */
p { background-image: url(../images/pix.gif); }

/*--------------------------------------------------------
★レスポンシブ■タブレット対応
--------------------------------------------------------*/
@media screen and (max-width: 1280px) {
	/* layout */
	html{
		width: 1280px;
	}
	body {
		width: 1280px;
		overflow-x: hidden;
	}
	/* header */
	header{
		display: block;
		width: 1280px;
	}
	article{
		position: relative;
		display: block;
		width: 1280px;
	}
	footer{
		width: 1280px;
	}
}

/*--------------------------------------------------------
★レスポンシブ■ヘッダ部分
--------------------------------------------------------*/
@media screen and (min-width: 481px) {
	.pc_none{
		display: none!important;
	}
}
@media screen and (max-width: 480px) {
	/* header */
	header{
		max-width: 480px;
		width: 100%;
		height: auto;
		border-top: none;
		top: 0;
		/*padding: 50px 0 0;*/
		border: 0;
		background: none;
		z-index: 50;
	}
	header .wrapper{
		/*display: none;*/
		width: 70%;
		padding: 0;
	}
	header .top
	header .wrapper .toptel img{
		display: none;
	}
	header .toptitle{
		display: none;
	}
	header .toptitle h2{
		display: none;
	}
	#wrapper .top_band{
		position: fixed;
		top: 0;
		height: 50px;
		width: 100%;
		background: #219c85;
		z-index: 1;
	}

	.fl_r .toptel img{
		display: none;
	}

	/* スマホ用メニュー */
	.index #wrapper {
		overflow: hidden;
		min-width: 20pc;
		height: auto;
		padding: 0;
	}
	.drawer .contents {
		-webkit-transition: -webkit-transform 0.6s;
		transition: transform 0.6s;
	}
	.drawer #navTgl:checked~.contents {
		-webkit-transform: translateX(-250px);
		transform: translateX(-250px);
	}
	.index #navTgl {
		display: none;
		overflow: hidden;
	}
	.drawer label.pc_none {
		cursor: pointer;
		position: fixed;
		top: 0;
		right: 0;
	}
	.drawer .open{
		z-index: 100;
		width: 17%;
		height: 50px;
		color: #fff;
		background-color: #219c85;
		font-size: 2em;
		line-height: 33px;
		text-align: center;
		-webkit-transition: background-color 0.6s,-webkit-transform 0.6s;
		transition: background-color 0.6s,transform 0.6s;
		position: relative;
	}
	.drawer .open .menumenu2{
		position: absolute;
		font-size: 11px;
		top: 23px;
		left: 0;
		width: 100%;
	}
	.index #navTgl:checked+.open {
		color: #FFF;
		background-color: #282828;
		-webkit-transform: translateX(-250px);
		transform: translateX(-250px);
	}
	.drawer .close {
		pointer-events: none;
		z-index: 1;
		width: 100%;
		height: 100%;
		transition: background-color 0.6s;
	}
	.drawer #navTgl:checked~.close {
		pointer-events: auto;
		background-color: rgba(0,0,0,.3);
		z-index: 2;
	}
	.menu{
		z-index: 1000;
		position: fixed;
		overflow: auto;
		top: 0;
		right: 0;
		width: 250px;
		height: 100%;
		padding: 10px;
		background-color: rgba(33, 156, 133, .7);
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		-webkit-transition: -webkit-transform 0.6s;
		transition: transform 0.6s;
		box-sizing: border-box;
	}
	.index #navTgl:checked~.menu {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	.menu li a{
		position: relative;
		color: #fff;
	}
	.menu li a.arrow_d:after{
		content: "＞";
		position: absolute;
		display: block;
		font-size: 10px;
		height: 10px;
		top: 0;
		right: 1.5em;
		bottom: 0;
		margin: auto 0;
		transform: rotate(90deg);
	}
	.menu ul{
		padding: 0;
	}
	.menu li{
		position: relative;
		border-bottom: 1px solid rgba(255,255,255,.4);
		font-size: 0.9em;
		line-height: 1.4;
	}
	.menu li a{
		display: block;
		padding: 1em 2em .9em;
		text-decoration: none;
		transition: background-color 0.6s;
	}
	.menu .gsst_a{
		padding: 0!important;
	}
	.menu li a .en{
		position: relative;
		display: block;
		font-size: .5em;
	}
	.menu li a:hover {
		color: #219c85;
		background-color: #fff;
	}
	.menu li a:hover span{
		color: #FFF;
	}
	.menu li ul{
		background: rgba(122,206,153,.9);
	}
	.menu li ul li:last-child{
		border-bottom: 0;
	}
	.header_box{
		height: auto;
		background: none;
		padding: 0;
	}
	header #lead,
	header .reservation_box,
	header .tel,
	header .businessHour,#gnav{
		display: none;
	}
	#header_logo{
		position: fixed;
		display: inline-block;
		width: 100%;
		height: 50px;
		top: 0;
		background: #FFF;
		z-index: 100;
		box-shadow: 0 0 5px rgba(0,0,0,.7);
		background: #219c85;
	}
	#header_logo a{
		position: relative;
		display: block;
		/*width: 120px;*/
		height: 27px;
		/*background-image: url(../images/main_icon2.png);*/
		top: 8px;
		left: 2%;
		transition: .3s;
		z-index: 100;
		padding-left: 17%;
		text-indent: 0;
		line-height: 1;
		font-weight: 600;
		margin-top: 5px;
		/*font-size: 4vw;*/
	}
	#header_logo a .title11{
		display: block;
		position: absolute;
		top: -1px;
		font-size: 13px;
		/*font-weight: 600;
		margin-top: 5px;*/
	}
	#header_logo a .title22{
		display: block;
		position: absolute;
		font-size: 13px;
		margin-top: 2px;
		/*font-weight: 600;
		margin-top: 5px;*/
	}
	/*#header_logo a:before{
		position: absolute;
		content:"インソール工房";
		top: 0;
		left: 0;
		font-size: 10px;
		z-index: 20;
	}*/
	header .mail_btn{
		position: fixed;
		display: block;
		width: 15%;
		height: 48px;
		top: 0;
		right: 32%;
		z-index: 100;
		border-left: 1px solid rgba(255,255,255,.4);
		border-right: 1px solid rgba(255,255,255,.4);
	}
	header .mail_btn a{
		position: relative;
		display: block;
		/*width: 50px;*/
		font-size: 11px;
		line-height: 1em;
		text-align: center;
		padding-top: 10px;
	}
	header .mail_btn a::before{
		content: "\f0e0";
		display: block;
		color: #fff;
		font-size: 20px;
		line-height: 1em;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		transform: scale(-1, 1);
		top: 0;
		left: 0;
		right: 0;
		margin: 0 auto 4px;
	}
	header .tel_btn{
		position: fixed;
		display: block;
		width: 15%;
		height: 48px;
		top: 0;
		right: 17%;
		z-index: 100;
		/*border-left: 1px solid rgba(255,255,255,.4);*/
		border-right: 1px solid rgba(255,255,255,.4);
	}
	header .tel_btn a{
		position: relative;
		display: block;
		/*width: 50px;*/
		font-size: 11px;
		line-height: 1em;
		text-align: center;
		padding-top: 10px;
	}
	header .tel_btn a::before{
		content: "\f095";
		display: block;
		color: #fff;
		font-size: 20px;
		line-height: 1em;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		transform: scale(-1, 1);
		top: 0;
		left: 0;
		right: 0;
		margin: 0 auto 4px;
	}
}

/*--------------------------------------------------------
★レスポンシブ■スマホ表示切替ボタン
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
	li a#btnSP{
		display: none;
	}
	li a#btnPC{
		position: fixed;
		display: block;
		width: 30%;
		height: auto;
		z-index: 100;
		font-size: 12px;
		padding: 8px 2px;
		border-radius:8px;
		background: #219c85;
		box-shadow: 3px 3px 1px rgba(0,0,0,0.2);
		text-align: center;
		color: #FFF;
		text-decoration: none;
		bottom: 12px;
		left: 12px;
		z-index: 99999999!important;
	}
}
@media screen and (min-width: 481px) {
	#switch{
		display: none;
		height: 0;
	}
	li a#btnSP{
		display: none;
	}
	li a#btnPC{
		display: none;
	}
}

@media screen and (min-width:1021px) {
	#switch{
		display: block;
		height: auto;
	}
	li a#btnPC{
		display: none;
	}
	li a#btnSP{
		position: fixed;
		display: block!important;
		width: 300px;
		height: auto;
		z-index: 100;
		font-size: 24px;
		padding: 8px;
		text-align: center;
		border-radius: 22px;
		background: #219c85;
		color: #fff;
		box-shadow: 3px 3px 1px rgba(0,0,0,0.2);
		color: #FFF;
		text-decoration: none;
		bottom: 110px;
		left: 30px;
		z-index: 99999999!important;
	}
}
@media screen and (min-width: 1023px) {
	#switch{
		display: none;
		height: 0;
	}
	li a#btnSP{
		display: none;
	}
	li a#btnPC{
		display: none;
	}
}


/*--------------------------------------------------------
★レスポンシブ■コンテンツ部分
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
	html{
		max-width: 480px;
		width: 100%;
		-webkit-text-size-adjust: 100%!important;
		overflow-x: hidden;
	}
	body {
		max-width: 480px;
		min-width: 320px;
		width: 100%;
		overflow-x: hidden!important;
		box-shadow: none;
		font-size: 16px;
		line-height: 20pt;
		letter-spacing: .04em;
		-webkit-text-size-adjust: 100%!important;
	}

	/* layout
	------------------------------ */
	.wrapper{
		max-width: 480px;
		width: 92%;
		margin: 0;
		padding: .1% 4%;
	}
	/* bxslider */
	#slider div{
		width: 100%;
		max-width: 100%;
		height: auto;
	}
	.bx-wrapper{
		position: relative;
		display: block;
		height: auto;
	}
	.bx-wrapper .bx-viewport{
		height: 0!important;
		padding-bottom: 143%;
	}
	.bxslider li:before{
		display: none;
	}
	.bxslider li{
		width: 100%!important;
		position: relative;
		height: auto;
	}
	.bxslider li:nth-child(1),
	.bxslider li:nth-child(2){
		background: none;
	}
	.bxslider li:nth-child(1) .wrapper,
	.bxslider li:nth-child(2) .wrapper{
		display: none;
	}
	.btn a{
		width: 180px;
		height: auto;
		line-height: 150%;
		padding: 15px 0 14px 20px;
	}
	.btn a:after{
		width: 14px;
		height: 14px;
		right: 10px;
	}
	.reservation_box{
		display: block;
		padding: 0 6px;
	}

	/* Common
	------------------------------ */
	.sp_none{
		display: none!important;
		z-index: 0;
	}
	article{
		width: 100%;
		overflow: hidden;
	}
	.fl_l,.fl_r{
		clear: both;
		float: none;
	}
	.logo{
		width: 280px;
		height: 44px;
		margin: 0 auto;
	}
	/*//////////////*/
	.spbr{
		display: block;
	}
	.spno{
		display: none;
	}
	/*///////////////*/

	/* 240307 価格改定 */
	#price_revision .titleimg1 {
		margin-top: 50px;
	}
	#price_revision .titleimg1 img{
		height: 65px;
	}
	#price_revision .sectitle h2{
		font-size: min(22px,6vw);
		margin: 15px 0 35px;
	}
	#price_revision p{
		line-height: 200%;
	}
	/* //240307 価格改定 */

	/* greeting */
	#greeting .sectitle h2{
		font-size: 22px;
	}
	#greeting .greet1{
		margin-bottom: 20px;
	}
	#greeting .greet1 p {
		line-height: 2;
		text-align: left;
	}
	/*#greeting .greet2 p {
		line-height: 2;
		text-align: left;
	}*/
	.grad-wrap{
		margin-bottom: 50px;
	}
	.grad-btn {
		z-index: 2;
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		width: 130px;
		margin: auto;
		padding: 3px 0;
		border-radius: 2px;
		background: #009e8f;
		color: #fff;
		font-size: 16px;
		text-align: center;
		cursor: pointer;
		transition: .2s ease;
		box-shadow: 0 0 3px rgba(0,0,0,.3);
	}
	.grad-btn::before {
		content: "続きを読む"
	}
	.grad-item {
		position: relative;
		overflow: hidden;
		height: 60px; /*隠した状態の高さ*/
	}
	.grad-item p{
		line-height: 2;
		text-align: left;
	}
	.grad-item::before {
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 40px; /*グラデーションで隠す高さ*/
		background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
		background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
		content: "";
	}
	.grad-trigger {
		display: none; /*チェックボックスは常に非表示*/
	}
	.grad-trigger:checked ~ .grad-btn::before {
		content: "閉じる" /*チェックされていたら、文言を変更する*/
	}
	.grad-trigger:checked ~ .grad-item {
		height: auto; /*チェックされていたら、高さを戻す*/
	}
	.grad-trigger:checked ~ .grad-item::before {
		display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
	}
	#greeting .slogan{
		width: 92%;
		margin-top: 70px;
		padding: 0 4%;
	}
	#greeting .slogan h3{
		font-size: 18px;
	}
	#greeting .slogan h4{
		font-size: min(24px,6vw);
	}
	#greeting .resume{
		width: 90%;
		padding: 8% 5%;
		margin-top: 30px;
	}
	#greeting .resume .column1{
		float: none;
	}
	#greeting .resume .column1 img {
		width: 250px;
		margin-bottom: 20px;
	}
	#greeting .resume .column2{
		float: none;
		margin-left: 0;
		width: 100%;
	}
	#greeting .resume .column2 h4{
		font-weight: 600;
	}
	#greeting .resume .column2 .nameimg {
		display: block;
		position: static;
		margin-top: 10px;
	}
	#greeting .resume .column2 img {
		position: static;
	}
	#greeting .resume .column2 dl dt div{
		display: none;
	}
	#greeting .resume .column2 dl dt div:before{
		display: none;
	}
	#greeting .resume .column2 dl dd {
		margin-bottom: 5px;
	}
	#greeting .resume .column3{
		float: none;
		width: 100%;
		margin-top: 10px;
		margin-left: 0;
	}
	#greeting .resume .column3 h4{
		font-weight: 600;
	}
	/* //greeting */

	/* concept */
	.concept .sectitle h2{
		font-size: 22px;
	}
	.concept .trouble {
		padding: 0;
		background: rgba(121, 121, 121, .7);
		margin: 0 5%;
	}
	.concept .trouble .wrapper{
		padding-top: 1px;
		margin-bottom: 60px;
	}
	.concept .trouble .wrapper h3 {
		line-height: 1.5;
		text-align: left;
		font-size: 19px;
		text-align: center;
		margin-top: 40px;
		margin-bottom: 20px;
		font-weight: 600;
	}
	.concept .trouble .wrapper ul {
		width: 100%;
	}
	.concept .trouble .wrapper ul img {
		height: 24px;
	}
	.concept .trouble .wrapper ul li{
		width: 100%;
		margin-top: 10px;
	}
	.concept .trouble .wrapper ul h4{
		font-size: 17px;
		font-weight: 600;
		-webkit-appearance: none;
	}
	.concept .trouble .wrapper ul li:nth-child(2n){
		margin-left: 0;
	}
	.concept .trouble .wrapper .border {
		display: none;
	}
	.concept .trouble .wrapper .answer1{
		margin-top: 40px;
		margin-bottom: 10px;
		font-size: 16px;
		font-weight: 600;
	}
	.concept .trouble .wrapper .answer2{
		border-bottom: dotted 3px black;
		padding-bottom: 15px;
		line-height: 1.5;
		text-align: left;
		font-size: 19px;
		text-align: center;
		font-weight: 600;
	}
	.concept .trouble .wrapper .then {
		margin-top: 30px;
		padding-bottom: 40px;
	}
	.concept .trouble .wrapper .then h5{
		display: block;
		margin: 0 auto;
		line-height: 1.5;
		border-radius: 5%;
		height: 110px;
		font-size: 19px
	}
	.concept .trouble .wrapper .then h5 span{
		font-weight: 600;
	}
	.concept .wrapper .motto h5 {
		font-weight: 600;
	}
	.concept .wrapper .motto p{
		text-align:left;
		margin-bottom: 40px;
	}
	.concept .trouble .wrapper .then img{
		display: block;
		margin: 15px auto;
		transform: rotate(90deg);
	}

	/*band1*/
	.concept .band1{
		background-size: cover;
		height: 135px;
		position: relative;
	}
	.concept .band1:before{
		position: absolute;
		content: "";
		width: 0;
		height: 0;
		right: 50%;
		bottom: -40px;
		transform: translateX(50%);
		border: 22px solid transparent;
		border-top: 22px solid #2CA897;
	}
	.concept .band1 p{
		margin: 0 5%;
		line-height: 1.5;
		font-size: 17px;
		font-weight: 600;
		padding-top: 20px;
	}
	.concept .band1 h3{
		margin: 0 5%;
		line-height: 1.5;
		font-size: 19px;
		font-weight: 600;
	}
	/*band1*/
	.motto{
		line-height: 1.7;
	}
	.concept .wrapper .motto h4{
		font-weight: 600;
	}
	.concept .feature{
		margin-bottom: 0;
	}
	.concept .feature .no1,
	.concept .feature .no2 {
		width: 100%;
		text-align: left;
	}
	.concept .feature .no2 {
		margin-left: 0;
	}
	.concept .feature .no1 .g1,
	.concept .feature .no2 .g2 {
		width: 100%;
		padding-bottom: 15px;
	}
	.concept .feature .no1 .g1 .g1_left .no01,
	.concept .feature .no2 .g2 .g2_left .no02{
		height: 40px;
	}
	.concept .feature .no1 .g1 .g1_left h6,
	.concept .feature .no2 .g2 .g2_left h6{
		font-size: 20px;
		font-weight: 600;
	}
	.concept .feature .no1 .g1 .g1_left,
	.concept .feature .no2 .g2 .g2_left {
		margin: 8% 5%;
		width: 90%;
	}
	.concept .feature .no1 .g1 .pic1,
	.concept .feature .no2 .g2 .pic2{
		float: none;
		display: inherit;
		margin: 0 auto;
		margin-bottom: 15px;
	}
	.concept .feature .no1 p, .concept .feature .no2 p {
		line-height: 1.7;
		margin-bottom: 50px;
	}

	/*///////////*/
	.concept .menulist{
		height: auto;
	}
	.concept .menulist .menuA:after{
		top: -25px;
	}
	.concept .menulist .menuB:after{
		top: -25px;
	}
	.concept .menulist .menuC:after{
		top: -25px;
	}
	.concept .menulist .menuD:after{
		top: -25px;
	}
	.concept .menulist .zindex .ribbon {
		width: 350px;
		height: 80px;
		left: -75px;
	}
	.concept .menulist .zindex h4 {
		top: 47px;
		left: 30px;
		line-height: 1.5;
		font-size: 22px;
		font-weight: 600;
	}
	.concept .menulist .menuA {
		margin-top: 190px;
		height: 110px
	}
	.concept .menulist .menuB {
		margin-top: 190px;
		height: 110px
	}
	.concept .menulist .menuC{
		height: 85px
	}
	.concept .menulist .menuD{
		height: 85px
	}
	.concept .menulist a {
		margin: 30px 4% 55px;
		width: 30%;
		padding: 5%;
	}
	.concept .menulist a h5{
		font-size: 16px;
		margin-top: 15px;
		font-weight: 600;

	}
	.sf_insole {
		width: 100%;
		margin-top: 50px;
	}
	.sf_insole .ourinsole {
		width: 100%;
		padding-bottom: 5px;
		margin-bottom: 40px;
	}
	.sf_insole .ourinsole img{
		margin-top: 10px;
	}
	.sf_insole .ourinsole h3 {
		width: 80%;
		margin-top: 0;
		line-height: 1.5;
		font-size: 22px;
		font-weight: 600;
	}
	.sf_insole .ourinsole:before{
		width: 40%;
	}
	.sf_insole .leftclm{
		width: 100%;
	}
	.sf_insole .leftclm h4{
		margin-bottom: 10px;
		line-height:  1.5;
		font-weight: 600;
		font-size: 22px;
	}
	.sf_insole .leftclm p{
		line-height: 1.7;
	}
	.sf_insole .rightclm{
		width: 100%;
	}
	.sf_insole .rightclm img {
		width: 100%;
		height: auto;
		margin: 0;
		margin-bottom: 20px;
	}
	.sf_insole .leftclm .effect p {
		width: 78%;
		line-height: 1.5;
		margin-bottom: 8px;
		font-size: 18px;
	}
	.sf_insole .leftclm .effect img{
		margin-top: 8px;
	}
	.sf_insole .leftclm .effect{
		padding: 5% 5%;
	}
	/* //concept */

	/* about */
	#about .wrapper .sectitle h2{
		font-size: 22px;
	}
	.leftleft {
		text-align: center;
	}
	.leftleft h3{
		font-weight: 600;
	}
	.leftleft p {
		margin-top: 30px;
		text-align: left;
	}
	.leftleft p .bold {
		font-weight: 600;
	}
	.leftleft .bookinfo{
		margin: 30px 0;
	}
	.leftleft .bookinfo img{
		margin-top: 10px;
	}
	.leftleft .bookinfo h4{
		margin-right: 0;
		font-weight: 600;
	}
	.leftleft .bookbtn a{
		margin-bottom: 30px;
		font-weight: 600;
	}
	.leftleft table{
		overflow-x: scroll;
	}
	.sp_lay{
		position: relative;
		display: block;
		width: 100%;
		height: auto;
		overflow-x: scroll;
		padding-bottom: 8px;
	}
	.leftleft table tr th:first-child{
		white-space: nowrap;
	}
	.leftleft table tr td:first-child{
		white-space: nowrap;
	}
	.sp_lay::-webkit-scrollbar{
		width: 5px;
		height: 5px;
	}
	/*バーの背景色*/
	.sp_lay::-webkit-scrollbar-track{
		background: #dddddd;
	}
	/*バーの色*/
	.sp_lay::-webkit-scrollbar-thumb{
		background: #219c85;
	}
	.rightright p{
		margin: 30px 0;
	}
	.rightright p span{
		font-weight: 600;
	}
	.rightright iframe{
		width: 100%;
	}
	.picture {
		margin-bottom: 80px;
	}
	.picture img{
		width: 100%;
		height: auto;
	}
	.picture img:last-child {
		margin-left: 0px;
		margin-top: 30px;
	}
	/* //about */

	/* menu */
	#menu .sectitle h2{
		font-size: 22px;
	}
	.menuprice {
		width: 90%;
		margin: 0 5% 60px;
	}
	.menuprice:before {
		width: 40%;
	}
	.menuprice h3{
		font-size: 22px;
		font-weight: 600;
	}
	#menu .bg{
		padding-top: .1px;
		padding-bottom: 50px;
	}
	#menu .contents {
		width: 90%;
		margin: 0 5% 30px;
		padding: 110px 5% 8%;
	}
	#menu .contents.flex{
		display: block;
	}
	#menu .contents .mention,
	#menu .contents.flex .mention{
		width: 100%;
	}
	#menu .contents table{
		position: static;
		transform: translate(0);
		/*margin-top: 30px;*/
	}
	#menu .contents.flex table{
		width: 100%;
		font-size: 14px;
		margin-top: 30px;
	}
	#menu .contents.flex table th:first-child{
		width: 65%;
	}
	#menu .contents .mention:before {
		position: absolute;
		content: "";
		top: -87px;
		left: 0px;
		width: 70px;
		height: 70px;
		background: #fff;
		border-radius: 50%;
		font-size: 34px;
		color: #282828;
	}
	#menu .contents .abcd1:after {
		position: absolute;
		content: "A";
		top: -65px;
		left: 23px;
		color: #282828;
		font-size: 33px;
	}
	#menu .contents .abcd2:after {
		position: absolute;
		content: "B";
		top: -65px;
		left: 23px;
		color: #282828;
		font-size: 33px;
	}
	#menu .contents .abcd3:after {
		position: absolute;
		content: "C";
		top: -65px;
		left: 23px;
		color: #282828;
		font-size: 33px;
	}
	#menu .contents .abcd4:after {
		position: absolute;
		content: "D";
		top: -65px;
		left: 23px;
		color: #282828;
		font-size: 33px;
	}
	#menu .make .band2 {
		background-size: cover;
		height: 90px;
		position: relative;
	}
	#menu .make .band2:before {
		position: absolute;
		content: "";
		width: 0;
		height: 0;
		right: 50%;
		bottom: -42px;
		transform: translateX(50%);
		border: 22px solid transparent;
		border-top: 22px solid #2CA897;
	}
	#menu .make .band2 h3 {
		line-height: 90px;
		font-size: 22px;
		font-weight: 600;
	}

	/*///////////////////*/
	#menu .make {
		padding-bottom: 60px;
	}
	#menu .make .raw1,
	#menu .make .raw2 {
		width: 100%;
		margin: 0 auto;
	}
	#menu .make .raw1{
		margin-top: 100px;
	}

	#menu .make .group h4{
		font-weight: 600;
	}
	#menu .make .group2 {
		width: 100%;
		float: none;
		margin-top: 50px;
	}
	#menu .make .group2 h4 {
		font-weight: 600;
	}
	#menu .make .group2 img{
		width: 285px;
		height: 285px;
	}
	/*#menu .make .group:first-child{
		margin-top: 100px;
	}*/
	#menu .make .group{
		float: none;
		width: 100%;
		margin-top: 50px;
	}
	#menu .make .group p{
		margin: 0 5%;
	}
	#menu .make .group2 p{
		margin: 0 5%;
	}
	#menu .make .no1:after,#menu .make .no2:after,
	#menu .make .no3:after,#menu .make .no4:after,
	#menu .make .no5:after,#menu .make .no6:after,
	#menu .make .no7:after{
		top: -12px;
	}
	#menu .contents .mention h4 {
		padding-top: 180px;
		margin-top: -180px;
		font-weight: 600;
	}
	#menu .contents table th{
		font-weight: 600;
	}
	#menu .contents table td{
		font-weight: 600;
	}
	/* //menu */

	/* voice */
	.voice .sectitle h2 {
		font-size: 22px;
	}
	.voice .wrapper .group {
		padding: 8% 5%;
	}
	.voice .wrapper .group:last-child{
		margin-bottom: 0;
	}
	.voice .wrapper .group .border:before {
		width: 40%;
	}
	.voice .wrapper .group .border img {
		margin-top: 5px;
		display: none;
	}
	.voice .wrapper .group .border h3 {
		clear: both;
		float: none;
		display: block;
		width: 100%;
		margin-top: 0;
		margin-bottom: 5px;
		line-height: 1.5;
		font-size: 20px;
		font-weight: 600;
		text-align: left;
		padding-left: 43px;
		box-sizing: border-box;
	}
	.voice .wrapper .group .border h3::before{
		content: "";
		position: absolute;
		display: block;
		width: 22px;
		height: 50px;
		background: url(../images/title_icon01.png) no-repeat center center / contain;
		top: 0;
		left: 0;
		bottom: 0;
		margin: auto 0;
	}
	.voice .wrapper .group .border p{
		float: none;
		margin-left: 43px;
		padding: 0 0 7px;
		display: block;
		font-size: 16px;
		text-align: left;
	}
	.voice .wrapper .group p{
		line-height: 1.7;
		text-align: left;
	}
	/* //voice */

	/* contact */
	.book .bookbtn a{
		margin-bottom: 40px;
		font-weight: 600;
		-webkit-appearance: none;
	}
	.bookinfo img {
		display: block;
		width: 270px;
		height: auto;
		vertical-align: middle;
		margin: 10px auto 0;
	}
	.book .bookask {
		margin-bottom: 0;
	}
	.book .bookinfo{
		margin-bottom: 30px;
	}
	.book .bookinfo h4{
		margin-right: 0;
		font-weight: 600;
	}
	.book .bookask p{
		text-align: left;
		line-height: 1.7;
	}
	.book form{
		text-align: center;
		margin: 0;
		width: 100%;
	}
	.book form input{
		width:  95%;
		margin-top: 45px;
		margin-bottom: 0px;
	}
	.book form textarea {
		width: 95%!important;
		margin-top: 45px;
		/*margin-bottom: 0;*/
	}
	.book form .name:before{
		content: "お名前";
		position: absolute;
		top: 15px;
		left: 8px;
		font-size: 16px;
		color: #282828;
		font-weight: 500;
	}
	.book form .mail:before{
		content: "メールアドレス";
		position: absolute;
		top: 15px;
		left: 8px;
		font-size: 16px;
		color: #282828;
		font-weight: 500;
	}
	.book form .tel:before{
		content: "電話番号";
		position: absolute;
		top: 15px;
		left: 8px;
		font-size: 16px;
		color: #282828;
		font-weight: 500;
	}
	.book form .message:before{
		content: "メッセージ";
		position: absolute;
		top: 15px;
		left: 8px;
		font-size: 16px;
		color: #282828;
		font-weight: 500;
	}
	.book form .size:before{
		top: 15px;
		left: 8px;
	}
	.book form .name:after{
		content: "*";
		position: absolute;
		top: 15px;
		left: 65px;
		font-size: 16px;
		color: #219c85;
		font-weight: 500;
	}
	.book form .mail:after{
		content: "*";
		position: absolute;
		top: 15px;
		left: 128px;
		font-size: 16px;
		color: #219c85;
		font-weight: 500;
	}
	.book form .tel:after{
		content: "*";
		position: absolute;
		top: 15px;
		left: 80px;
		font-size: 16px;
		color: #219c85;
		font-weight: 500;
	}
	.book form .message:after{
		content: "*";
		position: absolute;
		top: 15px;
		left: 98px;
		font-size: 16px;
		color: #219c85;
		font-weight: 500;
	}
	.book .info_scroll {
		width: 95%;
	}
	.book .submit button{
		position: relative;
		display: inline-block;
		width: 49%;
		vertical-align: top;
	}
	.book .submit button.mfp_element_reset{
		margin-right: 2%;
	}
	/*//////////////////*/

	/* Footer
	------------------------------ */
	footer{
		width: 100%;
		padding-top: 80px;
		height: 320px;
		background-position: top 0% left 15%;
	}
	footer .footertitle h2{
		font-weight: bold;
	}
	footer ul{
		display: none;
	}
	footer .linklist{
		letter-spacing: -.4em;
		line-height: 0;
		text-align: center;
		margin-bottom: 80px;
	}
	footer .linklist li{
		display: block;
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	footer .linklist li:last-child{
		margin: 20px auto 0;
	}
	#footer_logo{
		margin: 0 auto 10px;
	}
	footer .reservation_box{
		margin: 0 auto 10px;
	}
	footer .ggmap{
		padding: 5%;
		margin: 20px auto 50px;
	}
	footer .footerinfo p span {
		font-weight: 600;
	}
	.footer_menu{
		display: none;
	}
	#copyright{
		height: auto;
		line-height: 1.7em;
		padding: 20px 0 120px;
	}

	/* page top */
	.pagetop {
		bottom: 12px;
		right: 12px;
	}

	/* 200302 N追記ここから */
	.book form#mailformpro .form_top dt,
	.book form#mailformpro #reservation_bottom dl dt{
		position: relative;
		width: auto;
		left: 0;
	}
	.book form#mailformpro .form_top dd{
		padding: 5px 15px;
	}
	.book form#mailformpro .form_top dd,
	.book form#mailformpro #reservation_bottom dl dd{
		padding-left: 15px;
	}
	.book form#mailformpro #reservation_bottom .float .fl_l,
	.book form#mailformpro #reservation_bottom .float .fl_r{
		width: 100%;
	}
	.book form#mailformpro #reservation_bottom .float .fl_r{
		height: 380px;
		margin-top: 20px;
		overflow-x: scroll;
		overflow-y: visible;
	}
	.book form#mailformpro #reservation_bottom .float .fl_r::-webkit-scrollbar{
		height: 6px;
	}
	.book form#mailformpro #reservation_bottom .float .fl_r::-webkit-scrollbar-track{
		background: #eee;
		border: none;
		border-radius: 6px;
	}
	.book form#mailformpro #reservation_bottom .float .fl_r::-webkit-scrollbar-thumb{
		background: #219c85;
		border-radius: 6px;
		box-shadow: none;
	}
	.book form#mailformpro #reservation_bottom .float .fl_r iframe{
		/*width: 100%!important;*/
		height: 350px!important;
	}
	.book form#mailformpro select{
		width: 100%;
		font-size: 100%;
	}

	/* thanks */
	.titlebox{
		height: 0;
		padding-bottom: 30%;
		background-position: right center;
		margin-top: 50px;
	}
	#thanks{
		text-align: center;
		padding-bottom: 100px;
	}
	#thanks .title{
		margin-top: 40px;
	}
	#thanks .title h2{
		line-height: 1.4;
		padding: 10px 5% 0;
	}
	#thanks .title h2 span{
		padding-top: 10px;
	}
	#thanks .btn a{
		width: 260px;
		height: 60px;
		line-height: 60px;
		padding: 0;
		margin: 50px auto 0;
	}
	/* //thanks */
	/* 200302 追記ここまで */
}
