@charset "utf-8";

/* reset */
* { padding: 0; margin: 0; box-sizing: border-box; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset, img { border: 0; }
address, caption, cite, code, dfn, em, var { font-style: normal; font-weight: normal; }
ol, ul { list-style: none; }
caption, th { text-align: left; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
q:before, q:after { content: ''; }
abbr, acronym { border: 0; }
section, article { display: block; }

/* base */
html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { -webkit-font-smoothing: auto; -webkit-font-feature-settings: 'palt'; font-feature-settings: 'palt'; word-wrap : break-word; overflow-wrap : break-word; font-kerning: normal; -webkit-font-kerning: normal; font-size: 15px; font-family: "Ryumin Medium KL",serif; text-align: center; letter-spacing: 0.2em; margin: 0; padding: 0; box-sizing: border-box; background-color: #FFF; color: #333; }
img { vertical-align: bottom; height: auto; width: 100%; }
::selection { background: #333333; color: #FFF; }
::-moz-selection { background: #333333; }

/* iOS */
input[type="submit"],input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; cursor: pointer; }
input[type="submit"]::-webkit-search-decoration,input[type="button"]::-webkit-search-decoration { display: none; }
input[type="submit"]::focus,input[type="button"]::focus { outline-offset: -2px; }

/* link */
a:link, a:visited, a:active { color: #333333; text-decoration: none; }
a:hover { color: #a92926; text-decoration: none; transition: color 0.05s linear; -webkit-transition: color 0.05s linear; transition: border-color 0.05s linear; -webkit-transition: border-color 0.05s linear; transition: background-color 0.05s linear; -webkit-transition: background-color 0.05s linear; }
a:hover img { -webkit-filter: brightness(105%); -moz-filter: brightness(105%); -o-filter: brightness(105%); -ms-filter: brightness(105%); filter: brightness(105%); }
h1 a,h2 a,h3 a,h4 a { color:#333333 !important; text-decoration: none !important; border:none !important; }

/* clear */
.clear { clear: both; }
.cbox { zoom: 100%; }
.cbox:after { content: " "; clear: both; height: 0; display: block; visibility: hidden; }

/* options */
.r { border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; overflow: hidden; }
.rl { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
.pc { display:block; }
.sp { display:none; }
.pcbr { display:block; }
.spbr { display:inline; }

/* flex */
.flex { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.fill { object-fit: cover; font-family: 'object-fit: cover;'; }

/* wordpress */
#contents .wp-caption.alignleft { float: left;  }
#contents .wp-caption.alignleft img {  }
#contents .wp-caption.alignleft .wp-caption-text { font-size: 0.8em; }
#contents .wp-caption.alignright { float: right;  }
#contents .wp-caption.alignright img {  }
img.centered { display: block; margin-left: auto; margin-right: auto; }
img.alignright { padding: 0px; margin: 0 0 20px 2%; display: inline; max-width: 47%; }
img.alignleft { padding: 0px; margin: 0 20px 2% 0; display: inline; max-width: 47%; }
.aligncenter { margin-top: 15px; margin-bottom: 15px; margin-right: auto; margin-left: auto; }
.alignright { float: right; margin-bottom: 20px; margin-left: 20px; }
.alignleft { float: left; margin-bottom: 20px; margin-right: 20px; }
img.aligncenter { display: block; }

.font_1 { font-family: "A1 Mincho"; }
.font_2 { font-family: "Ryumin Medium KL"; }
.font_3 { font-family: "Midashi Min MA31"; }

/* youtube */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

/* wrapper */
#wrapper { position: relative; padding:0; min-width:1200px; }

/* header */
#header { position: absolute; top:3em; right:4.5%; width:13%; }
.home #header { position: absolute; top:5em; right:4.5%; width:13%; }
#header h1 { margin:0 0 4em 0; }
#header nav.gnavi ul { width:94%; margin:auto; border-top:solid 1px #333; padding:1.5em 0 3em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse-ms-flex-direction: row-reverse; flex-direction: row-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#header nav.gnavi ul li { font-family: "Ryumin Medium KL"; font-size: 1.5em; line-height: 1em; letter-spacing: 0.1em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#header nav.gnavi ul li a:hover { color:#a92926; }

@media screen and (max-width: 600px) {
body { font-size: 12px; }

/* options */
.pc { display:none; }
.sp { display:block; }
.pcbr { display:inline; }
.spbr { display:block; }

/* wrapper */
#wrapper { position: relative; padding:0; min-width:0; }

/* header */
#header { position: static; width:45%; margin:0 auto 0 auto; padding:1em 0 0 0; }
.home #header { position: static; width:45%; margin:0 auto 0 auto; padding:1em 0 0 0; }
#header h1 { margin:0 0 1em 0; }
.home #header h1 { margin:0 0 1em 0; }
#header nav.gnavi { display:none; }

/* main */
#main { min-height:0; }
#main .in { margin:4em 7% 4em 7%; }
#main .in_w { margin:0 0 0 0; }

/* cover */
#main .cover .head { position: relative; margin:0 0 0 0 }
#main .cover .head .photo { position: relative; height:40vh; max-height:60em; }
#main .cover .head .photo img { position: absolute; top:0; left:0; width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover;'; }
#main .cover .head .photo.ph_l img { width:100%; height:100%; object-fit: cover; font-family: 'object-fit: cover;'; object-position: 70% 50%; }
#main .cover .head .photo.ph_r img { width:100%; height:100%; object-fit: cover; font-family: 'object-fit: cover;'; object-position: 30% 50%; }
#main .cover .head .title { position: absolute; right:1.8rem; top:-6.8rem; bottom:auto; background-color: transparent; padding:0 0 0 0.5em; border-left:solid 1px #333; font-family: "Ryumin Medium KL"; font-size: 1.2em; letter-spacing: 0.1em; line-height: 1em; letter-spacing: 0.1em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .cover .head .title.s_title { font-size: 1.1em; }
#main .cover .lead { position: relative; margin:4em auto 4em auto; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; text-align: left; }
#main .cover .lead .title { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna";}
#main .cover .lead .title h2 { font-family: "Ryumin Medium KL"; font-size: 1.6em; line-height: 2em; letter-spacing: 0.1em; margin:0 auto 0 auto; }
#main .cover .lead .ex { overflow: scroll; width:100%; margin:3em auto 0 auto; padding:0 10%; height:auto; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .cover .lead .ex.ex_no { overflow:auto; width:auto; padding:0; }
#main .cover .lead .ex p { font-size: 1.25em; line-height: 2em; letter-spacing: 0.1em; margin:0 0 0 1em; }
#main .cover .lead .ex p:last-child { margin:0 0 0 0; }
#main .cover .lead .fade_l { position:absolute; bottom:0; left:0; width:14%; height:auto; z-index: 10; }
#main .cover .lead .scroll { position:relative; width:100%; height:2em;}
#main .cover .lead .scroll img { position:absolute; width:35%; right:10%; bottom:0; z-index: 11;}
#main .cover .sub_photo ul { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .cover .sub_photo ul li { width:48.5%; }
.home #main .cover { position: relative; margin:0 0 0 0; }
.home #main .cover .head { margin:0 0 0 0; }
.home #main .cover .catch { width:100%; position: static; text-align: center; padding:2em 0; }
.home #main .cover .catch img { width:70%; height:auto; }
.home #main .cover .head .photo { position: relative; height:70vh; max-height:70em; }
.home #main .cover .head .photo img { width:100%; height:100%; object-fit: cover; font-family: 'object-fit: cover;'; object-position: 50% 50%; }

/* top */
#main .top { position: relative; margin:0 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .top_in { margin:0 0 0 0; }

/* information */
#main .information { display:none; position: static; width:100%; margin:0 0 0 0; height:auto; background-color:#ede2c6; padding:1.5em 5%; }
_:lang(x)::-internal-media-controls-overlay-cast-button,#main .information { padding:1em; }
#main .information dl { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start;  text-align:left; }
#main .information dl dt { white-space: nowrap; display: block; font-family: "Ryumin Medium KL"; font-size: 1.3em; line-height: 1em; margin:0.2em 1.5em 0 0; padding:0 0.5em; border:none; border-left:solid 1px #aaa; border-right:solid 1px #aaa; -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; font-feature-settings : "palt"; text-align: left; }
#main .information dl dd { display: block; font-family: "Ryumin Medium KL"; font-size: 1.2em; line-height: 1.5em; -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; font-feature-settings : "palt"; text-align: left; }
 }

/* main */
#main { min-height:55em; }
#main .in { margin:8em 22% 8em 5vh; }
#main .in_w { margin:0 5vh 0 5vh; }

/* cover */
#main .cover {  }
#main .cover .head { position: relative; margin:5vh 22% 0 5vh; }
#main .cover .head .photo { position: relative; height:90vh; max-height:60em; }
#main .cover .head .photo div { height:100%; }
#main .cover .head .photo img { position: absolute; top:0; left:0; width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover;'; }
#main .cover .head .title { position: absolute; right:1em; bottom:-1px; background-color: #ffffff; padding:1em 0 0 1em; font-family: "Ryumin Medium KL"; font-size: 2em; letter-spacing: 0.1em; line-height: 1em; letter-spacing: 0.1em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
_:-ms-input-placeholder, :root #main .cover .head .title { position: absolute; right:0; bottom:auto; top:0; padding:0 0 1em 1em; }
@supports (-ms-ime-align: auto) and (-webkit-text-stroke: initial) { #main .cover .head .title { position: absolute; right:0; bottom:auto; top:0; padding:0 0 1em 1em; } }
_:lang(x)::-internal-media-controls-overlay-cast-button, #main .cover .head .title { right:-1px; bottom:-1px;  }
@-moz-document url-prefix() { #main .cover .head .title { right:-1px; bottom:-1px; } }
#main .cover .lead { position: relative; margin:8em auto 8em auto; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse-ms-flex-direction: row-reverse; flex-direction: row-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; text-align: left; }
#main .cover .lead .title { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna";}
#main .cover .lead .title h2 { font-family: "Ryumin Medium KL"; font-size: 1.8em; line-height: 2.2em; letter-spacing: 0.1em; margin:0 0 0 2em; }
#main .cover .lead .ex { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .cover .lead .ex p { font-size: 1.3em; line-height: 2.2em; letter-spacing: 0.1em; margin:0 0 0 1.5em; }
#main .cover .lead .ex p:last-child { margin:0 0 0 0; }
#main .cover .sub_photo ul { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .cover .sub_photo ul li { width:48.5%; }
.home #main .cover { position: relative; margin:0 22% 0 5vh; }
.home #main .cover .head { margin:0 0 0 20%; }
.home #main .cover .catch { position: absolute; top:11em; left:7.5%; width:9%; z-index: 999; }
.home #main .cover .head .photo { position: relative; height:100vh; max-height:65em; }
.home #main .cover .head .photo img { width:100%; height:100%; object-fit: cover; font-family: 'object-fit: cover;'; object-position: 45% 50%; }

/* top */
#main .top { margin:0 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .top_in { margin:0 5% 0 10%; width:100%; }

/* information */
#main .information { position: absolute; top:0; left:0; height:100%; background-color:#ede2c6; padding:3em 3.5em 3em 2em; z-index: 10; }
_:lang(x)::-internal-media-controls-overlay-cast-button,#main .information { padding:3em 2em 3em 2em; }
@-moz-document url-prefix() { #main .information { padding:3em 2em 3em 2em; } }
_:-ms-input-placeholder, :root #main .information  { padding:3em 2em 3em 2em; }
@supports (-ms-ime-align: auto) and (-webkit-text-stroke: initial) { #main .information  { padding:3em 2em 3em 2em; } }
#main .information dl { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .information dl dt { font-family: "Ryumin Medium KL"; font-size: 1.4em; line-height: 1em; border-top:solid 1px #333; border-bottom:solid 1px #333; padding:0.75em 0; margin:0 0 1.5em 0; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .information dl dd { font-family: "Ryumin Medium KL"; font-size: 1.3em; line-height: 1em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }

/* top_sec */
#main .top_sec { width:100%; margin:6em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse-ms-flex-direction: row-reverse; flex-direction: row-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .top_sec .photo { width:45%; }
#main .top_sec .ex { width:50%; border-top:solid #333 1px; padding:4em 0 0 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse-ms-flex-direction: row-reverse; flex-direction: row-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .top_sec .ex .head { text-align: left; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .top_sec .ex .head h2 { font-size: 1.6em; line-height: 2em; margin:0 0 1.5em 0; }
#main .top_sec .ex .txt { text-align: justify; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .top_sec .ex .txt p { font-size: 1.3em; line-height: 2em; margin:0 0 0 1.5em; }
#main .top_sec .ex .txt p:last-child { margin:0 0 0 0; }
#main .top_sec .ex .link { text-align: left; }
#main .top_sec .ex .link a { font-size: 1.3em; line-height: 1em; margin:0 0 1.5em 0; border:solid 1px #333; padding:1em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna";  }
#main .top_sec .ex .link a i { font-size: 0.5em; margin:0 0 1em 0; }
#main .top_sec .ex .link a:hover { background-color: #333; color:#fff; }
#main .top_sec_2 { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
#main .top_sec_2 .photo { width:60%; }
#main .top_sec_2 .ex { width:28%; margin:0 4% 0 0; }

/* top_sub */
#main .top_sub { width:100%; margin:6em 0; }
#main .top_sub ul { width:100%; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .top_sub li { width:30%; }

/* top_banner */
#main .top_banner { width:100%; margin:6em 0 0 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .top_banner .top_banner_bn { width:47%; border-top:solid 1px #333; padding:5em 0 5em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse-ms-flex-direction: row-reverse; flex-direction: row-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .top_banner .top_banner_bn .head { width:auto; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .top_banner .top_banner_bn .head h2 { font-size: 1.5em; line-height: 1em; }
#main .top_banner .top_banner_bn .head h2:before { content:""; display:inline-block; border-top:solid 1px #333; border-left:solid 1px #333; border-right:solid 1px #333; width:1.8em; line-height: 1em; height:0.4em; margin:0 0 1em 0; }
#main .top_banner .top_banner_bn .head h2:after { content:""; display:inline-block; border-bottom:solid 1px #333; border-left:solid 1px #333; border-right:solid 1px #333; width:1.8em; line-height: 1em; height:0.4em; margin:0.75em 0 0 0; }
#main .top_banner .top_banner_bn dl { width:84%; text-align: left; }
#main .top_banner .top_banner_bn dl dt { margin:0 0 1.5em 0; }
#main .top_banner .top_banner_bn dl dd.title { font-size: 1.4em; line-height: 1.8em; margin:0 0 1.5em 0; margin:0 0 0.5em 0; }

/* gallery_bn */
#main .gallery_bn { width:100%; border-top:solid 1px #333; padding:5em 0 4em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse-ms-flex-direction: row-reverse; flex-direction: row-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .gallery_bn .head { width:auto; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .gallery_bn .head h2 { font-size: 1.5em; line-height: 1em; }
#main .gallery_bn .head h2:before { content:""; display:inline-block; border-top:solid 1px #333; border-left:solid 1px #333; border-right:solid 1px #333; width:1.8em; line-height: 1em; height:0.4em; margin:0 0 1em 0; }
#main .gallery_bn .head h2:after { content:""; display:inline-block; border-bottom:solid 1px #333; border-left:solid 1px #333; border-right:solid 1px #333; width:1.8em; line-height: 1em; height:0.4em; margin:0.75em 0 0 0; }
#main .gallery_bn .ex { width:92.5%; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse-ms-flex-direction: row-reverse; flex-direction: row-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
#main .gallery_bn .ex a { display:block; position: relative; }
#main .gallery_bn .ex a .title { position: absolute; background-color: #fff; top:-1em; right:2em; font-size: 1.3em; line-height: 1em; padding:0.4em; border:solid 1px #333; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
_:lang(x)::-internal-media-controls-overlay-cast-button, #main .gallery_bn .ex a .title { top:-1em; right:1em; }
#main .gallery_bn .ex .gallery_bn_1 { width:45.5%; }
#main .gallery_bn .ex .gallery_bn_1 a .title { top:-1em; right:auto; left:1em; }
#main .gallery_bn .ex .gallery_bn_2 { width:24%; }
#main .gallery_bn .ex .gallery_bn_3 { width:22.5%; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
_:-ms-input-placeholder, :root #main .gallery_bn .ex .gallery_bn_3 { display:block; }
_:-ms-input-placeholder, :root #main .gallery_bn .ex .gallery_bn_3 a { margin:0 0 3.2em 0; }

/* top_news */
#main .top_news { width:100%; border-top:solid 1px #333; padding:2em 0 1em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; text-align:left; }
#main .top_news .head { width:15%; }
#main .top_news .head h2 { font-size: 1.6em; line-height: 1.2em; width:auto; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; text-align:left; }
#main .top_news .head h2:before { content:""; display:inline-block; border-left:solid 1px #333; border-top:solid 1px #333; border-bottom:solid 1px #333; width:0.3em; line-height: 1em; height:1em; margin:0 0.5em 0 0; }
#main .top_news .head h2:after { content:""; display:inline-block; border-right:solid 1px #333; border-top:solid 1px #333; border-bottom:solid 1px #333; width:0.3em; line-height: 1em; height:1em; margin:0 0.75em 0 0; }
#main .top_news .news_list { width:80%; }
#main .top_news .news_list li { border-bottom:solid 1px #333; padding:1.5em 0;  }
#main .top_news .news_list li dl { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; text-align:left; }
#main .top_news .news_list li dl dt { font-size: 1em; line-height: 1em; margin:0 2em 0 0; }
#main .top_news .news_list li dl dd { font-size: 1.2em; line-height: 1.2em; white-space: nowrap; }
#main .top_news .news_list li:first-child { padding:0 0 1.5em 0;  }
#main .top_news .news_list li:last-child { border-bottom:none; }

/* sns */
#main .sns { width:100%; border-top:solid 1px #333; padding:3em 0 6em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .sns .facebook { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; margin:0 5% 0 0; }
#main .sns dl { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .sns dl dt { font-size: 1.4em; line-height: 1em; margin:0 2em 0 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .sns dl dt:before { content:""; display:inline-block; border-left:solid 1px #333; border-top:solid 1px #333; border-bottom:solid 1px #333; width:0.3em; line-height: 1em; height:1em; margin:0 1em 0 0; }
#main .sns dl dt:after { content:""; display:inline-block; border-right:solid 1px #333; border-top:solid 1px #333; border-bottom:solid 1px #333; width:0.3em; line-height: 1em; height:1em; margin:0 0 0 0.75em; }
#main .sns dl dd i { font-size: 3em; line-height: 1em; }
#main .sns dl dd i.fa-facebook { color:#2467aa; }
#main .sns dl dd i.fa-instagram { color:#333333; }
#main .sns dl dd i.fa-line { color:#3fa537; }
#main .sns dl dd.icon { margin:0 1rem; }
#main .sns dl dd.ex a { font-size: 1.6em; line-height: 1em; font-family: "Midashi Min MA31"; color:#3fa537; }

/* flow */
#main .flow { background-color:#ede2c6; padding:5em 7%; }
#main .flow .flow_ex { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .flow .flow_ex h2 { font-size: 1.8em; line-height: 1em; margin:0 0 0 1.5em; }
#main .flow .flow_ex h2:before { content:""; display:inline-block; border-top:solid 1px #333; border-left:solid 1px #333; border-right:solid 1px #333; width:1.8em; line-height: 1em; height:0.4em; margin:0 0 1em 0; }
#main .flow .flow_ex h2:after { content:""; display:inline-block; border-bottom:solid 1px #333; border-left:solid 1px #333; border-right:solid 1px #333; width:1.8em; line-height: 1em; height:0.4em; margin:0.75em 0 0 0; }
#main .flow .flow_ex .flow_top { width:100%; margin:0 0 4em 0; height:28em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; text-align: left;  }
#main .flow .flow_ex .flow_bottom { width:100%; height:28em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; text-align: left;  }
#main .flow .flow_ex h3 { z-index: 10; background-color:#ffffff; border:solid 1px #333; padding:1em 0.75em; font-size: 1.4em; line-height: 1em; margin:0 2em 0 1em; }
#main .flow .flow_ex h3.no_margin { margin:0 0 0 1em; }
#main .flow .flow_ex h3 .num { margin:0 0 1em 0; }
_::-webkit-full-page-media #main .flow .flow_ex h3 .num, _:future, :root #main .flow .flow_ex h3 .num { font-feature-settings : "palt"; }
#main .flow .flow_ex h4 { z-index: 10; background-color:#ede2c6; border:solid 1px #333; padding:1em 0.75em; display:inline-block; font-size: 1.4em; line-height: 1em; margin:0 2em 0 0; }
#main .flow .flow_ex p { font-size: 1.2em; line-height: 1.8em; margin:0 1em 0 0; letter-spacing: 0.05em; }
#main .flow .flow_ex p.att { border:solid 1px #a92926; color:#a92926; padding:1em 0.75em 0.75em 0.75em; margin:0 1em 0 0; display:inline-block; }
#main .flow .flow_ex p.tel { font-size: 2em; line-height: 1em; color:#a92926; margin:0 0.5em; }
#main .flow .flow_ex p.tel a { color:#a92926; letter-spacing: 0; }
#main .flow .flow_ex p a { color:#a92926; letter-spacing: 0; font-family: "Midashi Min MA31"; }
_::-webkit-full-page-media #main .flow .flow_ex p.tel, _:future, :root #main .flow .flow_ex p.tel { font-feature-settings : "palt"; }
#main .flow .flow_box_line { border-top:solid 1px #333; padding:2em 0 0 0; margin:2em 0 0 0; }

/* order_flow */
.order_flow li { margin:0 0 1em 0; background-color: #ede2c6; padding:1em; font-size: 1.2em; line-height: 1.5em; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; text-align: left; }

/* article_body */
#main .article_body { margin:0 22% 0 22%; padding:4em 0 4em 0; }
#main .article_body.other_body { margin:0 30% 0 15%; padding:3em 0 3em 0; }
#main .article_body.other_body .sns { padding:3em 0 0 0; margin:3em auto 0 auto; }
#main .article_body.contact_body { padding:0 0 8em 0; }
#main .article_body h2 { font-size: 1.8em; border-top:solid 1px #333; border-bottom:solid 1px #333; padding:1em 0; margin:2em 0 2em 0; }
#main .article_body h3 { font-size: 1.6em; border-left:solid 1px #333; padding:0 0 0 1em; margin:3em 0 1em 0; text-align: left; }
#main .article_body .access_list { border-bottom:solid 1px #333; padding:3em 0; text-align: left; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content:space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .article_body .access_list.none { border-bottom:none; }
#main .article_body .access_list .access_head { font-size: 2em; line-height: 1em; width:5%; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .article_body .access_list .access_ex { width:80%; }
#main .article_body .access_list .access_ex dt { font-size: 1.4em; line-height: 1em; margin:3em 0 1em 0; }
#main .article_body .access_list .access_ex dt:first-child { margin:2em 0 1em 0; }
#main .article_body .access_list .access_ex dt span { border:solid 1px #333; padding:0.75em; }
#main .article_body .access_list .access_ex dd { font-size: 1.3em; line-height: 1.8em; margin:2em 0 2em 0; }
#main .article_body .access_map { margin:5em 0 2em 0; border:solid 1px #333; padding:5em; }
#main .article_body .google_map { margin:5em 0 2em 0; }
#main .article_body .common_dl { margin:5em 0 2em 0; }
#main .article_body p { text-align: justify; font-size: 1.4em; line-height: 2em; }
#main .article_body .law_ul { text-align: left; font-size: 1.3em; line-height: 2em; border-left:solid 1px #333; border:solid 1px #333; padding:1em; margin:1.5em 0 0 0; }
#main .article_body .law_ul li { text-align: left; font-size: 1em; line-height: 2em; margin:0.5em 0 0.5em 0; padding:0 1em; }

/* contact_form */
#main .contact_form_box { background-color: #ede2c6; padding:3em 3em 4em 3em; margin:3em 0 0 0; border-radius: 1em; -webkit-border-radius: 1em; -moz-border-radius: 1em; overflow: hidden; }
#main .contact_form_box h3 { margin:0 0 1em 0;}
#main .contact_form { width:100%; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content:flex-start; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
#main .contact_form dt { width:25%; text-align: left; font-family: "Midashi Min MA31"; font-size: 1.1em; line-height: 1em; padding:2em 0 0 0; }
#main .contact_form dd { padding:1em 0; }
#main .contact_form dd.nes,#main .contact_form dd.no_nes { width:10%; text-align: center; padding:1.75em 0 0 0; }
#main .contact_form dd.nes span { font-size: 0.7em; line-height: 1em; padding:0.4em; background-color:#a92926; color:#fff; }
#main .contact_form dd.no_nes span { font-size: 0.7em; line-height: 1em; padding:0.4em; background-color:#eee; color:#333; }
#main .contact_form dd.ex { width:65%; text-align: left; }
#main .contact_form dd input[type="text"],#main .contact_form dd input[type="email"] { width:100%; border:none; background-color: #ffffff; padding:0.4em; font-size: 1.3em; line-height: 1.4em; }
#main .contact_form dd textarea { width:100% !important; height:20em !important; border:none; background-color: #ffffff; padding:0.4em; font-size: 1.3em; line-height: 1.4em; }
#main .submit input[type="submit"] { width:100%; font-family: "Ryumin Medium KL"; display:block; background-color: #333; border:none; padding:1em; color:#fff; font-size: 1.2em; letter-spacing: 0.1em; line-height: 1em; cursor:pointer; margin:1em 0 0 0; }
#main .submit input[type="submit"]:hover { background-color: #a92926; color:#fff; }
#main .contact_form .mfp_err { color:#a92926; padding:0.5em 0 0 0; }

#main #mfp_hidden,#mfp_phase_confirm { display:none; }
#main #mfp_phase_confirm_inner { background-color: #ede2c6; padding:3em 3em 4em 3em; margin:3em 0 0 0; border-radius: 1em; -webkit-border-radius: 1em; -moz-border-radius: 1em; overflow: hidden; }
#main #mfp_phase_confirm_inner h4 { font-size: 1.6em; border-left:solid 1px #333; padding:0 0 0 1em; margin:0 0 1em 0; text-align: left;}
#main #mfp_phase_confirm_inner table { width:100%; margin:0 0 2em 0; }
#main #mfp_phase_confirm_inner th { width:30%; padding:1em 0 1em 0; text-align: left; font-family: "Midashi Min MA31"; font-size: 1.1em; line-height: 1em; }
#main #mfp_phase_confirm_inner td { width:70%; padding:1em 0; text-align: left; font-size: 1.2em; line-height: 1.5em; }
#main #mfp_phase_confirm_inner input[type="text"],#main #mfp_phase_confirm_inner input[type="email"] { width:100%; border:none; background-color: #ffffff; padding:0.4em; font-size: 1.3em; line-height: 1.4em; }
#main #mfp_phase_confirm_inner textarea { width:100% !important; height:20em !important; border:none; background-color: #ffffff; padding:0.4em; font-size: 1.3em; line-height: 1.4em; }
#main #mfp_phase_confirm_inner button#mfp_button_send { width:100%; font-family: "Ryumin Medium KL"; display:block; background-color: #333; border:none; padding:1em; color:#fff; font-size: 1.2em; letter-spacing: 0.1em; line-height: 1em; cursor:pointer; margin:1em 0 0 0; }
#main #mfp_phase_confirm_inner button#mfp_button_send:hover { background-color: #a92926; color:#fff; }
#main #mfp_phase_confirm_inner button#mfp_button_cancel { width:100%; font-family: "Ryumin Medium KL"; display:block; background-color: #ede2c6; border:solid 2px #333; padding:1em; color:#333; font-size: 1.2em; letter-spacing: 0.1em; line-height: 1em; cursor:pointer; margin:0.5 0 0 0; }
#main #mfp_phase_confirm_inner button#mfp_button_cancel:hover { background-color: #a92926; color:#fff; }

/* blog */
#main .blog { margin:5vh 22% 5vh 4.5%; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .blog .blog_side { width:16%; text-align: center;  display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .blog .blog_side .head { text-align: center; width:100%; border-top:solid 1px #333; border-bottom:solid 1px #333; padding:2em 0; margin:0 0 3em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .blog .blog_side .head h2 { font-size: 2em; line-height: 1em; margin:auto; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .blog .blog_side .cat { text-align: center; margin:auto; }
#main .blog .blog_side .cat ul { margin:auto; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .blog .blog_side .cat ul li { font-size: 1.6em; line-height: 2em;  text-align: left; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .blog .blog_ex { width:78%; text-align: left; }
#main .blog .blog_ex .blog_box { border:solid 1px #333; padding:5em; margin:0 0 5em 0; position:relative; }
#main .blog .blog_ex .blog_box:last-child { margin:0 0 0 0; }
#main .blog .blog_ex .blog_box .head { position:absolute; top:0; left:0; border-right:solid 1px #333; border-bottom:solid 1px #333; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .blog .blog_ex .blog_box .head .cat_name { font-size: 1.4em; line-height: 1em; border-right:solid 1px #333; padding:0.75em 1em; }
#main .blog .blog_ex .blog_box .head .date { font-size: 1em; line-height: 1em; padding:0 2em; }
#main .blog .blog_ex h2 { font-size: 1.8em; margin:2em 0 2em 0; border-left:solid 1px #333; padding:0 0 0 1em; }
#main .blog .blog_ex h3 { font-size: 1.6em; margin:2em 0 1em 0; line-height: 1.5em; }
#main .blog .blog_ex h4 { font-size: 1.4em; margin:2em 0 1em 0; line-height: 1.5em; }
#main .blog .blog_ex h5 { font-size: 1.2em; margin:2em 0 1em 0; line-height: 1.5em; }
#main .blog .blog_ex h6 { font-size: 1.1em; margin:2em 0 1em 0; line-height: 1.5em; }
#main .blog .blog_ex p { text-align: justify; font-size: 1.4em; line-height: 2em; margin:0 0 1.5em 0; }
#main .blog .blog_ex p:last-child { margin:0 0 0 0; }
#main .blog .blog_ex h3 span,
#main .blog .blog_ex h4 span,
#main .blog .blog_ex h5 span,
#main .blog .blog_ex h6 span,
#main .blog .blog_ex p span { font-size: 1em !important; }
#main .blog .blog_ex img { width:auto; max-width:100%; height:auto; }
#main .blog .blog_ex a { color:#a92926; border-bottom:solid 1px#a92926; }
#main .blog .blog_ex a:hover { border-bottom:none; }

/* exs */
#main .exs { margin:8em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
#main .exs:last-child { margin:8em 0 4em 0; }
#main .exs .txt { width:25%; max-width:100%; border-top:solid 1px #333; border-bottom:solid 1px #333; padding:5em 0 3em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center;  }
#main .exs .txt .head { width:100%; text-align: center; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .exs .txt .head h3 { text-align: left; font-size: 1.8em; line-height: 2em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .exs .txt .ex { width:100%; max-width:100%; }
#main .exs .txt p { max-width:100%; text-align: justify; font-size: 1.1em; line-height: 2em; padding:0 0 1em 0; }
#main .exs .txt p:last-child { margin:0 0 0 0; }
#main .exs .photo { width:70%; }
#main .craft .exs:nth-child(even) { -webkit-box-orient: horizontal; -webkit-box-direction: reverse-ms-flex-direction: row-reverse; flex-direction: row-reverse; }

/* profile */
#main .profile { background-color:#ede2c6; padding:5em; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .profile .txt { width:60%; }
#main .profile .txt p { text-align: justify; font-size: 1.3em; line-height: 2em; margin:0 0 1.5em 0; }
#main .profile .txt p:last-child { margin:0 0 0 0; }
#main .profile .photo { width:35%; }

/* faq */
#main .faq { text-align:left; }
#main .faq dl { margin:0 0 0 22%; }
#main .faq dl dt { font-family: "Ryumin Medium KL"; font-size: 1.8em; line-height: 2em; letter-spacing: 0.1em; margin:0 0 1.5em 0; padding:0 0 0 10%; position: relative; }
#main .faq dl dt::before { content:"Q"; font-family: "Ryumin Medium KL"; font-size: 3rem; line-height: 1em; position: absolute; top:0; left:0; }
#main .faq dl dd { border-bottom:solid 1px #333; padding:0 0 5em 10%; margin:0 0 5em 0; position: relative;  }
#main .faq dl dd::before { content:"A"; font-family: "Ryumin Medium KL"; font-size: 3rem; line-height: 1em; position: absolute; top:0; left:0; }
#main .faq dl dd p { font-family: "Ryumin Medium KL"; font-size: 1.4em; line-height: 2em; text-align: justify; letter-spacing: 0.1em; margin:0 0 1em 0; }
#main .faq dl dd p:last-child { margin:0 0 0 0; }

/* voice */
#main .voice { text-align:left; width:60%; margin:auto; }
#main .voice_box { border:solid 1px #333; padding:5em; margin:0 0 5em 0; }
#main .voice_box .photo { margin:0 0 5em 0; }
#main .voice_box .ex { }
#main .voice_box .title h2 { font-size: 1.8em; margin:2em 0 2em 0; }
#main .voice_box .title h2:first-child { font-size: 1.8em; margin:0 0 2em 0; }
#main .voice_box .ex p { font-family: "Ryumin Medium KL"; font-size: 1.4em; line-height: 2em; text-align: justify; letter-spacing: 0.1em; margin:0 0 1em 0; }
#main .voice_box .ex p:last-child { margin:0 0 0 0; }
#main .voice_box .ex img { width:auto; max-width:100%; height:auto; }

/* gallery_cat */
#main .gallery_cat { }
#main .gallery_cat ul li { margin:8em 0; }
#main .gallery_cat ul li dl { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .gallery_cat ul li dt { width:60%; }
#main .gallery_cat ul li dd.title { width:12%; text-align: center; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
_:-ms-input-placeholder, #main .gallery_cat ul li dd.title { padding:0 4em 0 0; }
#main .gallery_cat ul li dd.title h2 { margin:auto; font-size: 1.8em; line-height: 1em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .gallery_cat ul li dd.title h2:before { content:""; display:inline-block; border-top:solid 1px #333; border-left:solid 1px #333; border-right:solid 1px #333; width:1.8em; line-height: 1em; height:0.4em; margin:0 0 1em 0; }
#main .gallery_cat ul li dd.title h2:after { content:""; display:inline-block; border-bottom:solid 1px #333; border-left:solid 1px #333; border-right:solid 1px #333; width:1.8em; line-height: 1em; height:0.4em; margin:0.75em 0 0 0; }
#main .gallery_cat ul li dd.ex { width:28%; text-align: left; }
#main .gallery_cat ul li dd.ex p { font-size: 1.3em; line-height: 2em; margin:0 0 1em 0; }
#main .gallery_cat ul li dd.ex .price { font-size: 1.4em; line-height: 1em; margin:1.5em 0 2.5em 0; border-left:solid 1px #333; padding:0 0 0 1em; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center;  }
#main .gallery_cat ul li dd.ex .price .tax { font-size: 0.6em; line-height: 1em; padding:0 0 0 0.5em; }
#main .gallery_cat ul li dd.ex .links { margin:4em 0 0 0; }
#main .gallery_cat ul li dd.ex .links a { font-size: 1em; line-height: 1em; border:solid 1px #333; padding:1em 1.5em; }
#main .gallery_cat ul li dd.ex .links a i { margin:0 1em 0 0; }
#main .gallery_cat ul li dd.ex .links a:hover { color:#fff; background-color: #333; }

/* gallery_list */
#main .gallery_list { }
#main .gallery_list ul { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .gallery_list ul li { width:31%; margin:0 0 5em 0; }
#main .gallery_list.gallery_list_2 ul li { width:48%; margin:0 0 5em 0; }
#main .gallery_list ul li dl { width:100%; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .gallery_list ul li dl dt { -webkit-box-ordinal-group:2; -ms-flex-order:1; order:1; position: relative; width:100%; height:25em; margin:0 0 2em 0; }
#main .gallery_list.gallery_list_2 ul li dl dt { position: relative; width:100%; height:32em; margin:0 0 2em 0; }
#main .gallery_list ul li dl dt img { position: absolute; top:0; left:0; width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover;'; }
#main .gallery_list ul li dl dd.num { -webkit-box-ordinal-group:5; -ms-flex-order:4; order:4; width:100%; font-size: 0.8em; line-height: 1em; text-align: left; border-left:solid #333 1px; padding:0 0 0 1.2rem; margin:0.5em 0 0 0; }
#main .gallery_list ul li dl dd.name { -webkit-box-ordinal-group:3; -ms-flex-order:2; order:2; width:70%; font-size: 1.4em; line-height: 1em; text-align: left; margin:0; border-left:solid #333 1px; padding:0 0 0 1rem; }
#main .gallery_list ul li dl dd.link { -webkit-box-ordinal-group:4; -ms-flex-order:3; order:3; width:30%; font-size: 0.8em; line-height: 1em; letter-spacing: 0.1em; text-align: center; margin:0; padding:0.75em; border:solid 1px #333; }
#main .gallery_list ul li dl dd.link i { margin:0 0.5em 0 0; }
#main .gallery_list ul li a:hover { color:#333; }
#main .gallery_list ul li a:hover dl dd.link { color:#fff; background-color: #333; }

/* gallery_list */
#main .gallery_title { padding:8em 0 0 0; }
#main .gallery_title h2 { position: relative; font-size: 1.8em; line-height: 2em; }
#main .gallery_title h2 .num { font-size: 0.5em; border-top:solid 1px #333; border-bottom:solid 1px #333; padding:0.4em 0; margin:0 3em 0 0; line-height: 1em; display:inline; vertical-align: middle; }

/* gallery_ph */
#main .gallery_ph { margin:8em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse-ms-flex-direction: row-reverse; flex-direction: row-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
#main .gallery_ph .photo { width:80%; position: relative; height:90vh; max-height:60em; }
#main .gallery_ph .photo div { height:100%; }
#main .gallery_ph .photo img { position: absolute; top:0; left:0; width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover;'; }
#main .gallery_ph .txt { width:17%; border-top:solid 1px #333; border-bottom:solid 1px #333; padding:5em 0 3em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center;  }
#main .gallery_ph .txt .head { width:100%; text-align: center; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .gallery_ph .txt .head h3 { text-align: left; font-size: 1.8em; line-height: 2em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .gallery_ph .txt .ex { width:100%; }
#main .gallery_ph .txt h4 { position: relative; text-align: left; margin:0 0 2em 0; }
#main .gallery_ph .txt h4 span { border-left:solid 1px #333; padding:0 0 0 1rem; }
#main .gallery_ph .txt h4 span.jp { font-size: 1.6em; line-height: 1em; margin:0 0 1em 0; display:block; }
#main .gallery_ph .txt h4 span.en { font-size: 0.9em; line-height: 1em; margin:0 0 2em 0; padding:0 0 0 1.2rem;  display:block; }
#main .gallery_ph .txt h4 span.sub { font-size: 1.2em; line-height: 1em; margin:0 0 1em 0; display:block; }
#main .gallery_ph .txt h4 span.num { font-size: 0.7em; border-left:none; border-top:solid 1px #333; border-bottom:solid 1px #333; padding:0.6em 0.2em; line-height: 1em; position: absolute; right:0; top:0em; display:block; }
#main .gallery_ph .txt p { text-align: justify; font-size: 1em; line-height: 1.9em; letter-spacing: 0.1em; margin:0 0 1em 0; }
#main .gallery_ph .txt p:last-child { margin:0 0 0 0; }
#main .gallery_ph .txt .size { text-align: left; }
#main .gallery_ph .txt .size h5 { font-size: 1.3em; line-height: 1.5em; text-align: left; margin:0 0 1em 0; }
#main .gallery_ph .txt .size h5 span { display:block; font-size: 0.7em; line-height: 1.5em; text-align: left; }
#main .gallery_ph .txt .size dl {display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch;  }
#main .gallery_ph .txt .size dt { width:20%; font-size: 1em; line-height: 1.5em; text-align: left; border-top:solid 1px #333; padding:0.5em 0; }
#main .gallery_ph .txt .size dd { width:80%; font-size: 1em; line-height: 1.5em; text-align: left; border-top:solid 1px #333; padding:0.5em 0; }
#main .gallery_ph .txt .link a { display:block; background-color: #333; color:#fff; padding:1em; text-align: center; margin:2em 0 0 0; }
#main .gallery_ph .txt .link a i { margin:0 1em 0 0; }
#main .gallery_ph .txt .link a:hover { display:block; background-color: #a92926; color:#fff; padding:1em; text-align: center; margin:2em 0 0 0; }

/* pageback */
#main .pageback { margin:0 5vh; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .pageback div { min-width:10%; }
#main .pageback a { display:block; font-size: 1.2em; line-height: 1.5em; text-align: center; padding:1em; margin:0 0 3em 0; border-top:solid 1px #333; border-bottom:solid 1px #333; }
#main .pageback a i { margin:0 1em 0 0; }
#main .pageback .next a i { margin:0 0 0 1em; }
#main .pageback.pageback_list { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }

/* order */
.order { margin:3em 0; }
.order .tabs { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
.order .tabs li a { font-size: 1.3em; line-height: 1em; display:block; padding:1em 2em; margin:0 1em; border:solid 1px #333; border-bottom:none; }
.order .tabs li a:hover,.order .tabs li.active a { background-color: #a92926; color:#fff; }
.order .tabs li a i { font-size: 0.8em; margin:0 0.5em 0 0; }
.order .tab_content { border:solid 1px #333; padding:5em; width:92%; margin:0 auto 5em auto; text-align: left; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
.order .tab_content .left { width:47%; }
.order .tab_content .right { width:47%; }
.order .tab_content .att { border:solid 1px #a92926; padding:1em 1.5em; margin:0; font-size: 1.3em; line-height: 1.8em; color:#a92926; }
.order .tab_content .att_m { margin:0 0 2em 0; }
.order .tab_content h3 { font-size: 1.6em; line-height: 1.5em; margin:2em 0 1em 0; border-left:solid 5px #a92926; padding:0 0 0 1em; }
.order .tab_content h3:first-child { margin:0 0 1em 0; }
.order .tab_content p { font-size: 1.3em; line-height: 2em; text-align: justify; margin:0 0 1.5em 0; }
.order .tab_content p:last-child { margin:0 0 0 0; }
.order .tab_content .cap { font-size: 0.7em; }
.order .tab_content .tel { font-size: 1.8em; line-height: 1.5em; font-family: "Midashi Min MA31"; margin:0 0 0.3em 0; }
.order .tab_content .tel i { margin:0 0.2em 0 0; }
.order .tab_content .link a { display:block; background-color: #333; color:#fff;  font-size: 1.2em; padding:1em; text-align: center; margin:2em 0 0 0; }
.order .tab_content .link a i { margin:0 1em 0 0; }
.order .tab_content .link a:hover { display:block; background-color: #a92926; color:#fff; padding:1em; text-align: center; margin:2em 0 0 0; }
.order .tab_content .link_m { margin:0 0 2em 0; }
.order .tab_content .order_flow { background-color:#ede2c6; padding:2em 2em 0 2em; }
.order .tab_content .flow_dl { background-color:#ede2c6; padding:2em 2em 2em 2em; }
.order .tab_content .flow_dl dt { font-size: 1.3em; line-height: 1.5em; margin:1em 0 1em 0; border-left:solid 5px #a92926; background-color: #ffffff; padding:0.5em 1em 0.5em 1em; }
.order .tab_content .flow_dl dd { font-size: 1.1em; line-height: 1.8em; margin:0 0 1em 0; }

/* wp-pagenavi */
.wp-pagenavi { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin:0 0 3em 0; color:#a92926; }
.wp-pagenavi .pages { margin:0 0.5em; }
.wp-pagenavi .previouspostslink, .wp-pagenavi .first,.wp-pagenavi .previouspostslink, .wp-pagenavi .last,.wp-pagenavi .page ,.wp-pagenavi .nextpostslink { font-size:1.2em; line-height: 3em; width:3em; margin:0.5em 0.5em; background-color: #eee; text-align: center; }
.wp-pagenavi .current,.wp-pagenavi .page:hover ,.wp-pagenavi .nextpostslink:hover {font-size:1.2em; line-height: 3em; width:3em; margin:0 0.5em; color:#fff; background-color: #a92926; text-align: center; }
.wp-pagenavi a { color:#a92926; border:none !important; }
.wp-pagenavi a:hover { color:#fff !important; }
.wp-pagenavi .previouspostslink,.wp-pagenavi .nextpostslink,.wp-pagenavi .last { font-family : 'Font Awesome 5 Free'; }

/* pn_link */
.pn_link { width:80%; font-size: 1.1em; line-height: 1em; margin:0 auto 2em auto; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content:space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

/* footer */
#footer { width:90%; margin:0 5%; padding:5em 0; }
.home #footer { width:85%; margin:0 5% 0 10%; }
#footer footer { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#footer footer .logo { width:15%; }
#footer footer nav { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse-ms-flex-direction: row-reverse; flex-direction: row-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#footer footer nav ul { border-top:solid 1px #333; padding:2em 0 0 0; margin:0 0 0 5em; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse-ms-flex-direction: row-reverse; flex-direction: row-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#footer footer nav ul.gnavi_a { width:15em; }
#footer footer nav ul.gnavi_b { width:15em; }
#footer footer nav ul.gnavi_a li,#footer footer nav ul.gnavi_b li { text-align: left; font-family: "Ryumin Medium KL"; font-size: 1.6em; line-height: 1em; letter-spacing: 0.1em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#footer footer nav ul.snavi { width:8em; }
#footer footer nav ul.snavi li { text-align: left; font-family: "Ryumin Medium KL"; font-size: 1.4em; line-height: 1em; letter-spacing: 0.1em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#footer footer nav ul.ssnavi { width:7em; }
#footer footer nav ul.ssnavi li { text-align: left; font-family: "Ryumin Medium KL"; font-size: 1.2em; line-height: 1em; letter-spacing: 0.1em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#footer footer .cp { width:100%; padding:5em 0 0 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse-ms-flex-direction: row-reverse; flex-direction: row-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#footer footer .cp h1 { font-size: 0.9em; letter-spacing: 0.15em; }
#footer footer .cp .copyright { font-size: 0.8em; letter-spacing: 0.1em; }

/* styles */

/* sp */
body { }
body { }
body { }
body { }
body { }
body { }
body { }

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

/* top_sec */
#main .top_sec { margin:0 0 3em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .top_sec .photo { width:100%; }
#main .top_sec .ex { width:100%; border-top:none; padding:3em 0 0 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .top_sec .ex .head { margin:0 0 3em 0; padding:2em 0; text-align: left; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .top_sec .ex .head h2 { font-size: 1.5em; line-height: 2.2em; letter-spacing: 0.3em; margin:0 0 0 0; }
#main .top_sec .ex .txt { width:auto; text-align: justify; margin:3em auto 2em auto; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .top_sec .ex .txt p { font-size: 1.25em; line-height: 2em; margin:0 0 0 0; }
#main .top_sec .ex .txt p:last-child { margin:0 0 0 0; }
#main .top_sec .ex .link { text-align: left; width:80%; text-align: center; }
#main .top_sec .ex .link a { display:block; font-size: 1.25em; line-height: 1em; margin:0 0 2em 0; border:solid 1px #333; padding:0.75em; -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; font-feature-settings : "palt";  }
#main .top_sec .ex .link a i { font-size: 1em; margin:0 1em 0 0; }
#main .top_sec .ex .link a:hover { background-color: #333; color:#fff; }
#main .top_sec_2 { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
#main .top_sec_2 .photo { width:100%; }
#main .top_sec_2 .ex { width:100%; margin:0; }

/* top_sub */
#main .top_sub { margin:2em 0 2em 0; }
#main .top_sub ul { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .top_sub li { width:47.5%; }
#main .top_sub li:nth-child(1) { margin:0 2.5% 5% 0; }
#main .top_sub li:nth-child(2) { margin:0 0 5% 2.5%; }
#main .top_sub li:nth-child(3) { margin:0 0 0 0; }

/* top_banner */
#main .top_banner { width:90%; margin:3em auto 0 auto; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .top_banner .top_banner_bn { width:100%; border-top:solid 1px #333; padding:3em 0 3em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse-ms-flex-direction: row-reverse; flex-direction: row-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .top_banner .top_banner_bn .head { width:auto; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .top_banner .top_banner_bn .head h2 { font-size: 1.25em; line-height: 1em; }
#main .top_banner .top_banner_bn .head h2:before { content:""; display:inline-block; border-top:solid 1px #333; border-left:solid 1px #333; border-right:solid 1px #333; width:1.8em; line-height: 1em; height:0.4em; margin:0 0 1em 0; }
#main .top_banner .top_banner_bn .head h2:after { content:""; display:inline-block; border-bottom:solid 1px #333; border-left:solid 1px #333; border-right:solid 1px #333; width:1.8em; line-height: 1em; height:0.4em; margin:0.75em 0 0 0; }
#main .top_banner .top_banner_bn dl { width:84%; text-align: left; }
#main .top_banner .top_banner_bn dl dt { margin:0 0 1em 0; }
#main .top_banner .top_banner_bn dl dd.title { font-size: 1.2em; line-height: 1.5em; margin:0 0 1.5em 0; margin:0 0 0.5em 0; }

/* gallery_bn */
#main .gallery_bn { width:90%; margin:0 auto 0 auto; border-top:solid 1px #333; padding:3em 0 0 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .gallery_bn .head { width:100%; -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; font-feature-settings : "palt"; text-align: center; margin:0 0 3em 0; }
#main .gallery_bn .head h2 { font-size: 1.3em; line-height: 1em; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .gallery_bn .head h2:before { content:""; display:inline-block; border-top:solid 1px #333; border-left:solid 1px #333; border-right:none; border-bottom:solid 1px #333; width:0.3em; line-height: 1em; height:1em; margin:0 1em 0 0; }
#main .gallery_bn .head h2:after { content:""; display:inline-block; border-top:solid 1px #333; border-left:none; border-right:solid 1px #333; border-bottom:solid 1px #333; width:0.3em; line-height: 1em; height:1em; margin:0 0 0 1em; }
#main .gallery_bn .ex { width:100%; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
#main .gallery_bn .ex a { display:block; position: relative; }
#main .gallery_bn .ex a .title { position: absolute; background-color: #fff; top:-1em; right:2em; font-size: 1.2em; line-height: 1em; padding:0.4em; border:solid 1px #333; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
_:lang(x)::-internal-media-controls-overlay-cast-button, #main .gallery_bn .ex a .title { top:-1em; right:1em; }
#main .gallery_bn .ex .gallery_bn_1 { width:100%; margin:0 0 3em 0; }
#main .gallery_bn .ex .gallery_bn_1 a .title { top:-1em; right:auto; left:1em; }
#main .gallery_bn .ex .gallery_bn_2 { width:100%; margin:0 0 3em 0; }
#main .gallery_bn .ex .gallery_bn_3 { width:100%; margin:0 0 0 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .gallery_bn .ex .gallery_bn_3 a { margin:0 0 3em 0; }
#main .gallery_bn .ex .gallery_bn_3 a:last-child { margin:0 0 0 0; }

/* top_news */
#main .top_news { width:86%; margin:3em auto 0 auto; border-top:solid 1px #333; padding:3em 0 4em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; text-align:left; }
#main .top_news .head { width:auto; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .top_news .head h2 { font-size: 1.3em; line-height: 1.2em; width:auto; }
#main .top_news .head h2:before { content:""; display:inline-block; border-left:solid 1px #333; border-right:solid 1px #333; border-top:solid 1px #333; border-bottom:none; width:2em; line-height: 1em; height:0.3em; margin:0 0 1em 0; }
#main .top_news .head h2:after { content:""; display:inline-block; border-left:solid 1px #333; border-right:solid 1px #333; border-top:none; border-bottom:solid 1px #333; width:2em; line-height: 1em; height:0.3em; margin:1em 0 0 0; }
#main .top_news .news_list { width:80%; }
#main .top_news .news_list li { border-bottom:solid 1px #333; padding:1.5em 0; }
#main .top_news .news_list li dl { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; text-align:left; }
#main .top_news .news_list li dl dt { font-size: 0.8em; line-height: 1em; margin:0 0 1em 0; text-align:left; }
#main .top_news .news_list li dl dd { font-size: 1.2em; line-height: 1.4em; white-space: normal; text-align:left; }
#main .top_news .news_list li:first-child { padding:0 0 1.5em 0; }
#main .top_news .news_list li:last-child { border-bottom:none; padding:1.5em 0 0 0; }

/* sns */
#main .sns { width:86%; margin:3em auto 0 auto; border-top:solid 1px #333; padding:0 0 3em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .sns .facebook { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; margin:0 0 0 0; }
#main .sns dl { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .sns dl dt { width:100%; font-size: 1.25em; line-height: 1em; margin:3em 0 1em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .sns dl dt:before { content:""; display:inline-block; border-left:solid 1px #333; border-top:solid 1px #333; border-bottom:solid 1px #333; width:0.3em; line-height: 1em; height:1em; margin:0 1em 0 0; }
#main .sns dl dt:after { content:""; display:inline-block; border-right:solid 1px #333; border-top:solid 1px #333; border-bottom:solid 1px #333; width:0.3em; line-height: 1em; height:1em; margin:0 0 0 0.75em; }
#main .sns dl dd i { font-size: 3em; line-height: 1em; }
#main .sns dl dd i.fa-facebook { color:#2467aa; }
#main .sns dl dd i.fa-instagram { color:#333333; }
#main .sns dl dd i.fa-line { color:#3fa537; }
#main .sns dl dd.icon { width:auto; margin:0 1em; }
#main .sns dl dd.ex a { font-size: 1.4em; line-height: 1em; color:#3fa537; }

/* flow */
#main .flow { background-color:#ede2c6; padding:2em 0 2em 0; }
#main .flow .flow_ex { display:block; overflow: scroll; width:100%; margin:0 auto 0 auto; padding:0 10%; height:auto; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .flow .flow_ex .flow_top { display:block; width:auto; margin:0 0 0 0; height:30em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; text-align: left;  }
#main .flow .flow_ex .flow_bottom { display:block; width:auto; height:30em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; text-align: left;  }
#main .flow .flow_ex h2 { font-size: 1.8em; line-height: 1em; margin:0 0 0 2em; }
#main .flow .flow_ex h2:before { content:""; display:inline-block; border-top:solid 1px #333; border-left:solid 1px #333; border-right:solid 1px #333; width:1.8em; line-height: 1em; height:0.4em; margin:0 0 1em 0; }
#main .flow .flow_ex h2:after { content:""; display:inline-block; border-bottom:solid 1px #333; border-left:solid 1px #333; border-right:solid 1px #333; width:1.8em; line-height: 1em; height:0.4em; margin:0.75em 0 0 0; }
#main .flow .flow_ex h3 { z-index: 10; background-color:#ffffff; border:solid 1px #333; padding:1em 0.75em; font-size: 1.4em; line-height: 1em; margin:0 2em 0 1em; }
#main .flow .flow_ex h3.no_margin { margin:0 2em 0 1em; }
#main .flow .flow_ex h3 .num {  margin:0 0 1em 0; font-feature-settings : "palt"; }
_::-webkit-full-page-media #main .flow .flow_ex h3 .num, _:future, :root #main .flow .flow_ex h3 .num { font-feature-settings : "palt"; }
#main .flow .flow_ex h4 { z-index: 10; background-color:#ede2c6; border:solid 1px #333; padding:1em 0.75em; display:inline-block; font-size: 1.4em; line-height: 1em; margin:0 2em 0 0; }
#main .flow .flow_ex p { font-size: 1.2em; line-height: 1.9em; margin:0 1em 0 0; letter-spacing: 0.05em; }
#main .flow .flow_ex p.att { border:solid 1px #a92926; color:#a92926; padding:1em 0.75em; margin:0 1em 0 0; display:inline-block; }
#main .flow .flow_ex p.tel { font-size: 2em; line-height: 1em; color:#a92926; margin:0 0.5em; font-feature-settings : "palt"; }
#main .flow .flow_ex p.tel a { color:#a92926; letter-spacing: 0em; }
_::-webkit-full-page-media #main .flow .flow_ex p.tel, _:future, :root #main .flow .flow_ex p.tel { font-feature-settings : "palt"; }
#main .flow .flow_box_line { border-top:solid 1px #333; padding:2em 0 0 0; margin:2em 0 0 0; }
#main .flow .scroll { position:relative; width:100%; height:3em; }
#main .flow .scroll img { position:absolute; width:40%; right:10%; bottom:0; z-index: 11; }

/* article_body */
#main .article_body { margin:0 7% 0 7%; padding:8em 0 8em 0; }
#main .article_body.other_body { margin:0 7% 0 7%; padding:0 0 3em 0; }
#main .article_body.other_body .sns { padding:0 0 0 0; margin:3em auto 0 auto; }
#main .article_body.contact_body { padding:0 0 5em 0; }
#main .article_body h2 { font-size: 1.4em; border-top:solid 1px #333; border-bottom:solid 1px #333; padding:1em 0; margin:2em 0 1em 0; }
#main .article_body h3 { font-size: 1.3em; border-left:solid 1px #333; padding:0 0 0 1em; margin:2em 0 1em 0; text-align: left; }
#main .article_body .access_list { border-bottom:solid 1px #333; padding:1em 0; text-align: left; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content:space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .article_body .access_list.none { border-bottom:none; }
#main .article_body .access_list .access_head { font-size: 1.4em; line-height: 1em; width:5%; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .article_body .access_list .access_ex { width:85%; }
#main .article_body .access_list .access_ex dt { font-size: 1.1em; line-height: 1em; margin:3em 0 1em 0; }
#main .article_body .access_list .access_ex dt:first-child { margin:2em 0 1em 0; }
#main .article_body .access_list .access_ex dt span { border:solid 1px #333; padding:0.75em; }
#main .article_body .access_list .access_ex dd { font-size: 1.2em; line-height: 1.8em; margin:2em 0 2em 0; }
#main .article_body .access_map { margin:2em 0 2em 0; border:none; padding:2em 0; }
#main .article_body .google_map { margin:5em 0 2em 0; }
#main .article_body .common_dl { margin:5em 0 2em 0; }
#main .article_body p { text-align: justify; font-size: 1.2em; line-height: 1.8em; }
#main .article_body .law_ul { text-align: left; font-size: 1.2em; line-height: 2em; border-left:solid 1px #333; border:solid 1px #333; padding:1em; margin:1.5em 0 0 0; }
#main .article_body .law_ul li { text-align: justify; font-size: 1em; line-height: 2em; margin:0.5em 0 0.5em 0; padding:0 1em; }
#main .article_body .law_ul li br { display:none; }

/* contact_form */
#main .contact_form_box { background-color: #ede2c6; padding:0 2em 2em 2em; margin:3em 0 0 0; border-radius: 1em; -webkit-border-radius: 1em; -moz-border-radius: 1em; overflow: hidden; }
#main .contact_form { width:100%; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content:space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
#main .contact_form dt { width:70%; text-align: left; font-family: "Midashi Min MA31"; font-size: 1.1em; line-height: 1em; padding:2em 0 0 0; }
#main .contact_form dd { padding:1em 0 0 0; }
#main .contact_form dd.nes,#main .contact_form dd.no_nes { width:30%; text-align: right; padding:1.75em 0 0 0; }
#main .contact_form dd.nes span { font-size: 0.7em; line-height: 1em; padding:0.4em; background-color:#a92926; color:#fff; }
#main .contact_form dd.no_nes span { font-size: 0.7em; line-height: 1em; padding:0.4em; background-color:#eee; color:#333; }
#main .contact_form dd.ex { width:100%; text-align: left; }
#main .contact_form dd input[type="text"],#main .contact_form dd input[type="email"] { width:100%; border:none; background-color: #ffffff; padding:0.4em; font-size: 1.3em; line-height: 1.4em; }
#main .contact_form dd textarea { width:100%; height:20em; border:none; background-color: #ffffff; padding:0.4em; font-size: 1.3em; line-height: 1.4em; }
#main .submit input[type="submit"] { width:100%; font-family: "Ryumin Medium KL"; display:block; background-color: #333; border:none; padding:1em; color:#fff; font-size: 1.2em; letter-spacing: 0.1em; line-height: 1em; cursor:pointer; margin:1em 0 0 0; }
#main .submit input[type="submit"]:hover { background-color: #a92926; color:#fff; }

#main #mfp_hidden,#mfp_phase_confirm { display:none; }
#main #mfp_phase_confirm_inner { background-color: #ede2c6; padding:3em 3em 4em 3em; margin:3em 0 0 0; border-radius: 1em; -webkit-border-radius: 1em; -moz-border-radius: 1em; overflow: hidden; }
#main #mfp_phase_confirm_inner h4 { font-size: 1.3em; border-left:solid 1px #333; padding:0 0 0 1em; margin:0 0 1em 0; text-align: left;}
#main #mfp_phase_confirm_inner table { width:100%; margin:0 0 2em 0; }
#main #mfp_phase_confirm_inner table tr { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content:flex-start; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main #mfp_phase_confirm_inner th { width:100%; padding:1em 0 1em 0; text-align: left; font-family: "Midashi Min MA31"; font-size: 1.1em; line-height: 1em; }
#main #mfp_phase_confirm_inner td { width:100%; padding:0 0 1em 0; text-align: left; font-size: 1.2em; line-height: 1.5em; }
#main #mfp_phase_confirm_inner input[type="text"],#main #mfp_phase_confirm_inner input[type="email"] { width:100%; border:none; background-color: #ffffff; padding:0.4em; font-size: 1.3em; line-height: 1.4em; }
#main #mfp_phase_confirm_inner textarea { width:100% !important; height:20em !important; border:none; background-color: #ffffff; padding:0.4em; font-size: 1.3em; line-height: 1.4em; }
#main #mfp_phase_confirm_inner button#mfp_button_send { width:100%; font-family: "Ryumin Medium KL"; display:block; background-color: #333; border:none; padding:1em; color:#fff; font-size: 1.2em; letter-spacing: 0.1em; line-height: 1em; cursor:pointer; margin:1em 0 0 0; }
#main #mfp_phase_confirm_inner button#mfp_button_send:hover { background-color: #a92926; color:#fff; }
#main #mfp_phase_confirm_inner button#mfp_button_cancel { width:100%; font-family: "Ryumin Medium KL"; display:block; background-color: #ede2c6; border:solid 2px #333; padding:1em; color:#333; font-size: 1.2em; letter-spacing: 0.1em; line-height: 1em; cursor:pointer; margin:0.5 0 0 0; }
#main #mfp_phase_confirm_inner button#mfp_button_cancel:hover { background-color: #a92926; color:#fff; }

/* blog */
#main .blog { margin:0 5% 0 5%; padding:0 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .blog .blog_side { width:100%; text-align: center;  display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse-ms-flex-direction: row-reverse; flex-direction: row-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; margin:0 0 2em 0; }
#main .blog .blog_side .head { position: relative; text-align: center; width:100%; border-top:solid 1px #333; border-bottom:none; padding:0; margin:0 0 1em 0; }
#main .blog .blog_side .head h2 { position: absolute; right:0.75rem; top:-6.8rem; bottom:auto; background-color: transparent; padding:0 0 0 0.5em; border-left:solid 1px #333; font-family: "Ryumin Medium KL"; font-size: 1.2em; letter-spacing: 0.1em; line-height: 1em; letter-spacing: 0.1em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .blog .blog_side .cat { text-align: center; margin:auto; }
#main .blog .blog_side .cat ul { margin:auto; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .blog .blog_side .cat ul li { font-size: 1.3em; line-height: 3em;  text-align: left; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .blog .blog_ex { width:100%; text-align: left; }
#main .blog .blog_ex .blog_box { border:solid 1px #333; padding:2em; margin:0 0 4em 0; position:relative; }
#main .blog .blog_ex .blog_box:last-child { margin:0 0 0 0; }
#main .blog .blog_ex .blog_box .head { position:absolute; top:0; left:0; border-right:solid 1px #333; border-bottom:solid 1px #333; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .blog .blog_ex .blog_box .head .cat_name { font-size: 1.2em; line-height: 1em; border-right:solid 1px #333; padding:0.75em 1em; }
#main .blog .blog_ex .blog_box .head .date { font-size: 0.8em; line-height: 1em; padding:0 2em; }
#main .blog .blog_ex h2 { font-size: 1.4em; margin:3em 0 1.5em 0; }
#main .blog .blog_ex p { text-align: justify; font-size: 1.2em; letter-spacing: 0.1em; line-height: 1.8em; margin:0 0 1em 0; }
#main .blog .blog_ex p:last-child { margin:0 0 0 0; }

/* exs */
#main .exs { margin:0 0 8em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
#main .exs:last-child { margin:0 0 4em 0; }
#main .exs .txt { width:80%; margin:auto; border-top:solid 1px #333; border-bottom:none; padding:3em 0 3em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center;  }
#main .exs .txt .head { width:100%; text-align: center; margin:0 0 3em 0;  }
#main .exs .txt .head h3 { text-align: left; font-size: 1.6em; line-height: 2em; margin:auto; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .exs .txt p { text-align: justify; font-size: 1.2em; line-height: 1.8em; letter-spacing: 0.1em; margin:0 0 1em 0; }
#main .exs .txt p:last-child { margin:0 0 0 0; }
#main .exs .photo { width:100%; margin:0 0 0 0; }
#main .craft .exs:nth-child(even) { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
#main .message .exs { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; }
#main .message .exs .txt { width:80%; margin:auto; border-top:none; border-bottom:solid 1px #333; padding:3em 0 3em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center;  }

/* profile */
#main .profile { background-color:#ede2c6; padding:3em; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .profile .txt { width:100%; margin:0 0 3em 0; }
#main .profile .txt p { text-align: justify; font-size: 1.2em; letter-spacing:0.1em; line-height: 1.8em; margin:0 0 1.5em 0; }
#main .profile .txt p:last-child { margin:0 0 0 0; }
#main .profile .photo { width:100%; margin:0 0 2em 0; }

/* faq */
#main .faq { text-align:left; }
#main .faq dl { margin:0 0 0 0; }
#main .faq dl dt { font-family: "Ryumin Medium KL"; font-size: 1.4em; line-height: 1.8em; letter-spacing: 0.1em; margin:0 0 1em 0; padding:0 0 0 15%; position: relative; }
#main .faq dl dt::before { content:"Q"; font-family: "Ryumin Medium KL"; font-size: 1.6rem; line-height: 1em; position: absolute; top:0.1em; left:0; }
#main .faq dl dd { border-bottom:solid 1px #333; padding:0 0 3em 15%; margin:0 0 3em 0; position: relative;  }
#main .faq dl dd::before { content:"A"; font-family: "Ryumin Medium KL"; font-size: 1.6rem; line-height: 1em; position: absolute; top:0.1em; left:0; }
#main .faq dl dd p { font-family: "Ryumin Medium KL"; font-size: 1.2em; line-height: 1.8em; text-align: justify; letter-spacing: 0.1em; margin:0 0 1em 0; }
#main .faq dl dd p:last-child { margin:0 0 0 0; }
#main .faq dl dd:last-child { border-bottom:none; }

/* voice */
#main .voice { text-align:left; width:90%; margin:auto; }
#main .voice_box { border:solid 1px #333; padding:2em; margin:0 0 2em 0; }
#main .voice_box .photo { margin:0 0 2em 0; }
#main .voice_box .ex { }
#main .voice_box .ex p { font-family: "Ryumin Medium KL"; font-size: 1.2em; line-height: 1.8em; text-align: justify; letter-spacing: 0.1em; margin:0 0 1em 0; }
#main .voice_box .ex p:last-child { margin:0 0 0 0; }

/* gallery_cat */
#main .gallery_cat { }
#main .gallery_cat ul li { width:90%; margin:0 auto 8em auto; }
#main .gallery_cat ul li dl { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content:space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .gallery_cat ul li dt { width:100%; margin:0 auto 3em auto; }
#main .gallery_cat ul li dd.title { width:15%; text-align: center; margin:0.5em 0 0 0; }
#main .gallery_cat ul li dd.title h2 { margin:auto; font-size: 1.4em; line-height: 1em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .gallery_cat ul li dd.title h2:before { content:""; display:inline-block; border-top:solid 1px #333; border-left:solid 1px #333; border-right:solid 1px #333; width:1.8em; line-height: 1em; height:0.4em; margin:0 0 1em 0; }
#main .gallery_cat ul li dd.title h2:after { content:""; display:inline-block; border-bottom:solid 1px #333; border-left:solid 1px #333; border-right:solid 1px #333; width:1.8em; line-height: 1em; height:0.4em; margin:0.75em 0 0 0; }
#main .gallery_cat ul li dd.ex { width:75%; text-align: left; margin:auto; }
#main .gallery_cat ul li dd.ex p { font-size: 1.2em; line-height: 1.8em; margin:0 0 1em 0; }
#main .gallery_cat ul li dd.ex .price { font-size: 1.4em; line-height: 1em; margin:1.5em 0 2em 0; border-left:solid 1px #333; padding:0 0 0 1em; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center;  }
#main .gallery_cat ul li dd.ex .price .tax { font-size: 0.6em; line-height: 1em; padding:0 0 0 0.5em; }
#main .gallery_cat ul li dd.ex .links { margin:2em 0 0 0; }
#main .gallery_cat ul li dd.ex .links a { display:block; text-align: center; font-size: 1em; line-height: 1em; border:solid 1px #333; padding:1em 1.5em; }
#main .gallery_cat ul li dd.ex .links a i { margin:0 1em 0 0; }
#main .gallery_cat ul li dd.ex .links a:hover { color:#fff; background-color: #333; }

/* gallery_list */
#main .gallery_list { }
#main .gallery_list ul { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .gallery_list ul li { width:100%; margin:0 0 5em 0; }
#main .gallery_list.gallery_list_2 ul li { width:100%; margin:0 0 5em 0; }
#main .gallery_list ul li dl { width:100%; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#main .gallery_list ul li dl dt { position: relative; width:100%; height:25em; margin:0 0 2em 0; }
#main .gallery_list.gallery_list_2 ul li dl dt { position: relative; width:100%; height:25em; margin:0 0 2em 0; }
#main .gallery_list ul li dl dt img { position: absolute; top:0; left:0; width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover;'; }
#main .gallery_list ul li dl dd.num { width:100%; font-size: 0.8em; line-height: 1em; text-align: left; border-left:solid #333 1px; padding:0 0 0 1rem; margin:0.75em 0 0 5%; }
#main .gallery_list ul li dl dd.name { width:60%; font-size: 1.3em; line-height: 1em; text-align: left; margin:0 0 0 5%; border-left:solid #333 1px; padding:0 0 0 1em; }
#main .gallery_list ul li dl dd.link { width:25%; font-size: 0.7em; line-height: 1em; text-align: center; margin:0 5% 0 0; padding:0.75em; border:solid 1px #333; }
#main .gallery_list ul li dl dd.link i { margin:0 0.5em 0 0; }
#main .gallery_list ul li a:hover { color:#333; }
#main .gallery_list ul li a:hover dl dd.link { color:#fff; background-color: #333; }

/* gallery_list */
#main .gallery_title { padding:4em 0 0 0; }
#main .gallery_title h2 { font-size: 1.6em; line-height: 2em; }

/* gallery_ph */
#main .gallery_ph { margin:4em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
#main .gallery_ph .photo { width:100%; position: relative; height:45vh; max-height:60em; margin:0 0 4em 0; }
#main .gallery_ph .photo div { height:100%; }
#main .gallery_ph .photo img { position: absolute; top:0; left:0; width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover;'; }
#main .gallery_ph .txt { width:80%; margin:0 auto 1.5em auto; border-top:none; border-bottom:solid 1px #333; padding:3em 0 3em 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center;  }
#main .gallery_ph .txt .head { width:100%; text-align: center; margin:0 0 3em 0; }
#main .gallery_ph .txt .head h3 { text-align: left; font-size: 1.8em; line-height: 2em; margin:auto; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#main .gallery_ph .txt h4 { text-align: left; margin:0 0 2em 0; }
#main .gallery_ph .txt h4 span { border-left:solid 1px #333; padding:0 0 0 1rem; }
#main .gallery_ph .txt h4 span.jp { font-size: 1.6em; line-height: 1em; margin:0 0 1em 0; display:block; }
#main .gallery_ph .txt h4 span.en { font-size: 0.9em; line-height: 1em; margin:0 0 2em 0; padding:0 0 0 1.2rem;  display:block; }
#main .gallery_ph .txt h4 span.sub { font-size: 1.2em; line-height: 1em; margin:0 0 0 0; display:block; }
#main .gallery_ph .txt p { text-align: justify; font-size: 1.1em; line-height: 2em; margin:0 0 1em 0; }
#main .gallery_ph .txt p:last-child { margin:0 0 0 0; }
#main .gallery_ph .txt .size { text-align: left; }
#main .gallery_ph .txt .size h5 { font-size: 1.3em; line-height: 1.5em; text-align: left; margin:0 0 1em 0; }
#main .gallery_ph .txt .size h5 span { display:block; font-size: 0.7em; line-height: 1.5em; text-align: left; }
#main .gallery_ph .txt .size dl {display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch;  }
#main .gallery_ph .txt .size dt { width:20%; font-size: 1em; line-height: 1.5em; text-align: left; border-top:solid 1px #333; padding:0.5em 0; }
#main .gallery_ph .txt .size dd { width:80%; font-size: 1em; line-height: 1.5em; text-align: left; border-top:solid 1px #333; padding:0.5em 0; }
#main .gallery_ph .txt .link a { display:block; background-color: #333; color:#fff; padding:1em; text-align: center; margin:2em 0 0 0; }
#main .gallery_ph .txt .link a i { margin:0 1em 0 0; }
#main .gallery_ph .txt .link a:hover { display:block; background-color: #a92926; color:#fff; padding:1em; text-align: center; margin:2em 0 0 0; }

/* pageback */
#main .pageback { width:88%; margin:0 auto 0 auto; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#main .pageback div { width:25%; }
#main .pageback a { display:block; font-size: 1.2em; line-height: 1.5em; text-align: center; padding:0.75em 0; margin:0 0 3em 0; border-top:solid 1px #333; border-bottom:solid 1px #333; }
#main .pageback a i { margin:0 1em 0 0; }
#main .pageback .next a i { margin:0 0 0 1em; }

/* order */
.order { margin:3em 0; }
.order .tabs { width:92%; margin:0 auto 0 auto; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
.order .tabs li { width:50%; }
.order .tabs li a { font-size: 1.1em; line-height: 1em; display:block; padding:1.5em 0 1.5em 1.4em; margin:0; border:solid 1px #333; border-bottom:none; text-align: left; letter-spacing: 0.1em; }
.order .tabs li:nth-child(odd) a { border-right:none;  }
.order .tabs li a i { margin:0 0.75em 0 0; }
.order .tabs li a:hover,.order .tabs li.active a { background-color: #a92926; color:#fff; }
.order .tab_content { border:solid 1px #333; padding:2em; width:92%; margin:0 auto 5em auto; text-align: left; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
.order .tab_content .left { width:100%; margin:0 0 3em 0; }
.order .tab_content .right { width:100%; }
.order .tab_content .att { border:solid 1px #a92926; padding:1em 1.5em; margin:0; font-size: 1.2em; line-height: 1.8em; color:#a92926; }
.order .tab_content .att_m { margin:0 0 2em 0; }
.order .tab_content h3 { font-size: 1.4em; line-height: 1.5em; margin:2em 0 1em 0; border-left:solid 5px #a92926; padding:0 0 0 1em; }
.order .tab_content h3:first-child { margin:0 0 1em 0; }
.order .tab_content p { font-size: 1.2em; line-height: 1.8em; text-align: justify; margin:0 0 1.5em 0; }
.order .tab_content p:last-child { margin:0 0 0 0; }
.order .tab_content .cap { font-size: 0.7em; }
.order .tab_content .tel { font-size: 1.5em; line-height: 1.5em; font-family: "Midashi Min MA31"; margin:0 0 0.3em 0; }
.order .tab_content .tel i { margin:0 0.2em 0 0; }
.order .tab_content .link a { display:block; background-color: #333; color:#fff;  font-size: 1.2em; padding:1em; text-align: center; margin:2em 0 0 0; }
.order .tab_content .link a i { margin:0 1em 0 0; }
.order .tab_content .link a:hover { display:block; background-color: #a92926; color:#fff; padding:1em; text-align: center; margin:2em 0 0 0; }
.order .tab_content .link_m { margin:0 0 2em 0; }
.order .tab_content .order_flow { background-color:#ede2c6; padding:2em 2em 0 2em; }
.order .tab_content .flow_dl { background-color:#ede2c6; padding:1.5em; }
.order .tab_content .flow_dl dt { font-size: 1.2em; line-height: 1.5em; margin:1em 0 1em 0; border-left:solid 5px #a92926; background-color: #ffffff; padding:0.5em 1em 0.5em 1em; }
.order .tab_content .flow_dl dd { font-size: 1.1em; line-height: 1.8em; margin:0 0 1em 0; }

/* wp-pagenavi */
.wp-pagenavi { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin:0 0 3em 0; color:#a92926; }
.wp-pagenavi .pages { margin:0 0.5em; }
.wp-pagenavi .previouspostslink, .wp-pagenavi .first,.wp-pagenavi .previouspostslink, .wp-pagenavi .last,.wp-pagenavi .page ,.wp-pagenavi .nextpostslink { font-size:1.1em; line-height: 2.5em; width:2.5em; margin:0.5em 0.5em; background-color: #eee; text-align: center; }
.wp-pagenavi .current,.wp-pagenavi .page:hover ,.wp-pagenavi .nextpostslink:hover {font-size:1.1em; line-height: 2.5em; width:2.5em; margin:0 0.5em; color:#fff; background-color: #a92926; text-align: center; }
.wp-pagenavi a { color:#a92926; border:none !important; }
.wp-pagenavi a:hover { color:#fff !important; }
.wp-pagenavi .previouspostslink,.wp-pagenavi .nextpostslink,.wp-pagenavi .last { font-family : 'Font Awesome 5 Free'; }

/* pn_link */
.pn_link { width:80%; font-size: 1.1em; line-height: 1em; margin:0 auto 2em auto; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content:space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

/* footer */
#footer { width:85%; margin:auto; padding:3em 0 3em 0; }
.home #footer { width:85%; margin:auto; padding:3em 0 3em 0; }
#footer footer { position: relative; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#footer footer .logo { position: absolute; left:0; bottom:6em; -webkit-box-ordinal-group:3; -ms-flex-order:2; order:2; width:35%;  margin:0 auto 0 0; }
#footer footer nav { -webkit-box-ordinal-group:2; -ms-flex-order:1; order:1; width:100%; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse-ms-flex-direction: row-reverse; flex-direction: row-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#footer footer nav ul { border-top:solid 1px #333; padding:1.5em 0 0 0; margin:0 0 0 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse-ms-flex-direction: row-reverse; flex-direction: row-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#footer footer nav ul.gnavi_a { width:46%; margin:0 0 3em 8%; }
#footer footer nav ul.gnavi_b { width:46%; margin:0 0 3em 0; }
#footer footer nav ul.gnavi_a li,#footer footer nav ul.gnavi_b li { font-family: "Ryumin Medium KL"; font-size: 1.5em; line-height: 1em; letter-spacing: 0.1em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#footer footer nav ul.snavi { width:25%; margin:0 0 0 10%; }
#footer footer nav ul.snavi li { font-family: "Ryumin Medium KL"; font-size: 1.3em; line-height: 1em; letter-spacing: 0.1em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#footer footer nav ul.ssnavi { width:20%; }
#footer footer nav ul.ssnavi li { font-family: "Ryumin Medium KL"; font-size: 1em; line-height: 1em; letter-spacing: 0.1em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
#footer footer .cp { -webkit-box-ordinal-group:4; -ms-flex-order:3; order:3; width:100%; padding:3em 0 0 0; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#footer footer .cp h1 { font-size: 0.7em; letter-spacing: 0.1em; margin:0 0 1em 0; }
#footer footer .cp .copyright { font-size: 0.7em; letter-spacing: 0.1em; }

}
@media screen and (max-width: 374px) {
body { font-size: 10px; }
}
@media screen and (min-width: 601px) and (max-width: 1280px) {
body { font-size: 12px; }
}
@media screen and (min-width: 1281px) and (max-width: 1300px) {
body { font-size: 12.18px; }
}
@media screen and (min-width: 1301px) and (max-width: 1325px) {
body { font-size: 12.36px; }
}
@media screen and (min-width: 1326px) and (max-width: 1350px) {
body { font-size: 12.54px; }
}
@media screen and (min-width: 1351px) and (max-width: 1375px) {
body { font-size: 12.72px; }
}
@media screen and (min-width: 1376px) and (max-width: 1400px) {
body { font-size: 12.9px; }
}
@media screen and (min-width: 1401px) and (max-width: 1425px) {
body { font-size: 13.08px; }
}
@media screen and (min-width: 1426px) and (max-width: 1450px) {
body { font-size: 13.26px; }
}
@media screen and (min-width: 1451px) and (max-width: 1475px) {
body { font-size: 13.44px; }
}
@media screen and (min-width: 1476px) and (max-width: 1500px) {
body { font-size: 13.62px; }
}
@media screen and (min-width: 1501px) and (max-width: 1525px) {
body { font-size: 13.8px; }
}
@media screen and (min-width: 1526px) and (max-width: 1550px) {
body { font-size: 13.98px; }
}
@media screen and (min-width: 1551px) and (max-width: 1575px) {
body { font-size: 14.16px; }
}
@media screen and (min-width: 1576px) and (max-width: 1600px) {
body { font-size: 14.34px; }
}
@media screen and (min-width: 1601px) and (max-width: 1625px) {
body { font-size: 14.52px; }
}
@media screen and (min-width: 1626px) and (max-width: 1650px) {
body { font-size: 14.7px; }
}
@media screen and (min-width: 1651px) and (max-width: 1675px) {
body { font-size: 14.88px; }
}
@media screen and (min-width: 1676px) and (max-width: 1700px) {
body { font-size: 15px; }
}
