@charset "UTF-8";

body {
	font-family:"Didact Gothic", "游ゴシック体", "Yu Gothic", "YuGothic", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ' , Meiryo , Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight:500!important;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	-webkit-text-size-adjust:100%;
    -moz-text-size-adjust:100%;
    -ms-text-size-adjust:100%;
    -o-text-size-adjust:100%;
    text-size-adjust:100%;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
	-moz-transition:all 0.3s ease;
	-o-transition:all 0.3s ease;
}

button, input,
select, textarea {
	font-family:"Didact Gothic", "游ゴシック体", "Yu Gothic", "YuGothic", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ' , Meiryo , Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight:500!important;
}

*:focus { outline:none; }

/*==============================
	SVG
==============================*/
.svg { display:inline-block; width:1em; height:1em; }
.svg path { fill:#333; }

.i-link { margin:0 0 -2px 2px; }


/*==============================
	Img
==============================*/
img.sp { display:none; }
@media screen and (max-width:640px) {
img.pc { display:none; }
img.sp { display:block; }
}


/*==============================
	Link
==============================*/
a { color:#043C78; text-decoration:none; }
a .i-link path { fill:#043C78; }


/*==============================
	Bread-cruｍb
==============================*/
p.bread-crumb { font-size:80%; color:#666; }


/*==============================
	Common
==============================*/
#teigaku-aroma { width:100%; margin:0 auto; }

/*@media screen and (min-width:1017px) {
#teigaku-aroma { width:1000px; }
}*/

/*clearfix*/
.clearfix { *zoom:1; }
.clearfix:before,
.clearfix:after { display:table; line-height:0; content:""; }
.clearfix:after { clear:both; }


/*==============================
	Header
==============================*/


/*==============================
	Footer
==============================*/
footer {
	width:100%;
	padding:2% 0;
	text-align:center;
	font-size:16px;
	border-top:solid 3px #05c2d8;
	color:#575757;
}
footer #sitemap { margin:0 auto 1%; }
footer #sitemap a { color:#575757; text-decoration:none; }
footer #sitemap a:after { content:"│"; }
footer #sitemap a:last-of-type:after { display:none; }
footer #sitemap a:hover { color:#888; }

@media screen and (max-width:800px) {
footer { font-size:14px; }
}
@media screen and (max-width:500px) {
footer { font-size:12px; }
}
@media screen and (max-width:375px) {
footer { font-size:10px; }
}


/*==============================
	Form
==============================*/
input, select, textarea {
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	font-size:100%;
	background:#fff;
	border:solid 2px;
	border-top-color:#bbb;
	border-left-color:#bbb;
	border-right-color:#eee;
	border-bottom-color:#eee;
	border-radius:0;
	box-sizing:border-box;
}


/*==============================
	Contact Form 7
==============================*/
#wpcf7-f1043-p1020-o1 {
	padding:50px 0;
	color:#444;
	background:#EFEFEF;
	box-sizing:border-box;
}

#wpcf7-f1043-p1020-o1 h2 {
	margin-bottom:1.5em;
	text-align:center;
	font-size:140%;
	letter-spacing:2px;
}

#wpcf7-f1043-p1020-o1 #form {
	width:90%;
	margin:0 auto;
	padding:50px;
	border:50px solid #fff;
	background:#F7F7F7;
	box-sizing:border-box;
}

#wpcf7-f1043-p1020-o1 dl { margin-top:1em; }
#wpcf7-f1043-p1020-o1 dl:first-of-type { margin-top:0; }
#wpcf7-f1043-p1020-o1 dt { margin-bottom:.2em; }
#wpcf7-f1043-p1020-o1 dt span.req { margin-left:.5em; font-size:80%; color:#B70000; }
#wpcf7-f1043-p1020-o1 dd.width-s span:nth-child(1) input { width:5em; }
#wpcf7-f1043-p1020-o1 dd.width-s span:nth-child(2) input { width:6em; }

#wpcf7-f1043-p1020-o1 select,
#wpcf7-f1043-p1020-o1 input,
#wpcf7-f1043-p1020-o1 textarea { padding:.5em; font-size:16px; line-height:1.6em; }
#wpcf7-f1043-p1020-o1 textarea { width:100%; }

.wpcf7c-conf { background:#F7F7F7!important; border-color:#888!important; }

#wpcf7-f1043-p1020-o1 .Content__form__submit input {
	display:block;
	width:20em;
	margin:50px auto;
	padding:.5em;
	font-size:130%;
	font-weight:900;
	letter-spacing:1px;
	color:#fff;
	background:#8A8A8A;
	border:none;
	border-radius:2px;
	cursor:pointer;
}
#wpcf7-f1043-p1020-o1 .Content__form__submit input:hover {
	background:#949494;
}

@media screen and (min-width:1017px) {
#wpcf7-f1043-p1020-o1 #form { width:1000px; }
}
@media screen and (max-width:900px) {
#wpcf7-f1043-p1020-o1 #form { padding:0; border:none; background:none; }
}
@media screen and (max-width:640px) {
#wpcf7-f1043-p1020-o1 h2 { font-size:120%; }
#wpcf7-f1043-p1020-o1 #form { padding:0; }
#wpcf7-f1043-p1020-o1 select,
#wpcf7-f1043-p1020-o1 input { width:100%; }
#wpcf7-f1043-p1020-o1 .Content__form__submit input { width:80%; }
}
@media screen and (max-width:400px) {
#wpcf7-f1043-p1020-o1 { padding:30px 0; font-size:90%; }
#wpcf7-f1043-p1020-o1 h2 { font-size:110%; }
#wpcf7-f1043-p1020-o1 select,
#wpcf7-f1043-p1020-o1 input,
#wpcf7-f1043-p1020-o1 textarea { font-size:14px; }
}

/*error*/
.wpcf7-not-valid { background:#FDF2F2; }
span.wpcf7-not-valid-tip {
	margin-top:.2em;
	font-size:90%!important;
	color:#B70000!important;
}
#Bizform > #form .address-area dd:first-of-type span:first-of-type > span.wpcf7-not-valid-tip,
.width-s > span:first-of-type > .wpcf7-not-valid-tip { display:none!important; }
div.wpcf7-response-output { margin:2em auto 1em; }
div.wpcf7-response-output,
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing {
	padding:.2em .8em;
	line-height:1.4em;
	background:#fff;
	border:none!important;
	border-radius:50px;
}
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing {
	padding:.5em!important;
	color:#B70000;
	border:none!important;
	border-radius:50px;
}
/*ok*/
div.wpcf7-response-output.wpcf7-mail-sent-ok {
	margin-bottom:2em;
	padding:.5em!important;
	font-weight:bold;
	line-height:1.4em;
	color:#34b700;
	border:none!important;
	border-radius:2px;
}

/*thanks*/
#form_thanks { width:90%; margin:2% auto; color:#333; }
#form_thanks p { text-align:center; line-height:1.6em; }
#form_thanks  .message p { font-size:110%; font-weight:700; letter-spacing:1px; }
#form_thanks  .message p br { display:none; }
#form_thanks .info {
	margin:1em auto 2em;
	padding:1em;
	background:#f6f6f6;
	word-break:keep-all;
	word-wrap:break-word;
}
#form_thanks .link { text-align:right; }
#form_thanks .link a { color:#043C78; }
#form_thanks .link a:after {
	content:"\FF1E";
	position:relative;
	top:-2px;
	margin-left:.2em;
	font-size:70%;
}

@media screen and (min-width:1017px) {
#form_thanks { width:1000px; }
}
@media screen and (max-width:640px) {
#form_thanks { margin:4% auto; font-size:80%; }
#form_thanks  .message p br { display:block; }
}


/*==============================
	Payment
==============================*/
.payment { width:96%; margin:0 auto 3%; }
.payment h2 {
	margin-bottom:2%;
	padding:.2em 0;
	text-align:center;
	font-weight:500;
	letter-spacing:2px;
	color:#fff;
	background:#333;
}
.payment .flex { display:flex; flex-wrap:wrap; }
.payment dl {
	float:left;
	width:calc(98%/2);
	margin-top:2%;
	padding:2%;
	font-weight:700;
	background:#f5f5f5;
	box-sizing:border-box;
}
.payment dt {
	margin-bottom:.5em;
	font-size:120%;
	border-radius:50px;
}
.payment dt span { margin-left:.5em; font-size:70%; }
.payment dd { font-size:90%; font-weight:500; line-height:1.6em; }

@media screen and (min-width:1017px) {
.payment { width:1000px; }
}
@media screen and (max-width:640px) {
.payment { font-size:80%; }
}
@media screen and (min-width:401px) {
.payment dl:nth-of-type(4n+1),
.payment dl:nth-of-type(4n+2) { margin-top:0; }
.payment dl:nth-of-type(2n+1) { margin-right:2%; }
}
@media screen and (max-width:400px) {
.payment dl { width:100%; }
.payment dl:first-of-type { margin:0; }
}


/*==============================
	Delivery
==============================*/
.delivery { width:96%; margin:0 auto 3%; font-size:90%; line-height:1.6em; }
.delivery dt {
	margin-bottom:.4em;
	padding-bottom:.4em;
	font-size:120%;
	border-bottom:solid 1px;
}
.delivery dd { padding-left:1em; text-indent:-1em; }

@media screen and (min-width:1017px) {
.delivery { width:1000px; }
}
@media screen and (max-width:640px) {
.delivery { font-size:80%; }
}


/*==============================
	Info detail
==============================*/
.info-detail { margin:0 auto; padding:1em; font-size:95%; background:#FFEAEB; }
.info-detail p:first-of-type {
	display:inline-block;
	margin-bottom:.5em;
	padding:.2em .4em;
	color:#fff;
	background:#E47379;
}
.info-detail p:last-of-type { line-height:1.6em; }
.info-detail p strong { color:#DE1B23; }

@media screen and (min-width:1017px) {
.info-detail { width:1000px; }
}
@media screen and (max-width:1017px) {
.info-detail { font-size:90%; }
}
@media screen and (max-width:640px) {
.info-detail { font-size:80%; }
}


/*==============================
	Page top
==============================*/
#page-top {
	position:fixed;
	right:20px;
	bottom:80px;
 	display:block;
	padding:20px;
	text-align:center;
	text-decoration:none;
	font-size:80%;
	background:rgba(0,0,0,0.7);
	border:none;
}
#page-top:hover { background:rgba(0,0,0,0.6); }
#page-top .i-arrow-t { width:20px; height:20px; }
#page-top .i-arrow-t path { fill:#fff; }

@media screen and (max-width:640px) {
#page-top { bottom:68px; }
}
@media screen and (max-width:500px) {
#page-top { right:10px; bottom:55px; padding:14px; }
#page-top .i-arrow-t { width:16px; height:16px; }
}
@media screen and (max-width:400px) {
#page-top { bottom:56px; }
}


/*==============================
	Cart top
==============================*/
#cart-top {
    position:fixed;
    bottom:20px;
    right:20px;
	padding:0;
	border:none;
	background:none;
    z-index:100;
}
#cart-top a {
    display:block;
    width:12em;
    padding:0.4em 0.2em 0.3em;
    text-align:center;
    text-decoration:none;
	font-size:26px;
	letter-spacing:2px;
    color:#fff;
    background:#999;
    border-radius:5px;
	box-shadow:5px 5px 5px rgba(0,0,0,0.4);
}
#cart-area img { width:1000px; margin:0 auto; }
#cart-top .i-cart { width:30px; height:30px; margin:0 5px -3px 0; }
#cart-top .i-cart path { fill:#fff; }
#cart-top .i-arrow-b { width:22px; height:22px; margin:0 0 0 5px; }
#cart-top .i-arrow-b path { fill:#fff; }

@media screen and (max-width:1017px) {
#cart-area img { width:100%; }
}
@media screen and (max-width:600px) {
#cart-top a { font-size:20px; }
#cart-top .i-cart { width:26px; height:26px; margin:0 5px -5px 0; }
#cart-top .i-arrow-b { width:18px; height:18px; margin:0 0 -2px 5px; }
}
@media screen and (max-width:400px) {
#cart-top a { font-size:16px; letter-spacing:1px; }
#cart-top .i-cart { width:22px; height:22px; margin:0 5px -5px 0; }
#cart-top .i-arrow-b { width:14px; height:14px; margin:0 0 -2px 5px; }
}

/*ズレ修正*/
#cart-area:before {
	content:"";
	display:block;
	height:80px;
	margin-top:-80px;
}
@media screen and (max-width:700px) {
#cart-area:before { height:90px; margin-top:-90px; }
}
@media screen and (max-width:450px) {
#cart-area:before { height:70px; margin-top:-70px; }
}


