@charset "utf-8";

/*=======================================================

	YGC Japan CSS 1.0
	ATHR : 9KNOT.
	DATE : 2020/3
	FILE : style.css
    ----------------------------
	Logo COLOR	: #00216C	(logo)
	BASE COLOR	: #000000	(menu)
	LINK COLOR  : #00468C	(hover)

=========================================================


/*-------------------------------------
	reset
-------------------------------------*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video { margin:0; padding:0; border:0; outline:0; vertical-align:baseline; background:transparent; }

input{ vertical-align : middle ;}

select { margin: 0; }



/*-------------------------------------
	アピアランス
-------------------------------------*/

abbr, acronym { border:0 none; }
q::before, q::after { content:""; }
img { border:0 none; vertical-align:bottom; }
object { outline:none; }
table { border-spacing:0; border-collapse: collapse; border-spacing: 0;  word-wrap: break-word; }
*:first-child+html table { border-collapse:collapse; }	/* IE 7 */
* html table { border-collapse:collapse; }				/* IE 6 */
caption { text-align:left; }
th,
td { text-align:left; vertical-align:middle; empty-cells:show; }
hr { display:none; }
fieldset { border:0 none; }
label { cursor: pointer; }

/* 全対応 */

*, *::before, *::after {
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
	}

*::selection { background: #EFEFEF;}
*::-moz-selection { background: #EFEFEF;}

.box-gray *::selection,
footer *::selection { background: #FFF;}

.box-gray *::-moz-selection,
footer *::-moz-selection { background: #FFF;}


header nav *::selection { background: none;}
header nav *::-moz-selection { background: none;}

input::selection, textarea::selection { color: #000; background: #DDD;}
input::-moz-selection, textarea::-moz-selection  { color: #000; background: #DDD;}

/*-------------------------------------
	文字装飾 / font
-------------------------------------*/

h1, h2, h3, h4, h5, h6 { position: relative; font-style:normal; font-weight: 500; color: #111; }


p, address, blockquote, pre, div,
abbr, acronym, dfn, cite, q, code, kbd, samp, var,
dl, ol, ul,
caption, th { font-weight:normal; font-style:normal; }
em, strong, optgroup { font-weight:bold; font-style:normal; }

/* font-family */

	.gothic
{ font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}


	article h2,
	.mincho
{ font-family: "游明朝体", "Yu Mincho", YuMincho, Times, sans-serif;}


	.copyright
{ font-family:Arial, Verdana, Geneva, Helvetica, sans-serif;}

	article h3.en,
	.centuryGothic
{ font-family: Futura,STHeitiK-Medium,"Avenir-Medium","Avenir",Century Gothic,Arial,Helvetica,sans-serif;}


/*-------------------------------------
	HTML5
-------------------------------------*/

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { position:relative; display:block; margin:0 0 0 0; padding:0 0 0 0; }


/*-------------------------------------
	要素
-------------------------------------*/

html { margin: 0; width: 100%; height:100%; text-align: center;}

body {
	position: relative;
	display: block;
	margin: 0;
	width: 100%;
	height: 100%;
	color:  #000;
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
	background: #FFF;
	}

@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop, body, body * { font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;}
}


/* links */
a, input, object{ outline:none; }

a {
	margin: 0;
	padding: 0;
	border: 0;
	color: #000;
	text-decoration: none;
	vertical-align: baseline;
	background: transparent;
	-webkit-tap-highlight-color:rgba(0,0,0,0.2);
	}
a:visited {	color: #333; text-decoration:none;}
a:active { color: #00468C; text-decoration:none; }
a:hover { color: #00468C; text-decoration:none; opacity: 1;}

a:hover img { opacity: 0.8; }
a:hover img.rollover { opacity: 1;}

a img {  -webkit-tap-highlight-color: transparent;}

article p a { color: #0085B2; }

/* table */
table { margin-bottom: 20px; width: 100%; border-collapse: collapse; border-spacing: 0; border-bottom: 1px solid #ccc;}
thead th { text-align: center;}
th { font-weight: bold; }
th, td { padding: 15px 10px; font-size: 14px; text-align: left; line-height: 140%; vertical-align: middle; border-top: 1px solid #ccc;}
td p,
td ul { margin-bottom: 0 !important;}

table.arbitrary { width: auto; }


/* form関係 */

input, select, optgroup, textarea, label, kbd { vertical-align: text-top;}

label { font-size: 16px; vertical-align: middle;}
#Contact th span,
fieldset legend span { position: absolute; right: 10px; display: inline-block; margin: 0; padding: 4px 6px; color: #FFF; font-size: 11px; line-height: 1; vertical-align: middle; background: #999; border-radius: 2px;}
fieldset legend span { right: -50px; top: 0; font-weight: normal;}
form p.note { margin: 5px 0; font-size: 14px; color: #F33;}

input[type="hidden"]{ display: none;}
input[type="text"],
input[type="password"],
input[type="tel"],
input[type="zip"],
input[type="email"],
input[type="url"],
select,
textarea {
	margin: 0;
	padding: 3px 5px;
	width: 100%;
	color: #333;
	font-size: 17px;
	background: #FFF;
	border: 1px solid #CCC;
	border-radius: 3px;
	box-sizing: border-box;
	}

textarea { height: 240px;}
select { color: #111; vertical-align: middle; background: #FFF; border: 1px solid #CCC;}
select option { margin: 0; padding: 2px 5px; font-size: 17px;}

fieldset { margin: 0;}
fieldset legend { position: relative; margin-bottom: 20px; font-weight: bold;}
fieldset label { display: inline-block; min-width: 340px;}
fieldset input { margin-right: 10px;}

input:focus { color: #333; background: #F8F8F8;}
:placeholder-shown { color: #444; }
input::-webkit-input-placeholder { color: #444; }
input::-moz-placeholder { color: #444; }
input:-ms-input-placeholder { color: #444; }
input::-ms-input-placeholder { color: #444; }

form th small { font-size: 12px; }
form th span { position: absolute; right: 10px; display: inline-block; padding: 4px 4px; color: #FFF; font-size: 11px; line-height: 1; vertical-align: middle; background: #999; border-radius: 3px;}

input[type="checkbox"],
input[type="radio"] { margin-right: 8px;}


/* button ボタン デフォルト */

button { background: none; border: none; cursor: pointer;}

input[type="submit"],
p.btn a,
a.btn,
button:not(.image){
	display: inline-block;
	padding: 8px 15px;
	width: auto;
	max-width: 300px;
	min-width: 280px;
	color: #FFF;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	background: #000;
	border: none;
	border-radius: 40px;
	cursor: pointer;
	box-shadow: none;
	}
a.btn:visited { color: #FFF;}

input[type="submit"]:hover,
p.btn a:hover,
button:not(.image):hover,
a.btn:hover {
	color: #FFF;
	background: #666;
	}

button img { vertical-align: middle;}

.submit { margin-top: 40px; text-align: center !important;}
.rewrite { text-align: right;}
.rewrite button { width: 80px; min-width: inherit !important; font-size: 14px}

p.btn { margin-top: 40px; text-align: center !important;}


/* list dl リスト・定義 */
ul { list-style: none; }
article ol { margin: 0 0 20px 0;}
td ul.disc,
td ol { margin-left: 20px;}

li { position: relative; text-align: left; line-height: 140%; }
.disc li { margin: 10px 0;}

dl { margin: 0 auto; padding: 0;  width: 100%; text-align: left;  }
dt,dd { display: block; padding: 0 0 15px 0; font-weight: 500; text-align: left; line-height: 130%; vertical-align: top; }
dt { text-align: right; }
dd { white-space: normal; }

/* 文字装飾 */
em { color: #000;}
small { font-size: 13px;}
i { font-style: normal; font-weight:  normal;}
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold;}
u { text-decoration: none;}


/* 罫線 */
hr {
	clear: both;
	position: relative;
	display: block;
	margin: 100px auto 0;
	width: 90%;
	max-width: 1200px;
	height: 2px;
	text-align: center;
	border: none;
	border-top: 1px solid #CCC;
	border-spacing: 0;
	text-shadow: none;
	}

hr.dot { border-top: 1px dotted #CCC; }

iframe { margin: 0 auto; padding: 0; width: 100%; border: none; }

/*-----------------------------------------
	共通 
-----------------------------------------*/

/* 中央寄せ */
footer .set-cols,
.box {
	margin-left: auto;
	margin-right: auto;
	width: 90%;
	max-width: 1100px;
	text-align: center;
	}

/* clearfix */
.clear::after,
.fix::after,
.box::after,
article::after,
article section::after,
.set-cols::after
	 { clear:both; visibility:hidden; content:'.'; display:block; height:0; }

article { margin: 0 auto 150px; text-align: center;}
article section { margin: 100px 0 0; text-align: left;}
article section:nth-of-type(1) { margin-top: 100px;}


.graybox { background: #F2F2F2;}
.graybox article { padding: 10px; margin: 40px auto; width: 100%; max-width: 1000px; background: #FFF;}

/* box */

.box-note { margin: 40px 0 60px; padding: 30px 40px; border: 3px solid #EFEFEF;}
.box-note p:last-child { margin-bottom: 0;}
.box-note h2 { margin: 0 0 10px; padding: 0; border: none;}

.box-gray { padding: 100px 0; background: #EEE;}
.box-gray h3 { margin-bottom: 30px; }
.box-gray p { margin-bottom: 30px; text-align: left;}
.box-gray p:last-child { margin-bottom: 0;}

.box-gray.box { margin: 60px auto; padding: 60px; background: #F2F2F2;}



/* 見出し */

article h1 { color: #FFF; font-size:40px; font-weight: bold; text-align: left; }
article h2 { margin: 0 0 60px 0;  font-size:34px; font-weight: normal; text-align: center; line-height: 160%;}
article h3 { margin: 0 0 40px; font-size:28px; font-weight: bold; line-height: 160%; text-align: center; letter-spacing: 0.2em;}
article h3.en { font-size: 40px; font-weight: normal;}
article h4 { margin: 0 0 30px; font-size:20px; font-weight: bold; line-height: 150%;}
article h5 { margin: 0 0 20px; font-size:16px; font-weight: bold; line-height: 140%;}
article h6 { margin: 0 0 10px; font-size:15px; line-height: 140%;}


/* p */

article p { margin-bottom: 30px; line-height: 180%; text-align: center;}
article section p:last-child { margin-bottom: 0;}

.left { text-align: left;}
.right { text-align: right;}
.center { margin-left: auto; margin-right: auto; text-align: center;}

.copy { font-size: 19px; font-weight: bold; line-height: 200%;}


/* 横並び */

.set-cols { display: table; margin: 0 auto;}
.set-cols .data { display: table-cell; text-align: left; vertical-align: top; }

article .set-cols .data { padding: 0 30px; line-height: 160%;}
article .set-cols .data p { text-align: left;}

.set-cols.col2 .data { width: 50%;}
.set-cols.col3 .data { width: 33.3%; font-size: 16px;}
.set-cols.col4 .data { width: 25%; font-size: 16px;}
.set-cols.col5 .data { width: 20%;}

.set-cols.list { text-align: left;}
.set-cols.list li { float: left;}

.tiles { display: flex; justify-content : center;}
.tiles .data { margin: 40px;}
.tiles figure { margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid #CCC;}
.tiles figure img { width: 100%; max-width: 230px; height: auto; }
.tiles p { text-align: left;}


/* error */
.error { color: #F00;}
.error::selection { background: #FCC;}
.error::-moz-selection { background: #FCC}

ul.error { margin: 20px auto; padding: 0 0 10px; max-width: 590px; list-style: disc;}



/* アスタリスク※のリスト */
.asterisk { position: relative;}
small.asterisk::before,
.asterisk > li::before,
p.asterisk:before { content: "※"; display: inline-block; margin: 0 3px 0 -18px;}

.asterisk li,
p.asterisk,
small.asterisk { margin: 0 0 0 18px; padding-left: 18px; font-weight: 500; line-height: 140%; }

ul.asterisk { margin-bottom: 20px;}
.asterisk ul { list-style: disc;}
.asterisk ul ul { list-style: none;}
.asterisk li { margin: 5px 0;}

small.asterisk { margin: 0 0 7px; font-size: 12px;}
.asterisk li:last-child { margin-bottom: 0 !important;}

ul.disc { margin: 0 0 20px 32px; list-style: disc;}


/* 文字装飾 */

.tx18 { font-size: 18px;}
.tx16 { font-size: 16px;}
.tx14 { font-size: 14px;}

.red { color: #F33;}
.red::selection { background: #FAE7E7;}
.red::-moz-selection { background: #FAE7E7}


/* マージン */
.mr50 { margin: 0 50px 0 0;}
.mr80 { margin: 0 80px 0 0;}
.mr100 { margin: 0 100px 0 0;}
.mb20 { margin-bottom: 20px;}
.mb30 { margin-bottom: 30px;}
.mb40 { margin-bottom: 40px;}
.mb60 { margin-bottom: 60px;}



/*-----------------------------------------
	header ヘッダ（共通） 
-----------------------------------------*/

header { position: relative; margin: 0 auto; padding: 10px 0; width: 100%; text-align: center; background: #000; }

header nav { margin: 0 auto; width: 100%; text-align: center; }
header nav ul { display: table; padding: 0 40px; width: auto;}
header nav li { display: table-cell; vertical-align: middle; border-right: 1px solid #444; }
header nav a,
header nav a:visited { display: inline-block; color: #FFF; }
header nav a:hover { color: #0CC;}
header nav li.current a { color: #33C; font-weight: bold;}

header .logo { padding: 0 40px 0 0; text-align: left;}
header .logo img { margin: 0; width: 120px; height: auto; }

header nav li:not(.sub) { height: 30px; font-size: 16px;}
header nav li:not(.sub) a { min-width: 150px; text-align: center;}

header.fixed { position: fixed; top: 0; padding: 10px 0; background: rgba(0,0,0,0.9); box-shadow: 0 3px 8px rgba(0,0,0,0.08);  z-index: 999; }

/* SP navi*/
.spnav div{ overflow: hidden; position: absolute; right: 0; top: 6px; display: inline-block; padding: 0 14px 12px 14px; width: 60px; height: 53px; cursor: pointer; z-index: 850;}
.spnav div span { position: absolute; display: block; width: 34px; height: 2px; background: #999; -webkit-transition: .35s ease-in-out; -moz-transition: .35s ease-in-out; transition: .35s ease-in-out;}
.spnav div span:nth-child(1) { top: 0;}
.spnav div span:nth-child(2) { top: 11px;}
.spnav div span:nth-child(3) { top: 22px;}

.open.spnav div span:nth-child(1) { top: 11px; -webkit-transform: rotate(315deg); -moz-transform: rotate(315deg); transform: rotate(315deg); }
.open.spnav div span:nth-child(2) { width: 0; left: 50%; }
.open.spnav div span:nth-child(3) { top: 11px; -webkit-transform: rotate(-315deg); -moz-transform: rotate(-315deg); transform: rotate(-315deg); }
.open.spnav div span { -moz-transform: translateY(556px); -webkit-transform: translateY(556px); transform: translateY(556px); }

.spnav { padding: 12px 0;}
.spnav nav ul { margin: 0; padding: 0;}
.spnav nav li { border: none;}
.spnav nav li:not(.logo) { display: none;}

.open.spnav { width: 100%; height: auto; }
.open.spnav nav ul { position: fixed; left: 0; top: 10px; display: block; width: 100%; height: auto background: none; z-index: 800; animation-iteration-count: 1; animation: spnav 0.2s; transition-timing-function: ease; }
	@keyframes spnav { 0% { transform: translate(0px, -50px); opacity: 0.5;} 40% { opacity: 1;} 100%  { transform: translate(0px, 0px);} }

.open.spnav li { display: block; background:  rgba(0,0,0,0.9);}
.open.spnav li { display: block !important; padding: 0; width: 100%; height: auto; text-align: center; border-bottom: 1px solid #333;}
.open.spnav li a { margin: 0 auto; padding: 15px; width: 100%; font-size: 15px; text-align: center; vertical-align: middle; line-height: 1; }
.open.spnav li a span { display: block;}
.open.spnav li.logo { padding-bottom: 10px;}


/*-------------------------------------
	Breadcrumbs
-------------------------------------*/

#Breadcrumbs { padding: 20px 0 18px;  font-size: 13px; line-height: 1; text-align: left;}
#Breadcrumbs ol { margin: 0; padding: 0;}
#Breadcrumbs li { display: inline-block; margin: 0; padding: 0 8px 0 16px; vertical-align: text-top; background: url(/images/common/arrow-R-LG.png) left 3px no-repeat; background-size: auto 12px;}
#Breadcrumbs li:nth-of-type(1) { padding-left: 0; background: none;}
#Breadcrumbs li:last-child a { color: #CCC;}
#Breadcrumbs img { margin-top: 2px; width: 16px; height: auto; opacity: 0.5; vertical-align: text-top;}
#Breadcrumbs img:hover { opacity: 1;}

/*-----------------------------------------
	Visual
-----------------------------------------*/

#Visual { display: table; margin: 0 0 100px 0; padding: 0; width: 100%; background: url(/images/common/visual.jpg) center 50% no-repeat; background-size: cover;}
.tb #Visual {}
.sp #Visual {}
#Visual h1 { display: table-cell; position: relative; margin: 0; padding: 20px 8% 0 8%; width: 100%; height: 500px; text-align: left; vertical-align: middle; line-height: 0; }
#Visual h1 img { display: inline-block; width: 70%; max-width: 300px; height: auto;}

@media screen and (max-height: 950px) {
	#Visual { margin-bottom: 80px;}
	#Visual h1 { height: 400px;}
}
@media screen and (max-height: 750px) {
	#Visual { margin-bottom: 60px;}
	#Visual h1 { height: 350px;}
}
@media screen and (max-height: 650px) {
	#Visual { margin-bottom: 60px;}
	#Visual h1 { height: 280px;}
}

.sp #Visual h1 { height: 280px;}

/*-------------------------------------
	page
-------------------------------------*/

/* #Home */

#Home article hr { margin-bottom: 0;}
#Home #Service { margin-top:  0; padding-top: 150px;}

#About{ padding: 150px 0; background: #EFEFEF;}
#About .box { max-width: 700px;}
#About th { width: 150px;}

/* #Contact */

#Contact p.phone { font-size: 40px; text-align: center; letter-spacing: 0.1em}

/* .contact */
#ContactForm { margin: 0 auto; max-width: 800px; text-align: center;}
#ContactForm th { width: 220px;}
#ContactForm td .error { text-align: left;}
#ContactForm table,
#ContactForm th,
#ContactForm td { border: none;}
#ContactForm th { position: relative;}
#ContactForm .about { display: inline-block; margin: 0 auto; width: auto; padding: 0;}
#Confirm td { font-size: 16px;}

/* Choju2 */
#Choju2 hr { margin: 40px auto 70px; border-top: 3px dotted #000;}
#Choju2 h2 { margin-bottom: 30px;}
#Choju2 h2 img { width: 100%; height: auto;}
#Choju2 article > p,
#Choju2 #Supplement p,
#Choju2 #Intro p { text-align: left;}
#Choju2 .copy { margin-bottom: 15px;}
#Choju2 .copy span { border-bottom: 3px dotted #9C0;}
#Choju2 p.small { font-size: 15px;}
#Choju2 article > h3 img { width: 250px; height: auto;}
#Choju2 #Point.tiles { margin: 0 20px;}
#Choju2 #Point.tiles .data { margin: 0 30px;}
#Choju2 #Point.tiles .data figure { border: none;}
#Choju2 #Point.tiles figure img { width: 100px; height: auto;}
#Choju2 #Point.tiles p { padding: 0; font-weight: bold; text-align: center; line-height: 150%;}

#Choju2 article > div h3 { margin-bottom: 20px;}
#Choju2 .box-gray h3 { display: inline-block; border-bottom: 2px solid #690;}

#Choju2 .box-gray {margin: 40px auto; padding: 60px 7% 40px; background: #F5FBEE;}
#Choju2 #Supplement { position: relative; margin: 150px 0; }
#Choju2 #Trial { position: relative; margin: 40px 0 150px; }

#Choju2 #Supplement::before { content:""; display: block; position: absolute; top: -72px; left: 0; width: 100%; height: 72px; background:url(/images/choju/bg-green-top01.png) top center no-repeat; background-size: 100% 72px;}
#Choju2 #Supplement::after { content:""; display: block; position: absolute; bottom: -72px; left: 0; width: 100%; height: 72px; background:url(/images/choju/bg-green-bottom01.png) top center no-repeat; background-size: 100% 72px;}

#Choju2 #Trial::before { content:""; display: block; position: absolute; top: -80px; left: 0; width: 100%; height: 80px; background:url(/images/choju/bg-green-top02.png) top center no-repeat; background-size: 100% 80px;}
#Choju2 #Trial::after { content:""; display: block; position: absolute; bottom: -80px; left: 0; width: 100%; height: 80px; background:url(/images/choju/bg-green-bottom02.png) top center no-repeat; background-size: 100% 80px;}
#Choju2 #Trial h3 { text-align: center;}
#Choju2 #Trial p { padding: 0;}

#Choju2 #Movie { margin-top: 80px;}
#Choju2 #Movie h3 { margin-bottom: 30px;}
.youtube { position: relative; padding-bottom: 60%; max-height: 450px; width: 100%; height: 100%;}
.youtube iframe { position: absolute; top: 0; left: 0; right: 0; width: 100%; max-width: 600px; height: 100%; max-height: 400px;}

#Spec table { margin-top: 40px;}
#Spec tr:nth-of-type(2n+1) { background :#F6F6F6;}
#Spec th { width: 180px;}

#Option .data { clear: both; margin: 0 0 40px; padding: 80px 0 30px; border-top: 1px solid #CCC;}
#Option figure { float: left; margin: 0 40px 40px 0; width: 40%; text-align: center; border: none;}
#Choju2 #Option figure img { width: 80%; max-width: 460px; height: auto;}
#Choju2 #Option h5 { margin: 20px 0 10px; text-align: left;}
#Option .data  p { text-align: left;}

#Choju2 #Contact { margin-bottom: 100px;}
#Choju2 #Note p { margin: 40px 0; font-size: 14px; text-align: center;}


/* #Privacy */
#Privacy article .box { width: 80%;}
#Privacy article .box h3,
#Privacy article .box h4,
#Privacy article .box p { text-align: left; font-size: 16px;}

#Privacy article .box h3 { margin: 40px 0 5px; font-size: 18px;}
#Privacy article .box h4 { margin: 60px 0 5px;}

/*-----------------------------------------
	footer
-----------------------------------------*/

#PageTop { position: fixed; bottom: 40px; right: 0; display: block; margin: 0 auto; padding: 0; width: 70px; text-align: center; background: none; cursor: pointer; z-index: 998;}
#PageTop img { width: 100%; height: auto;}
#PageTop:hover { opacity: 0.6;}

footer { position: relative; margin: 0 auto; padding: 0; color: #FFF; font-size: 14px; text-align: center; background: #222; }

footer .logo { display: inline-block; margin: 20px 0; padding-right: 8px; }
footer .logo img { width: 120px; height: auto;}


#Copyright { margin: 0 auto; padding: 15px 0 10px; font-size: 11px; line-height: 1; background: #000;}


/*-----------------------------------------
	contact form 7
-----------------------------------------*/
.wpcf7 .wpcf7-response-output {
    margin: 10px 0 0;
    padding: 8px 35px 8px 14px !important;
	text-align: left;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px !important;
}
    .wpcf7 .wpcf7-validation-errors {
        color: #B94A48;
        background-color: #F2DEDE;
        border: 1px solid #EED3D7;
    }
    .wpcf7 .wpcf7-mail-sent-ok {
        color: #3A87AD;
        background-color: #D9EDF7;
        border: 1px solid #BCE8F1;
    }
	
.wpcf7-not-valid-tip { color: #F33;}


/*-------------------------------------
			media query
-------------------------------------*/

/* 基本設定 */

.tb .clbr,
.sp .clbr { display: none;}

.tb article p,
.sp article p { text-align: left;}

.tb article h2,
.sp article h2 { padding: 0 10%; text-align: left;}

.tb#Contact article h2,
.sp#Contact article h2 { text-align: center;}

.sp #PageTop { padding-top: 10px; width: 50px; }

.td p.submit,
.sp p.submit { text-align: center;}


.tb .tiles .data { margin: 30px;}
.sp .tiles .data { margin: 20px;}


.sp #Contact p.phone { font-size: 36px; letter-spacing: 0.1rem;}



@media screen and (max-height: 750px) {
	header { padding: 10px 0;}
	header .logo img { width: 140px;}
}

@media screen and (max-width:1160px) {
	header .logo { padding: 0 20px 0 0;}
	header .logo img {width: 160px; }

	.graybox article { margin: 0 auto;}

	/* page */
	#Choju2.tb article h2,
	#Choju2.graybox.sp article h2 { padding: 0;}
}
@media screen and (max-width:1024px) {

	header .logo { padding: 0 15px 0 0;}
	header .logo img { width: 140px; }

	/* page */
	#Choju2 .tiles { display: flex; justify-content : flex-start; flex-wrap: wrap;}
	#Choju2 .tiles .data { margin: 0; width: 25%;}
	#Choju2 #Point.tiles .data { margin: 0;}
	#Choju2 #Note p { text-align: left;}


}
@media screen and (max-width:890px) {
	body { font-size: 16px;}

	hr { margin-top: 80px;}
	article { margin: 0 auto 120px;}
	article section { margin: 80px 0 0;}
	article section:nth-of-type(1) { margin-top: 80px;}
	article p { margin-bottom: 30px; line-height: 180%; text-align: left;}
	article p.box { text-align: left;}

	article h2 { font-size:28px; margin-bottom: 40px; }
	article h3 { font-size:22px; margin-bottom: 10px; }
	article h3.en { font-size: 30px;}
	article h4 { font-size:20px; margin-bottom: 10px; }
	article h5 { font-size:16px; }
	article h6 { font-size:15px; }

	header .logo img { width: 110px; }

	/* page */
	
	#About { padding: 80px 0;}
	#Choju2 article > h3 { margin: 10px auto 30px; }
	#Choju2 #Supplement { margin: 40px 0 120px; }
	#Choju2 #Trial { margin: 100px 0 150px; }
	
	#Privacy article .box { width: 90%;}

}

@media screen and (max-width:740px) {
	#Choju2 .tiles .data { width: 33%;}
	#Choju2 #Trial { margin-top: 150px; }

	.wpcf7-list-item { display: block !important; margin: 0; width: 100%; }

}

@media screen and (max-width:580px) {
	body { font-size: 16px;}
	th, td { padding: 10px ; }
	hr { margin-top: 60px;}
	p.btn a, a.btn, button:not(.image) { width: 90%; max-width: none; font-size: 16px;}
	.box p.btn a, .box a.btn, .box button:not(.image) { width: 100%;}
	form th span { top: 0; right: 0;}
	input[type="text"], input[type="password"], input[type="tel"], input[type="zip"], input[type="email"], input[type="url"], select, textarea { font-size: 16px;}
	.submit { margin-top: 20px;}
	.rewrite button { width: auto; font-size: 14px;}

	article { margin: 0 auto 100px;}
	article section { margin: 60px 0 0;}

	.set-cols { display: block;}
	.set-cols .data { display: inline-block;}
	article .set-cols .data { line-height: 140%;}
	.set-cols.col2 .data { width: 100%;}
	.set-cols.col3 .data { width: 100%;}
	.set-cols.col4 .data { width: 50%;}
	.set-cols.col5 .data { width: 50%;}

	article h2 { font-size:20px; margin-bottom: 30px; }
	article h3 { font-size:18px; margin-bottom: 10px; }
	article h4 { font-size:17px; margin-bottom: 10px; }
	article h5 { font-size:16px; }
	article h6 { font-size:15px; }

	header { padding: 12px 0;}

	.sp .tiles { display: flex; justify-content : flex-start; flex-wrap: wrap;}
	.sp .tiles .data { width: 40%;}

	/* page */
	#Home #Service { padding-top: 80px;}
	#About th { width: 100px;}
	#Option .data { padding: 40px 0 0; }
	#Option figure  { float: none; margin-bottom: 20px; width: 100%; text-align: center;}
	#Choju2 #Option h4 { margin-bottom: 20px;}
	#Choju2 #Option figure img { max-width: 300px;}


	table#ContactForm, #ContactForm tr { display: block;}
	#ContactForm th, #ContactForm td { display: block; width: 100%; padding: 2px 0; border: none;}
	#ContactForm th { width: 100%; }
	#ContactForm td, #Confirm td { margin-bottom: 20px; }
	#ContactForm label { display: block; margin: 0; }
	#Confirm table { border: none;}

}
@media screen and (max-width:450px) {
	table { display: block; padding: 0 10px; border: none;}
	table tr { display: block;}
	table th, table td { display: block; margin: 0 0 2px; padding: 0;width: 100%; border: none;}
	table td { margin-bottom: 15px;}
	table tr:last-child td { margin: 0;}

	.sp .tiles .data { width: 100%;}
	.tiles figure { padding-bottom: 0;}
	.tiles div:nth-of-type(3) figure { padding-bottom: 20px;}
	.tiles figure img { max-width: 200px;}

	/* page */
	#About table th { width: 100%; }
	#Choju2 .tiles .data { width: 50%;}
	#Choju2 article #Supplement h3,
	#Choju2 #Trial h3 { letter-spacing: normal; text-align: left;}
	#Choju2 #Trial h3 { padding: 0;}
	#Spec tr { padding: 8px 0; border-top: 1px dotted #CCC;}
	#Spec th, #Spec td { margin: 3px; padding: 0 10px;}


}
@media screen and (max-width:330px) {
}


/*-------------------------------------
			CSS end
-------------------------------------*/
