@charset "utf-8";

html * { font-size: inherit; }

/*削除 img { -ms-interpolation-mode: bicubic; } */

body {
	margin: 0;
	font-family: 'Zen Old Mincho', serif;
	font-size: 1.6rem;
	/* for Chrome browser */ -webkit-text-size-adjust: none;
	/* font-weight: 300; */
	/* font-feature-settings: 'pkna'; */
	/* letter-spacing: .04em; */
}

:lang(en) {
	font-family: 'Playfair Display', serif;
}

/* .word_corp_name {
	font-family: 'Cormorant Garamond', serif;
	font-weight: 700;
	font-size: 115%;
} */

.inline_block {
	display: inline-block;
}

p {
	line-height: 1.75;
	margin-top: 1.75em; /* 下マージン標準テキスト1.0行分 */
}

ol, ul, dl {
	line-height: 1.75;
	margin: 1.75em 0; /* 下マージン標準テキスト1.0行分 */
}

ol, ul {
	padding-left: 1.75em;
}

li {
	line-height: 1.5;
	margin: 0 0 1.25em 0; /* 下マージン標準テキストより狭い */
}

li li:first-child {
	margin-top: 1.25em;
}

h1,
.doc_title {
    letter-spacing: .05em;
	font-size: 2.4rem;
	line-height: 1.5;
	margin: 0 0 1.75em 0; /* 下マージン標準テキスト1.5行分 */
}

h2 {
    letter-spacing: .05em;
	font-size: 2.0rem;
	line-height: 1.5;
}

.sec_title {
    letter-spacing: .05em;
}

.sec_title :lang(ja) {
	display: block;
	font-size: 1.6rem;
}

.catch_copy_large {
	font-size: 5rem;
}

h3,
.heading {
	font-size: 2.0rem;
	line-height: 1.5;
}

h4,
.sub_heading {
	line-height: 1.75; /* 行高は標準テキストと同じ */
	margin: 2.625em 0 0 0; /* 上マージン標準テキスト1.5行分+自身の1行分, 下マージン0※次要素の上マージンを隣接セレクタで打ち消す */
}

h3 + h4,
.heading + h4,
.heading + .sub_heading,
h4 + *,
.sub_heading + * {
	margin-top: 0;
}

a {
	text-decoration: none;
}

html.desktop_tablet a {
    transition: color .2s ease-out;
}

a:link { color: #000; }
a:active,
a:visited { color: #000; }
a:focus,
a:hover { color: #666; }

a img { border-style: none; }

rt {
	font-size: 0.9rem;
}

small {
	font-size: 1.4rem;
}

figure {
	margin-right: 0;
	margin-left: 0;
}


input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea {
	padding: 6px;
	line-height: 1.5;
	border: none;
	outline: none;
	border: solid 1px #d5d5d5;
	background-color: #fff;
	-moz-transition: background-color .3s, border-color .6s;
	-webkit-transition: background-color .3s, border-color .6s;
	-o-transition: background-color .3s, border-color .6s;
	-ms-transition: background-color .3s, border-color .6s;
	transition: background-color .3s, border-color .6s;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus {
	border-color: #e5e5e5;
	background-color: #ffffff;
}

input[type="submit"],
input[type="button"],
a.button,
button {
	font-size: 1.6rem;
	padding: 0.875em 2em;
	border-radius: 40px;
    border-style: none;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#54a9ff+0,3e9ef2+44,3b7ddb+100 */
    background: #d63a90;
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#54a9ff', endColorstr='#3b7ddb',GradientType=0 ); /* IE6-9 */
    color: #ffffff;
    outline: none;
	cursor: pointer;
}

input[type="submit"]:first-child,
input[type="button"]:first-child,
a.button:first-child,
button:first-child {
    margin-left: 0;
}


input[type="submit"]:focus,
input[type="button"]:focus,
a.button:focus,
button:focus,
input[type="submit"]:hover,
input[type="button"]:hover,
a.button:focus,
button:hover,
input[type="submit"]:active,
input[type="button"]:active,
a.button:active,
button:active {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#54a9ff+0,3e9ef2+44,3b7ddb+100 */
    background: #dd5aa2;
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3f83c7', endColorstr='#3b7ddb',GradientType=0 ); /* IE6-9 */
    color: #ffffff;
    outline: none;
}


.align_center {
	text-align: center;
}

.hidden {
	display: none;
}

/* .margin_top_double {
	margin-top: 3.5em !important;
} */

.margin_bottom_double {
	margin-bottom: 3.5em !important;
}

.width_max {
	box-sizing: border-box;
	width: 100%;
}

.width_long {
	box-sizing: border-box;
	width: 80%;
}

.width_std {
	box-sizing: border-box;
	width: 75%;
}

.width_half {
	box-sizing: border-box;
	width: 50%;
}

em.required {
	font-style: normal;
	color: #d63a90;
}

div.error_header {
	margin: 1.75em 0;
	padding: 15px;
	background: #e5e5e5;
}

div.error_header > *:first-child {
	margin-top: 0;
}

div.error_header > *:last-child {
	margin-bottom: 0;
}

p.error,
ul.error,
div.error {
	font-size: 1.4rem;
	color: #d63a90;
}

.error em {
	font-family: sans-serif;
	font-style: normal;
}
