@charset 'utf-8';
/* ===================================================================
CSS Document

 file name  :common.css
 style info :reset / utility / common module
=================================================================== */



/*---------------------------------------------
	Browser Default Initialization
---------------------------------------------*/
html {
	overflow-y: scroll;
}

body,
div,
dl,
dt,
dd,
ul,
ul li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
section,
nav,
article,
aside,
hgroup,
header,
address,
figure,
figcaption {
	margin: 0;
	padding: 0;
	line-height: 160%;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;
	font-weight: normal;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption,
th {
	text-align: left;
}

q:before,
q:after {
	content: '';
}

object,
embed {
	vertical-align: top;
}

hr,
legend {
	display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: normal;
}

img,
abbr,
acronym,
fieldset {
	border: 0;
}

img {
	vertical-align: top;
	-ms-interpolation-mode: bicubic;
}

ul li {
	list-style-type: none;
}

a,
button,
input,
textarea {
	outline: none;
}

/** fade使用時のズレ対策（FF）**/
img {
	box-shadow: #000 0 0 0;
}

img,
x:-moz-any-link,
x:default {
	box-shadow: #000 0 0 0;
}

a {
	color: #333;
	text-decoration: none;
}

/*---------------------------------------------
	FontSize Initialization
---------------------------------------------*/

body {
	font: 100%/1.231 "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
	letter-spacing: -.001em;
	/* iOS4でのテキストの隙間への対応 */
	-webkit-text-size-adjust: 100%;
	/* 文字サイズの自動調整機能のキャンセル */
}

select,
input,
button,
textarea {
	font: 99% "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
}

table {
	font: 100%;
	font-size: inherit;
}

pre,
code,
kbd,
samp,
tt {
	font-family: "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
	line-height: 100%;
	*font-size: 108%;
}

/*---------------------------------------------
	Utility
---------------------------------------------*/
.cf:after,
.row:after,
#contact dl dd:after {
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	content: ' ';
}

/*---------------------------------------------
 Uniq Style
---------------------------------------------*/
#wrap {
	font-size: 85%;
	/* 13px相当 */
	color: #333;
	letter-spacing: 0.03em;
}


/* --------------------------------------------------------------------

   COMMON SIZE

---------------------------------------------------------------------*/
/* Mailform Pro */
#mfp_phase_stat,
#mfp_hidden {
	display: none;
}

/* Radio Button */
.iradio_square-red {
	display: inline-block;
	margin: 0;
	padding: 0;
	width: 22px;
	height: 22px;
	background: url(../img/checkbox_off.png) no-repeat;
	background-size: 14px;
	border: none;
	cursor: pointer;
	top: 10px;
	left: 8px;
}

.iradio_square-red.checked {
	background: url(../img/checkbox_on.png) no-repeat;
	background-size: 14px;
}

/* SelectBox */
span.ctSelect {
	font-size: 14px;
	line-height: 36px;
	height: 39px;
	width: 234px;
	padding: 0 0 0 10px;
	background: url(../img/selectbox_bg.png) no-repeat 0 0;
}





/* --------------------------------------------------------------------

   Under 768

---------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
	#wrap {
		width: 100%;
		overflow: hidden;
	}

	img {
		max-width: 100%;
		height: auto;
	}

	.ie8 img {
		width: auto;
	}

	/*-----------------------------------
			 HEADER
	-----------------------------------*/
	#header {
		display: table;
		width: 95%;
		margin: 0 auto;
	}

	#header h1 {
		display: table-cell;
		width: 188px;
		padding: 20px 0 0 0;
		vertical-align: top;
	}

	#header h2 {
		display: none;
	}

	#header ul {
		display: table-cell;
		width: 119px;
		vertical-align: top;
	}

	#header ul li a {
		font-size: 93%;
		font-weight: 500;
		line-height: 1.35;
		display: block;
		width: 100px;
		letter-spacing: -.05em;
		word-break: break-all;
	}

	#header ul li:first-child a {
		position: relative;
		margin: 0 0 15px 0;
		padding: 7px 10px;
		text-align: center;
		background-color: rgba(51, 51, 51, .1);
	}

	#header ul li:first-child a img {
		position: absolute;
		top: 50%;
		right: 10px;
		margin: -5px 0 0 0;
	}

	#header ul li:last-child a {
		width: 102px;
		padding: 13px 3px 12px 9px;
		border: #d9d9d9 3px solid;
		background: #fff url(../img/head_profile_arrow.png) no-repeat 96px center;
	}

	/*-----------------------------------
			 MAIN VISUAL
	-----------------------------------*/
	#main {
		width: 100%;
		margin: 27px 0 0 0;
		background: url(../img/main_bg.jpg) no-repeat center 0;
	}

	#mainInr {
		position: relative;
	}

	#main p {
		position: absolute;
		right: 2%;
		bottom: -6.5%;
		display: inline;
		width: 40%;
	}

	/*-----------------------------------
			 CONTENT
	-----------------------------------*/
	#content {
		width: 100%;
	}

	/*-----------------------------------
			 FEATURE
	-----------------------------------*/
	#feature {
		margin: 10% auto 0 auto;
	}

	#feature img {
		width: 100%;
	}

	#feature h3 {
		font-size: 153.9%;
		font-weight: bold;
		line-height: 1.65;
		letter-spacing: 0.04em;
		width: 92%;
		margin: 0 auto 23px auto;
		text-align: center;
	}

	#feature h3 br {
		/* display: none; */
	}

	#feature p {
		font-size: 100%;
		font-weight: 200;
		line-height: 1.9;
		width: 92%;
		margin: 0 auto;
	}

	#feature .desc {
		line-height: 2.15;
	}

	#feature .desc:last-of-type {
		margin-bottom: 60px;
	}

	#feature .row .col {
		position: relative;
		width: 94%;
		margin: 0 auto 10.5% auto;
		padding: 13.5% 0 3% 0;
		background: url(../img/feature_top_bg_sp.png) no-repeat 0 0;
		background-size: 100%;
	}

	#feature .row .col:before {
		position: absolute;
		z-index: 10;
		top: -3.8%;
		left: 3%;
		width: 17%;
		min-width: 52px;
		max-width: 82px;
		height: 20px;
		padding: 0 0 17% 0;
		content: '';
		background: url(../img/feature01_num.png) no-repeat 0 0;
		background-size: contain;
	}

	#feature .row .col02:before {
		top: -4%;
		background: url(../img/feature02_num.png) no-repeat 0 0;
		background-size: contain;
	}

	#feature .row .col03:before {
		top: -5.5%;
		background: url(../img/feature03_num.png) no-repeat 0 0;
		background-size: contain;
	}

	#feature .row .col04:before {
		top: -6%;
		background: url(../img/feature04_num.png) no-repeat 0 0;
		background-size: contain;
	}

	#feature .row .col05:before {
		top: -4.5%;
		background: url(../img/feature05_num.png) no-repeat 0 0;
		background-size: contain;
	}

	#feature .row .col06:before {
		top: -5%;
		background: url(../img/feature06_num.png) no-repeat 0 0;
		background-size: contain;
	}

	#feature .row .col:after {
		position: absolute;
		z-index: 0;
		bottom: -19px;
		left: 0;
		width: 100%;
		height: 30px;
		content: '';
		background: url(../img/feature_btm_bg_sp.png) no-repeat 0 0;
		background-size: 100%;
	}

	#feature .row .colInr {
		width: 400px;
		margin: 30px;
		padding: 40px 0 0 0;
		background: url(https://www.anshin-implant.jp/chinese/img/feature_inr_bg.png) repeat 0 0;
	}

	#feature .row .col h4 {
		font-size: 146.5%;
		font-weight: bold;
		line-height: 1.3;
		display: table;
		width: 85%;
		margin: -2% auto 16px auto;
		text-align: center;
		color: #57ae1d;
	}

	#feature .row .col01 h4,
	#feature .row .col04 h4,
	#feature .row .col05 h4,
	#feature .row .col06 h4 {
		width: 82%;
	}

	#feature .row .col h4 span {
		display: table-cell;
		vertical-align: bottom;
	}

	#feature .row .col p {
		width: 86%;
		margin: 0 auto;
	}

	#feature .row .col p:last-of-type {
		margin: 0 auto 25px auto;
	}

	#feature .row .col p img {
		margin-bottom: 12px;
	}

	/*-----------------------------------
			 CONTACT
	-----------------------------------*/
	#contact {
		margin: -6% 0 0 0;
	}

	#contact .ttl {
		position: relative;
		z-index: 200;
		width: 90%;
		margin: 0 auto 0 auto;
		padding: 35px 0 0 0;
		background: #fff;
	}

	#contact .ttl h3,
	#contact .ttl p {
		width: 94%;
		margin: 0 auto;
		text-align: center;
	}

	#contact .ttl h3 {
		margin-bottom: 16px;
	}

	#contact .ttl p {
		font-weight: 200;
		line-height: 1.5;
	}

	#contact h3 {
		font-size: 153.9%;
		font-weight: bold;
		line-height: 1.5;
	}

	#contact h3 span {
		color: #ebb24e;
	}

	#contact #formBg {
		width: 100%;
		margin: 30px 0 0 0;
		background: #f6f1de;
	}

	#contact .formBgInr {
		position: relative;
		width: 94%;
		margin: 0 auto;
		padding: 30px 0 0 0;
	}

	#contact .formBgInr:before {
		position: absolute;
		z-index: 100;
		top: 0;
		left: 50%;
		width: 50px;
		height: 50px;
		margin: -29px 0 0 -30px;
		content: '';
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		background: #fff;
	}

	#contact dl {
		width: 100%;
		padding: 20px 0;
		border-bottom: #dccbad 1px solid;
	}

	#contact dl:last-of-type {
		border: none;
	}

	#contact dl.dlEmail {
		margin-bottom: -25px;
		border-bottom: none;
	}

	#contact dl dt {
		font-weight: bold;
		margin: 0 0 10px 0;
	}

	#contact dl dt span {
		font-size: 88%;
		line-height: 1.3;
		display: inline-block;
		margin: 0 0 0 10px;
		padding: 1px 10px 1px 10px;
		color: #fff;
		background: #e59914;
	}

	#contact dl dd {
		display: block;
	}

	#contact dl.dlBirth dd {
		font-weight: 500;
	}

	#contact dl.dlAddress dt {
		margin: 0 0 18px 0;
	}

	#contact dl.dlAddress label {
		display: block;
		margin: 16px 0 0 0;
	}

	#contact dl.dlAddress label:first-of-type {
		margin: 0;
	}

	#contact .dlAddress label:last-of-type div.mfp_err {
		margin: -12px 0 15px 0;
	}

	#contact dl.dlAddress dd span {
		display: inline-block;
	}

	#contact dl.dlAddress div.selectFrame {
		margin: -29px 0 0 85px;
		padding: 0 0 10px 0;
	}

	#contact dl.dlAddress .easy-select-box {
		margin: -33px 0 0 85px;
	}

	#contact dl.dlAddress label input {
		margin: 4px 0 0 0;
	}

	#contact dl.dlGender label,
	#contact dl.dlSpeak label {
		position: relative;
		display: block;
		float: left;
		width: 16%;
		min-width: 70px;
		margin-right: 18px;
		padding: 6px 13px 6px 25px;
		text-align: center;
		background: #f0e2a5;
	}

	#contact dl.dlSpeak label:last-of-type {
		margin: 0;
	}

	#contact dl.dlSpeak label last-of-type {
		padding: 6px 0 6px 0;
	}

	#contact dl.dlGender label input,
	#contact dl.dlSpeak label input {
		position: absolute;
		top: 29%;
		left: 8px;
	}

	#contact select {
		width: 141px !important;
		height: 36px !important;
	}

	#contact input {
		padding: 6px 1.2%;
		border: none;
		border-radius: 0;
		margin: 2px 0 0 0;
	}

	#contact input:focus {
		outline: none;
	}

	/* Name , Email */
	#contact .txt.name,
	#contact .txt.email {
		width: 97.6%;
	}

	/* Date of birth */
	#contact .txt.birth {
		width: 7%;
		min-width: 38px;
		margin-right: 10px;
		margin-left: 10px;
	}

	#contact .txt.birth.year {
		margin-left: 0;
	}

	/* Address */
	#contact .txt.address {
		width: 97%;
	}

	#contact .txt.address:first-of-type {
		margin: 4px 0 13px 0;
	}

	#contact .txt.post {
		width: 13%;
		min-width: 60px;
		margin: 0 3px;
	}

	#contact .txt.post.post01 {
		margin-left: 0;
	}

	#contact textarea {
		width: 97.6% !important;
		height: 100px !important;
		padding: 1.2%;
		border: none;
		border-radius: 0;
	}

	/* Submit Button */
	#contact ul {
		width: 100%;
		margin: 35px auto 60px auto;
		text-align: center;
	}

	#contact ul li {
		display: inline-block;
		margin: 0 30px;
	}

	#contact ul button {
		font-size: 116%;
		font-weight: 500;
		width: 190px;
		padding: 18px 15px;
		cursor: pointer;
		color: #fff;
		border: none;
	}

	#contact ul li:first-child button {
		background: #f5d6a1;
		-webkit-transition: all .5s ease;
		-moz-transition: all .5s ease;
		-ms-transition: all .5s ease;
		-o-transition: all .5s ease;
		transition: all .5s ease;
		background: #FFF;
		border: #E59914 3px solid;
		color: #E59914;
	}

	#contact ul li:first-child button:hover {
		opacity: 0.7;
	}

	#contact ul li:last-child input {
		-webkit-transition: all .5s ease;
		-moz-transition: all .5s ease;
		-ms-transition: all .5s ease;
		-o-transition: all .5s ease;
		transition: all .5s ease;
		background-color: rgba(229, 153, 20, 1);
		border: #E59914 3px solid;
	}

	#contact ul li:last-child input:hover {
		background-color: rgba(229, 153, 20, .8);
		border: #E9AC42 3px solid;
	}

	/* red */
	.iradio_square-red {
		position: absolute !important;
		top: 10px;
		left: 7px;
	}

	/*-----------------------------------
			 PROFILE
	-----------------------------------*/
	#profile {
		width: 100%;
	}

	#profile h3 {
		font-size: 123.1%;
		font-weight: 500;
		margin-bottom: 10px;
		padding: 8px 12px;
		text-align: center;
		color: #fff;
		background: #333;
	}

	#profile dl {
		width: 100%;
		padding: 10px 0;
		font-size: 93%;
	}

	#profile dl:nth-of-type(even) {
		background: #f2f2f2;
	}

	#profile dl dt {
		width: 170px;
		margin: 0 0 4px 20px;
	}

	#profile dl dt:before {
		position: relative;
		left: -5px;
		content: '◆';
		color: #57ae1d;
	}

	#profile dl dd {
		font-weight: bold;
		display: table;
		overflow: hidden;
		padding: 0 20px 0 34px;
	}

	#profile dl dd .list {
		display: table-cell;
		margin-left: 1em;
		text-indent: -1em;
	}

	#profile dl dd .list:first-of-type {
		width: 32%;
		min-width: 130px;
		padding: 0 35px 0 0;
	}

	#profile dl dd .list span {
		display: block;
		margin-left: 1em;
		text-indent: -1em;
	}

	/*-----------------------------------
			 PAGE TOP
	-----------------------------------*/
	#pagetop {
		margin: 55px auto 35px auto;
		text-align: center;
	}

	#pagetop a {
		font-size: 93%;
		font-weight: 600;
		display: inline-block;
		padding: 20px 0 0 0;
		background: url(../img/pagetop_arrow.png) no-repeat center 0;
	}

	/*-----------------------------------
			 FOOTER
	-----------------------------------*/
	#footer {
		width: 100%;
		background: #57ae1d url(../img/foot_bg.png) repeat-x 0 0;
	}

	#footer p {
		margin: 0 auto;
		padding: 17px 0 15px 0;
		text-align: center;
		color: #fff;
		letter-spacing: -0.03em;
	}
}





/* --------------------------------------------------------------------

   769以上

---------------------------------------------------------------------*/
@media screen and (min-width: 769px) {

	/*-----------------------------------
				 HEADER
	-----------------------------------*/
	#header {
		display: table;
		width: 960px;
		margin: 0 auto;
	}

	#headInr {
		width: 840px;
		margin: 0 auto;
	}

	#header h1 {
		display: table-cell;
		width: 188px;
		padding: 20px 0 0 0;
		vertical-align: top;
	}

	#header h2 {
		font-size: 93%;
		font-weight: 400;
		line-height: 1.45;
		display: table-cell;
		padding: 31px 30px 0 0;
		vertical-align: top;
	}

	/* for Noto-Sans */
	.ie #header h2 {
		padding: 30px 30px 0 0;
	}

	#header ul {
		display: table-cell;
		width: 119px;
		vertical-align: top;
	}

	#header ul li a {
		font-size: 85%;
		font-weight: 500;
		line-height: 1.35;
		display: block;
		width: 100px;
		word-break: break-all;
	}

	/* for Noto-Sans */
	.ie #header ul li a {
		padding-top: 9px !important;
		padding-bottom: 3px !important;
	}

	#header ul li:first-child a {
		position: relative;
		margin: 0 0 15px 0;
		padding: 6px 10px;
		-webkit-transition: background-color .5s ease;
		-moz-transition: background-color .5s ease;
		-ms-transition: background-color .5s ease;
		-o-transition: background-color .5s ease;
		transition: background-color .5s ease;
		text-align: center;
		background-color: rgba(51, 51, 51, .1);
	}

	/* for Noto-Sans */
	.ie #header ul li:first-child a {
		padding: 10px 10px 6px 10px;
		height: 18px;
	}

	#header ul li:first-child a:hover {
		background-color: rgba(51, 51, 51, .3);
	}

	#header ul li:first-child a img {
		position: absolute;
		top: 50%;
		right: 10px;
		margin: -5px 0 0 0;
	}

	#header ul li:last-child a {
		width: 102px;
		padding: 12px 0px 11px 12px;
		-webkit-transition: border .5s ease;
		-moz-transition: border .5s ease;
		-ms-transition: border .5s ease;
		-o-transition: border .5s ease;
		transition: border .5s ease;
		border: #d9d9d9 3px solid;
		background: #fff url(../img/head_profile_arrow.png) no-repeat 96px center;
	}

	/* for Noto-Sans */
	.ie #header ul li:last-child a {
		height: 28px;
		line-height: 23px;
	}

	#header ul li:last-child a:hover {
		border: #aaa 3px solid;
	}

	/*-----------------------------------
			 MAIN VISUAL
	-----------------------------------*/
	#main {
		width: 100%;
		min-width: 960px;
		max-height: 600px;
		margin: 23px 0 0 0;
		background: url(../img/main_bg.jpg) no-repeat center 0;
	}

	#mainInr {
		position: relative;
		width: 960px;
		margin: 0 auto;
	}

	#main p {
		position: absolute;
		right: 0;
		bottom: -35px;
		display: inline;
	}

	/*-----------------------------------
			 CONTENT
	-----------------------------------*/
	#content {
		width: 100%;
	}

	/*-----------------------------------
			 FEATURE
	-----------------------------------*/
	#feature {
		width: 960px;
		margin: 78px auto 0 auto;
	}

	#feature h3 {
		font-size: 223%;
		font-weight: 500;
		line-height: 1.3;
		margin: 0 0 23px 0;
	}

	#feature h3 br {
		display: none;
	}

	#feature p {
		font-weight: 200;
		line-height: 1.8;
	}

	#feature .desc {
		line-height: 2;
		font-size: 108%;
	}

	#feature .desc:last-of-type {
		margin-bottom: 60px;
	}

	#feature .row {
		margin-bottom: 40px;
		background: url(../img/feature_top_bg.png) no-repeat 0 0;
		position: relative;
	}

	#feature .row:before {
		position: absolute;
		bottom: -12px;
		display: block;
		width: 100%;
		height: 38px;
		content: '';
		background: url(../img/feature_btm_bg.png) no-repeat 0 0;
	}

	#feature .row .col {
		position: relative;
		float: left;
		width: 460px;
		padding: 90px 0 10px 0;
	}

	#feature .row .col01 {
		min-height: 435px;
	}

	#feature .row .col03 {
		min-height: 365px;
	}

	#feature .row .col05 {
		min-height: 420px;
	}

	#feature .row .col:before {
		position: absolute;
		top: -20px;
		left: 18px;
		width: 82px;
		height: 82px;
		content: '';
		background: url(../img/feature01_num.png) no-repeat 0 0;
	}

	#feature .row .col02:before {
		background: url(../img/feature02_num.png) no-repeat 0 0;
	}

	#feature .row .col03:before {
		background: url(../img/feature03_num.png) no-repeat 0 0;
	}

	#feature .row .col04:before {
		background: url(../img/feature04_num.png) no-repeat 0 0;
	}

	#feature .row .col05:before {
		background: url(../img/feature05_num.png) no-repeat 0 0;
	}

	#feature .row .col06:before {
		background: url(../img/feature06_num.png) no-repeat 0 0;
	}

	#feature .row .colInr {
		width: 400px;
		margin: 30px;
		padding: 40px 0 0 0;
		background: url(https://www.anshin-implant.jp/chinese/img/feature_inr_bg.png) repeat 0 0;
	}

	#feature .row .col:nth-of-type(even) {
		float: right;
	}

	#feature .row .col h4,
	#feature .row .col p {
		position: relative;
		top: -20px;
	}

	#feature .row .col h4 {
		font-size: 161.5%;
		font-weight: 500;
		line-height: 1.3;
		display: table;
		width: 360px;
		height: 56px;
		margin: 0 auto 10px auto;
		text-align: center;
		letter-spacing: -.01em;
		color: #57ae1d;
	}

	#feature .row .col h4 span {
		display: table-cell;
		vertical-align: middle;
	}

	#feature .row .col p {
		width: 360px;
		margin: 0 auto;
	}

	#feature .row .col p:last-of-type {
		margin: 0 auto 15px auto;
	}

	#feature .row .col p img {
		margin-bottom: 12px;
	}

	/*-----------------------------------
			 CONTACT
	-----------------------------------*/
	#contact {}

	#contact .ttl {
		position: relative;
		z-index: 200;
		width: 960px;
		margin: 60px auto 0 auto;
		background: #fff;
	}

	#contact .ttl h3,
	#contact .ttl p {
		width: 94%;
		margin: 0 auto;
		text-align: center;
	}

	#contact .ttl h3 {
		margin-bottom: 16px;
	}

	#contact .ttl p {
		font-weight: 200;
	}

	#contact h3 {
		font-size: 191%;
		font-weight: 500;
		line-height: 1.5;
	}

	#contact h3 span {
		color: #ebb24e;
	}

	#contact #formBg {
		width: 100%;
		min-width: 960px;
		margin: 30px 0 0 0;
		background: #f6f1de;
	}

	#contact .formBgInr {
		position: relative;
		width: 960px;
		margin: 0 auto;
		padding: 60px 0 0 0;
	}

	#contact .formBgInr:before {
		position: absolute;
		z-index: 100;
		top: 0;
		left: 50%;
		width: 60px;
		height: 60px;
		margin: -29px 0 0 -30px;
		content: '';
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: rotate(-45deg);
		background: #fff;
	}

	#contact dl {
		display: table;
		width: 100%;
		padding: 20px 0;

		border-bottom: #dccbad 1px solid;
	}

	#contact dl:last-of-type {
		border: none;
	}

	#contact dl.dlEmail {
		border-bottom: #dccbad 1px dashed;
	}

	#contact dl dt {
		font-weight: bold;
		display: table-cell;
		width: 328px;
		vertical-align: middle;
	}

	#contact dl dt span {
		font-size: 88%;
		line-height: 1.3;
		display: inline-block;
		margin: 0 0 0 10px;
		padding: 1.5px 10px 0 10px;
		color: #fff;
		background: #e59914;
		position: relative;
		top: -1px;
	}

	/* for Noto-Sans */
	.ie #contact dl dt span {
		padding: 4px 10px 2px 10px;
		line-height: 1;
	}

	#contact dl dd {
		display: table-cell;
	}

	#contact dl.dlBirth dd {
		font-size: 110%;
		font-weight: 500;
	}

	#contact dl.dlAddress {
		padding: 27px 0 20px 0;
	}

	/* for Noto-Sans */
	.ie #contact dl.dlAddress dt span {
		margin: 0 0 0 8px;
	}

	#contact dl.dlAddress dd {
		font-weight: 200;
	}

	#contact dl.dlAddress label {
		display: block;
		margin: 16px 0 0 0;
	}

	#contact dl.dlAddress label:first-of-type {
		margin: 0;
	}

	#contact .dlAddress label:last-of-type div.mfp_err {
		margin: -13px 0 15px 0;
	}

	#contact dl.dlAddress .selectFrame {
		margin: -30px 0 0 85px;
		padding: 0 0 12px 0;
	}

	#contact dl.dlAddress dd span {
		display: block;
	}

	/* for Noto-Sans */
	.ie #contact dl.dlAddress dd span {
		margin: 0 0 0 0;
	}

	/* for Noto-Sans */
	.ie #contact dl.dlAddress span {
		display: inline-block;
		margin: 16px 0 0 0;
	}

	#contact dl.dlAddress .easy-select-box {
		margin: -33px 0 0 85px;
	}

	#contact dl.dlAddress label input {
		margin: 4px 0 0 0;
	}

	#contact dl.dlGender label,
	#contact dl.dlSpeak label {
		display: block;
		float: left;
		width: 85px;
		padding: 0 20px 0 0px;
		position: relative;
	}

	/* for Noto-Sans */
	.ie #contact dl.dlGender label input,
	.ie #contact dl.dlSpeak label input {
		margin: 0 0 0 0;
	}

	#contact dl.dlGender label input,
	#contact dl.dlSpeak label input {
		position: relative;
		top: 2px;
		margin: 0 7px 0 0;
		vertical-align: baseline;
	}

	#contact select {
		width: 144px !important;
		height: 36px !important;
		font-weight: 200;
	}

	#contact input {
		padding: 7px;
		border: none;
	}

	/* for Noto-Sans */
	.ie #contact input {
		padding: 5px 7px 9px 7px;
		line-height: 26px;
	}

	#contact input:focus {
		outline: none;
	}

	/* Name , Email */
	#contact .txt.name,
	#contact .txt.email {
		width: 302px;
	}

	/* Date of birth */
	#contact .txt.birth {
		width: 42px;
		margin-right: 10px;
		margin-left: 17px;
	}

	#contact .txt.birth.year {
		margin-left: 0;
	}

	/* Address */
	#contact .txt.address {
		width: 598px;
		margin: 5px 0 0 0;
	}

	#contact .txt.address:first-of-type {
		margin: 7px 12px 14px 0;
	}

	#contact .txt.post {
		width: 82px;
		margin: 0 3px;
	}

	#contact .txt.post.post01 {
		margin-left: 0;
	}

	#contact textarea {
		width: 598px !important;
		height: 140px !important;
		padding: 9px;
		border: none;
	}

	/* Submit Button */
	#contact ul {
		width: 960px;
		margin: 35px auto 60px auto;
		text-align: center;
	}

	#contact ul li {
		display: inline-block;
		margin: 0 30px;
	}

	#contact input.c-button-submit,
	#contact ul button {
		font-size: 123.1%;
		font-weight: 500;
		width: 190px;
		padding: 13px 15px;
		cursor: pointer;
		color: #fff;
		border: none;
	}

	/* for Noto-Sans */
	.ie #contact ul button {
		padding: 21px 15px 15px 15px;
	}

	#contact ul li:first-child button {
		background: #f5d6a1;
		-webkit-transition: all .5s ease;
		-moz-transition: all .5s ease;
		-ms-transition: all .5s ease;
		-o-transition: all .5s ease;
		transition: all .5s ease;
		background: #FFF;
		border: #E59914 3px solid;
		color: #E59914;
	}

	#contact ul li:first-child button:hover {
		opacity: 0.7;
	}

	#contact ul li:last-child input {
		-webkit-transition: all .5s ease;
		-moz-transition: all .5s ease;
		-ms-transition: all .5s ease;
		-o-transition: all .5s ease;
		transition: all .5s ease;
		background-color: rgba(229, 153, 20, 1);
		border: #E59914 3px solid;
	}

	#contact ul li:last-child input:hover {
		background-color: rgba(229, 153, 20, .8);
		border: #E9AC42 3px solid;
	}

	/* red */
	.iradio_square-red {
		position: relative !important;
		top: 10px;
		left: 0px;
	}

	/*-----------------------------------
			 PROFILE
	-----------------------------------*/
	#profile {
		width: 960px;
		margin: 0 auto;
	}

	#profile h3 {
		font-size: 131%;
		font-weight: 500;
		margin-bottom: 10px;
		padding: 10px 16px;
		color: #fff;
		background: #333;
	}

	#profile dl {
		display: table;
		width: 100%;
		padding: 8px 0;
		font-size: 93%;
	}

	#profile dl:nth-of-type(even) {
		background: #f2f2f2;
	}

	#profile dl dt {
		display: table-cell;
		width: 165px;
		padding: 0 0 0 20px;
		vertical-align: top;
	}

	#profile dl dt:before {
		position: relative;
		left: -5px;
		content: '◆';
		color: #57ae1d;
	}

	#profile dl dd {
		font-weight: bold;
		display: table-cell;
		padding: 0 20px 0 0;
		vertical-align: top;
		letter-spacing: -0.01em;
	}

	#profile dl dd .list {
		float: left;
	}

	#profile dl dd .list:first-of-type {
		width: 120px;
		margin: 0 35px 0 0;
	}

	#profile dl dd .list:last-of-type {
		width: 520px;
	}

	#profile dl dd .list span {
		display: block;
		margin-left: 1em;
		text-indent: -1em;
	}

	/*-----------------------------------
			 PAGE TOP
	-----------------------------------*/
	#pagetop {
		width: 960px;
		margin: 55px auto 35px auto;
		text-align: center;
	}

	#pagetop a {
		font-size: 93%;
		font-weight: 600;
		display: inline-block;
		padding: 20px 0 0 0;
		-webkit-transition: color .4s ease;
		-moz-transition: color .4s ease;
		-ms-transition: color .4s ease;
		-o-transition: color .4s ease;
		transition: color .5s ease;
		background: url(../img/pagetop_arrow.png) no-repeat center 0;
	}

	#pagetop a:hover {
		color: #888;
	}

	/*-----------------------------------
			 FOOTER
	-----------------------------------*/
	#footer {
		width: 100%;
		min-width: 960px;
		background: #57ae1d url(../img/foot_bg.png) repeat-x 0 0;
	}

	#footer p {
		width: 960px;
		margin: 0 auto;
		padding: 23px 0 21px 0;
		text-align: center;
		color: #fff;
		font-size: 108%;
		letter-spacing: -0.01em;
	}
}






/* --------------------------------------------------------------------

   250 - 450

---------------------------------------------------------------------*/
@media screen and (min-width: 250px) and (max-width: 450px) {

	/*-----------------------------------
			 HEADER
	-----------------------------------*/
	#header h1 img {
		max-width: 140px;
	}

	/*-----------------------------------
			 FEATRE
	-----------------------------------*/
	#feature .row .col {
		margin: 0 auto 14% auto;
	}
}




/* --------------------------------------------------------------------

   over 600

---------------------------------------------------------------------*/
@media screen and (max-width: 600px) {

	/*-----------------------------------
			 HEADER
	-----------------------------------*/
	#header ul {
		width: 86px;
	}

	#header ul li a {
		font-size: 80%;
		width: 86px !important;
	}

	#header ul li:first-child a {
		margin-bottom: 10px;
	}

	#header ul li:last-child a {
		padding: 13px 7px;
		background: #FFF url(../img/head_profile_arrow.png) no-repeat 82px center;
	}

	/*-----------------------------------
			 FEATURE
	-----------------------------------*/
	#feature h3 {
		font-size: 146.5%;
		line-height: 1.4;
		width: 92%;
		margin: 0 auto 23px auto;
	}

	#feature h3 br {
		display: none;
	}

	#feature .row .col h4 {
		font-size: 138.5%;
	}

	/*-----------------------------------
			 CONTACT
	-----------------------------------*/
	#contact .ttl h3 {
		font-size: 146.5%;
		line-height: 1.4;
	}

	#contact .ttl h3 br {
		display: none;
	}

	#contact dl.dlGender label,
	#contact dl.dlSpeak label {
		padding: 8px 2% 8px 6%;
		margin-right: 9px;
	}

	#contact ul {
		width: 100%;
		margin: 35px auto 60px auto;
		text-align: center;
	}

	#contact ul li {
		display: inline-block;
		width: 35%;
		margin: 0 2%;
	}

	#contact input.c-button-submit,
	#contact ul button {
		width: auto;
		padding: 6% 23%;
	}

	/* red */
	.iradio_square-red {
		position: absolute !important;
		top: 11px;
		left: 8px;
	}

	/*-----------------------------------
		 PROFILE
	-----------------------------------*/
	#profile dl dd .list {
		display: block;
		width: 100%;
		margin: 0;
	}
}

/*-----------------------------------
		 Form
	-----------------------------------*/
.wpcf7-form-control-wrap {
	display: flex;
	flex-direction: column;
}

.hidden-input {
	display: none;
}

.wpcf7-form-control-wrap {
	display: flex;
	flex-direction: column;
}

/* 生年月日 */
#contact .txt.birth {
	margin-inline: 0;
}

#contact dl.dlBirth dd {
	display: grid;
	grid-template-columns: repeat(3, 100px);
	grid-gap: 10px;
}

#contact dl.dlBirth dd .birth-item {
	display: flex;
}

#contact dl.dlBirth dd input.txt.birth {
	width: 65px;
}

#contact dl.dlBirth dd .birth-unit {
	padding-top: 5px;
	padding-left: 8px;
}

/* 電話番号 */
#contact dl.dlPhone dd {
	display: grid;
	grid-template-columns: repeat(3, 95px);
	grid-gap: 20px;
}

@media screen and (max-width: 768px) {
	#contact dl.dlPhone dd {
		grid-template-columns: repeat(3, 65px);
	}
}

.dlPhone dd .phone-item {
	position: relative;
}

.dlPhone dd .phone-item:not(:first-child)::before {
	content: '-';
	font-size: 14px;

	position: absolute;
	top: 5px;
	left: -9px;
}

/* ラジオ */
@media screen and (max-width: 768px) {

	#contact dl.dlGender label,
	#contact dl.dlSpeak label {
		padding-left: 16px;
	}
}

/* エラーメッセージ */
.wpcf7-not-valid-tip {
	margin-top: 2px;
}

.wpcf7-not-valid-tip,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
	border: none;
	color: #f30;
	font-size: 12px;
	font-weight: 700;
}

.wpcf7-response-output,
.screen-reader-response {
	display: none;
}

.wpcf7-list-item {
	display: inline-block;
	margin-left: 1em;
}