@charset "UTF-8";
/*! destyle.css v1.0.15 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model */
/* ============================================ */
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;600&family=Noto+Serif+JP:wght@300;400;500;600&display=swap");
* { box-sizing: border-box; }

::before, ::after { box-sizing: inherit; }

/* Document */
/* ============================================ */
/** 1. Correct the line height in all browsers. 2. Prevent adjustments of font size after orientation changes in iOS. 3. Remove gray overlay on links for iOS. */
html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ -webkit-tap-highlight-color: transparent; /* 3*/ }

/* Sections */
/* ============================================ */
/** Remove the margin in all browsers. */
body { margin: 0; }

/** Render the `main` element consistently in IE. */
main { display: block; }

/* Vertical rhythm */
/* ============================================ */
p, table, blockquote, address, pre, iframe, form, figure, dl { margin: 0; }

/* Headings */
/* ============================================ */
h1, h2, h3, h4, h5, h6 { font-size: inherit; line-height: inherit; font-weight: inherit; margin: 0; }

/* Lists (enumeration) */
/* ============================================ */
ul, ol { margin: 0; padding: 0; list-style: none; }

/* Lists (definition) */
/* ============================================ */
dt { font-weight: bold; }

dd { margin-left: 0; }

/* Grouping content */
/* ============================================ */
/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ border: 0; border-top: 1px solid; margin: 0; clear: both; color: inherit; }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
pre { font-family: monospace, monospace; /* 1 */ font-size: inherit; /* 2 */ }

address { font-style: inherit; }

/* Text-level semantics */
/* ============================================ */
/** Remove the gray background on active links in IE 10. */
a { background-color: transparent; text-decoration: none; color: inherit; }

/** 1. Remove the bottom border in Chrome 57- 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ }

/** Add the correct font weight in Chrome, Edge, and Safari. */
b, strong { font-weight: bolder; }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: inherit; /* 2 */ }

/** Add the correct font size in all browsers. */
small { font-size: 80%; }

/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

/* Embedded content */
/* ============================================ */
/** Remove the border on images inside links in IE 10. */
img { border-style: none; vertical-align: bottom; }

embed, object, iframe { border: 0; vertical-align: bottom; }

/* Forms */
/* ============================================ */
/** Reset form fields to make them styleable */
button, input, optgroup, select, textarea { -webkit-appearance: none; appearance: none; vertical-align: middle; color: inherit; font: inherit; border: 0; background: transparent; padding: 0; margin: 0; outline: 0; border-radius: 0; text-align: inherit; }

/** Reset radio and checkbox appearance to preserve their look in iOS. */
[type="checkbox"] { -webkit-appearance: checkbox; appearance: checkbox; }

[type="radio"] { -webkit-appearance: radio; appearance: radio; }

/** Show the overflow in IE. 1. Show the overflow in Edge. */
button, input { /* 1 */ overflow: visible; }

/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
button, select { /* 1 */ text-transform: none; }

/** Correct the inability to style clickable types in iOS and Safari. */
button, [type="button"], [type="reset"], [type="submit"] { cursor: pointer; -webkit-appearance: none; appearance: none; }

button[disabled], [type="button"][disabled], [type="reset"][disabled], [type="submit"][disabled] { cursor: default; }

/** Remove the inner border and padding in Firefox. */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

/** Restore the focus styles unset by the previous rule. */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

/** Remove arrow in IE10 & IE11 */
select::-ms-expand { display: none; }

/** Remove padding */
option { padding: 0; }

/** Reset to invisible */
fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }

/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
legend { color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

/** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress { vertical-align: baseline; }

/** Remove the default vertical scrollbar in IE 10+. */
textarea { overflow: auto; }

/** Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

/** 1. Correct the outline style in Safari. */
[type="search"] { outline-offset: -2px; /* 1 */ }

/** Remove the inner padding in Chrome and Safari on macOS. */
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

/** Clickable labels */
label[for] { cursor: pointer; }

/* Interactive */
/* ============================================ */
/* Add the correct display in Edge, IE 10+, and Firefox. */
details { display: block; }

/* Add the correct display in all browsers. */
summary { display: list-item; }

/* Remove outline for editable content. */
[contenteditable] { outline: none; }

/* Table */
/* ============================================ */
table { border-collapse: collapse; border-spacing: 0; }

caption { text-align: left; }

td, th { vertical-align: top; padding: 0; }

th { text-align: left; font-weight: bold; }

/* Misc */
/* ============================================ */
/** Add the correct display in IE 10+. */
template { display: none; }

/** Add the correct display in IE 10. */
[hidden] { display: none; }

/******************************************************

base

******************************************************/
html { font-size: 10px; }

body { font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "Sawarabi Mincho", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; font-weight: 400; -webkit-font-smoothing: antialiased; background: #fff; color: #333; font-size: 1.4rem; }

.block-catch { font-family: 'EB Garamond', serif; font-weight: 300; font-style: normal; letter-spacing: 0.05em; -webkit-font-smoothing: antialiased; }

a { color: #333333; text-decoration: none; transition: 200ms linear; }
a[href*="tel:"] { pointer-events: none; }

.aw { display: inline-block; }

.note { font-size: 12px; line-height: 1.6; }

.sp { display: none !important; }

ul { letter-spacing: -0.4em; font-size: 0; }
ul li { letter-spacing: 0; font-size: 1rem; }

.pic, .img { position: relative; }
.pic img, .img img { width: 100%; height: auto; }
.pic .cap, .img .cap { font-size: 10px; line-height: 1.2; text-align: right; position: absolute; right: 10px; bottom: 10px; color: #000; text-shadow: 0 0 3px #fff; }
.pic .cap.out, .img .cap.out { position: relative; bottom: auto; right: auto; margin-top: .2rem; display: block; }
.pic .cap.l, .img .cap.l { right: auto; left: 10px; text-align: left; }
.pic .cap.w, .img .cap.w { color: #fff; text-shadow: 0 0 3px #000; }

@media screen and (max-width: 640px) { body { padding-bottom: 50px; }
  a[href*="tel:"] { pointer-events: initial; }
  .sp { display: block !important; }
  .pc { display: none !important; } }
/******************************************************

daiwahouse_common

******************************************************/
#daiwahouse_head { padding: 10px 0; border-bottom: 1px solid #eaeaea; }
#daiwahouse_head .daiwahouse_inner { max-width: 1300px; width: 100%; margin: auto; overflow: hidden; }
#daiwahouse_head .yokoku { margin-top: .5rem; border-top: 1px solid #ddd; }
#daiwahouse_head .yokoku .yokoku-inner { max-width: 1000px; width: 94%; margin: auto; overflow: hidden; position: relative; padding: 10px 0; display: flex; align-items: center; }
#daiwahouse_head .yokoku .yokoku-inner:last-child { padding-bottom: 0; }
#daiwahouse_head .yokoku .yokoku-inner .ttl { width: 170px; text-align: center; font-size: 2rem; border: 1px solid #999; box-sizing: border-box; margin-right: 1.4rem; padding: 0.6rem 1rem; }
#daiwahouse_head .yokoku .yokoku-inner .txt { flex: 1; font-size: 1.3rem; font-feature-settings: "halt"; letter-spacing: 0.02em; }
@media screen and (max-width: 768px) { #daiwahouse_head .yokoku .yokoku-inner { padding: 5px 0; }
  #daiwahouse_head .yokoku .yokoku-inner .ttl { font-size: 1.6rem; }
  #daiwahouse_head .yokoku .yokoku-inner .txt { font-size: 1.1rem; } }
@media screen and (max-width: 640px) { #daiwahouse_head .yokoku { padding: 10px; }
  #daiwahouse_head .yokoku .yokoku-inner { flex-direction: column; width: 100%; }
  #daiwahouse_head .yokoku .yokoku-inner .ttl { width: 100%; margin-right: 0; }
  #daiwahouse_head .yokoku .yokoku-inner .txt { width: 100%; margin-top: 1rem; } }
@media screen and (max-width: 500px) { #daiwahouse_head .yokoku .yokoku-inner .ttl { font-size: 1.4rem; }
  #daiwahouse_head .yokoku .yokoku-inner .txt { font-size: 1rem; } }
#daiwahouse_head .daiwa_head_txt { float: left; margin-top: 14px; margin-left: 10px; }
#daiwahouse_head .daiwa_head_txt img { height: 17px; width: auto; }
#daiwahouse_head .logo_daiwahouse { float: right; margin-right: 10px; }
#daiwahouse_head .logo_daiwahouse img { height: 35px; width: auto; }
@media screen and (max-width: 930px) { #daiwahouse_head .daiwahouse_inner { width: 96%; }
  #daiwahouse_head .daiwa_head_txt { margin-top: 0; }
  #daiwahouse_head .daiwa_head_txt img { height: 11px; }
  #daiwahouse_head .logo_daiwahouse img { height: 22px; } }

#kyoka, #socialArea { max-width: 950px; width: 90%; margin: 1.5em auto; text-align: left; }
#kyoka em, #socialArea em { font-weight: 600; font-style: normal; }

#kyoka { font-size: 1.2rem; }
#kyoka p { line-height: 1.8em; text-align: left; }

#socialArea { overflow: hidden; }
#socialArea li { line-height: 1; float: left; margin-right: 11px; vertical-align: top; }

.cvBlock { /*min-width: 1200px;*/ padding: 56px 0; position: relative; background: url(https://www.daiwahouse.co.jp/bunjo/common/images/bg_cv.jpg) no-repeat; background-size: cover; }
.cvBlock .inner { max-width: 1120px; margin: 0 auto; text-align: center; }
.cvBlock .inner > div { display: inline-block; max-width: 544px; width: 47%; margin: 1%; }
.cvBlock .inner > div a { width: 100%; display: block; height: 105px; padding: 5px 0 0; border: 1px solid #fff; font-size: 28px; line-height: 1.4; color: #fff; text-align: center; text-decoration: none; vertical-align: middle; position: relative; }
.cvBlock .inner > div a span { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; }
.cvBlock .inner > div a small { font-size: 57%; display: block; }
@media screen and (max-width: 930px) { .cvBlock .inner > div a { font-size: 3.2vw; } }
@media screen and (max-width: 640px) { .cvBlock { padding: 20px 0 10px; }
  .cvBlock .inner > div { width: 90%; max-width: none; margin: 0 auto 20px; }
  .cvBlock .inner > div a { font-size: 5.2vw; } }

#subFooter { width: auto; padding: 32px 40px; background-color: #fff; border-top: 1px solid #e6e6e6; clear: both; font-size: 1.2rem; }
#subFooter::after { content: ''; display: block; clear: both; }
#subFooter .baseIn { max-width: 1120px; margin: 0 auto; padding-top: 0; border-top: none; clear: both; }
#subFooter .baseIn::after { content: ''; display: block; clear: both; }
#subFooter dl::after { content: ''; display: block; clear: both; }
#subFooter dt { width: 160px; font-size: 124%; display: table-cell; vertical-align: middle; }
#subFooter dd { width: 927px; padding-left: 32px; border-left: 1px solid #e6e6e6; display: table-cell; }
#subFooter dd li { margin: 8px 0; margin-right: 48px; float: left; }
#subFooter dd li a { padding-right: 14px; background: url(https://www.daiwahouse.co.jp/bunjo/common/images/ico_arrow03.png) right center no-repeat; -webkit-background-size: 6px 12px; -moz-background-size: 6px 12px; background-size: 6px 12px; color: #333; text-decoration: none; display: inline-block; }
@media screen and (max-width: 930px) { #subFooter dt { width: 100%; display: block; margin-bottom: 20px; }
  #subFooter dd { width: 100%; display: block; padding-left: 0; border-left: 0; } }

#footerArea { padding: 0; border-top: 1px solid #e6e6e6; overflow: visible; position: relative; }
#footerArea a { color: #4d4d4f; text-decoration: none; }
#footerArea::after { content: ''; display: block; clear: both; }
#footerArea #ftBtn_toTop { max-width: 1120px; margin: 0 auto; position: relative; }
#footerArea #ftBtn_toTop > div { position: absolute; top: -64px; right: 0; }
#footerArea #ftBtn_toTop > div a { background-color: #000; display: block; }
#footerArea .areaInner { position: relative; max-width: 1120px; width: 90%; min-height: 100px; margin: 0 auto; }
#footerArea .areaInner .column1 { float: left; width: 460px; padding: 24px 0 0 0; }
#footerArea .areaInner .column1 ul { line-height: 1.3; margin-bottom: 12px; overflow: hidden; }
#footerArea .areaInner .column1 li { float: left; margin: 0 15px 0 -7px; padding-left: 8px; border-left: 1px solid #4d4d4f; font-size: 12px; }
#footerArea .areaInner .column2 { float: right; width: 375px; line-height: 1; padding-top: 24px; text-align: right; }
#footerArea .areaInner .column2 p { line-height: 1.1; color: #4D4D4F; font-size: 11px; margin-bottom: 13px; }
@media screen and (max-width: 930px) { #footerArea .areaInner .column1 { float: none; width: 100%; }
  #footerArea .areaInner .column2 { float: none; width: 100%; } }
#footerArea .devSmp { display: none; }

/******************************************************

header

******************************************************/
.js-floating { position: relative; z-index: 100; }
.js-floating.sp_menu_btn_fixed { position: static; }

.js-floating-floater.fixed { position: fixed; z-index: 100; }

#head { background: #5688b2; color: #fff; position: relative; }
#head .bukken_name { /*padding: 35px 0 35px 40px;*/ position: absolute; top: 50%; left: 40px; transform: translateY(-50%); }
#head .bukken_name img { height: 20px; width: auto; }
@media screen and (max-width: 930px) { #head .bukken_name { position: relative; top: auto; transform: none; height: 80px; }
  #head .bukken_name img { transform: translateY(-50%); display: block; position: absolute; top: 50%; } }
@media screen and (max-width: 640px) { #head .bukken_name { left: auto; padding: 35px 0 35px 20px; }
  #head .bukken_name img { height: 4vw; left: 20px; } }
#head .head_nav { /*position: absolute;
top: 20px;
right: 15px;*/ letter-spacing: -0.4em; font-size: 0; padding: .5rem 15px .5rem 0; text-align: right; font-feature-settings: "halt"; }
#head .head_nav ul.tochi { margin-top: .2rem; }
#head .head_nav ul.tochi li.req a, #head .head_nav ul.tochi li.res a { background: #c9bc9c; color: #000; }
#head .head_nav ul.tochi li.req a::before, #head .head_nav ul.tochi li.res a::before { background: #c9bc9c; }
#head .head_nav li { font-size: 12px; letter-spacing: 0.1em; display: inline-block; vertical-align: middle; }
#head .head_nav li a { color: #fff; }
#head .head_nav li.map, #head .head_nav li.outline { margin-right: 20px; }
#head .head_nav li.req, #head .head_nav li.res { /*width: 160px;*/ width: 240px; margin-left: 1px; /*font-size: 15px;*/ font-size: 12px; }
#head .head_nav li.req a, #head .head_nav li.res a { background: #aea376; color: #fff; display: block; width: 100%; text-align: center; position: relative; padding: 12px 0; }
#head .head_nav li.req a span, #head .head_nav li.res a span { position: relative; z-index: 2; }
#head .head_nav li.req a::before, #head .head_nav li.res a::before { background: #aea376; filter: brightness(1.2); content: ""; display: block; width: 100%; height: 100%; position: absolute; left: 0; bottom: 0; margin: auto; transform: scale(0, 1); transform-origin: right top; transition: transform .3s; z-index: 1; }
#head .head_nav li.req a:hover::before, #head .head_nav li.res a:hover::before { transform-origin: left top; transform: scale(1, 1); }
@media screen and (max-width: 930px) { #head .head_nav { display: none; } }

.js-floating-floater.fixed #sp_menu_btn { top: 0px; padding: 10px; background: #5688b2; border-radius: 0 0 0 10px; }

#sp_menu_btn { position: absolute; top: 118px; right: 0px; padding-right: 10px; display: none; cursor: pointer; z-index: 99; }
#sp_menu_btn img { width: 50px; height: auto; }
@media screen and (max-width: 930px) { #sp_menu_btn { display: block; } }

#sp_menu_close { text-align: right; margin: 20px; cursor: pointer; }
#sp_menu_close img { height: 50px; width: auto; }

#sp_fixnav { position: fixed; top: -150%; left: 0; width: 100%; height: 100%; background: #5688b2; z-index: 100; transition: .4s; }
#sp_fixnav.on { top: 0; }
#sp_fixnav ul { max-width: 1200px; margin: auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
#sp_fixnav li { width: 50%; text-align: center; padding: 5px; font-feature-settings: "halt"; }
#sp_fixnav li:hover a { background: rgba(255, 255, 255, 0.2); }
#sp_fixnav li.current a { background: #8e7f57; }
#sp_fixnav li.req a, #sp_fixnav li.res a { background: #aea376; color: #fff; display: block; width: 100%; text-align: center; position: relative; /*padding: 20px 0;
font-size: 1.8rem;*/ border: 0; padding: 10px 0; font-size: 1.4rem; line-height: 1.4; }
#sp_fixnav li.req a span, #sp_fixnav li.res a span { position: relative; z-index: 2; }
#sp_fixnav li.req a::before, #sp_fixnav li.res a::before { background: #aea376; filter: brightness(1.2); content: ""; display: block; width: 100%; height: 100%; position: absolute; left: 0; bottom: 0; margin: auto; transform: scale(0, 1); transform-origin: right top; transition: transform .3s; z-index: 1; }
#sp_fixnav li.req a:hover::before, #sp_fixnav li.res a:hover::before { transform-origin: left top; transform: scale(1, 1); }
#sp_fixnav .tochi li.req a, #sp_fixnav .tochi li.res a { background: #c9bc9c; color: #000; }
#sp_fixnav .tochi li.req a::before, #sp_fixnav .tochi li.res a::before { background: #c9bc9c; }
#sp_fixnav a { color: #fff; text-align: center; display: block; width: 100%; padding: 10px 0 11px; box-sizing: border-box; border: 1px solid rgba(255, 255, 255, 0.5); font-size: 14px; }
#sp_fixnav a .en { display: block; font-family: 'EB Garamond', serif; font-weight: 300; font-style: normal; letter-spacing: 0.05em; -webkit-font-smoothing: antialiased; font-size: 10px; margin-top: 4px; }

#headNavArea { background: #5688b2; color: #fff; border-bottom: 6px solid #8e7f57; }
#headNavArea ul { max-width: 1200px; margin: auto; display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: stretch; align-items: stretch; }
#headNavArea ul * { min-height: 0%; }
#headNavArea li { width: 16.66%; text-align: center; }
#headNavArea li:hover a { color: rgba(255, 255, 255, 0.6); }
#headNavArea li.current a { background: #8e7f57; }
#headNavArea li.current:hover a { color: #fff; }
#headNavArea a { color: #fff; text-align: center; display: block; width: 100%; padding: 10px 0 11px; box-sizing: border-box; border-right: 1px solid rgba(255, 255, 255, 0.3); font-size: 14px; }
#headNavArea a .en { display: block; font-family: 'EB Garamond', serif; font-weight: 300; font-style: normal; letter-spacing: 0.05em; -webkit-font-smoothing: antialiased; font-size: 10px; margin-top: 4px; }
@media screen and (max-width: 930px) { #headNavArea { display: none; }
  #headNavArea.on { display: block; } }

/******************************************************

container

******************************************************/
section { position: relative; margin-top: 80px; }
section > .inner { max-width: 1080px; width: 90%; margin: auto; padding-top: 240px; }
section > .inner *, section > .inner *:before, section > .inner *:after { -webkit-box-sizing: border-box; box-sizing: border-box; }

.lead { font-size: 1.5rem; line-height: 1.8; letter-spacing: 0.05em; }

.category { font-family: 'EB Garamond', serif; font-weight: 300; font-style: normal; letter-spacing: 0.05em; -webkit-font-smoothing: antialiased; font-size: 2.0rem; color: #000; margin-bottom: 30px; letter-spacing: 0.2em; font-weight: bold; text-align: center; position: absolute; left: 0; right: 0; top: -50px; margin-inline: auto; }
.category::before { content: ""; width: 1px; height: 200px; background: #8e7f57; display: block; margin: 0 auto 20px; }

.maincopy { text-align: center; font-size: 3.2rem; color: #5688b2; line-height: 1.5; letter-spacing: 0.1em; margin-bottom: 3rem; }
@media screen and (max-width: 640px) { .maincopy { font-size: 2.4rem; } }

.column { background: #fff; box-shadow: 0 0 5px rgba(0, 0, 0, 0.4); padding: 10px; }
.column .column_inner { box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.4); padding: 5rem 6rem; }
@media screen and (max-width: 640px) { .column .column_inner { padding: 2rem 2rem; } }

@media screen and (max-width: 640px) { .lead { font-size: 1.3rem; }
  .category { font-size: 1.5rem; } }
.c-note { display: block; padding: 1rem 0 0 1rem; text-align: left; color: #8e7f57; width: 50%; position: absolute; top: 0; left: 0; }

/* yokoku
----------------------------*/
#yokoku { margin-top: 0; padding: 10px 0; }
#yokoku > .inner { padding-top: 0; max-width: 1200px; width: 96%; }
#yokoku .yokoku_label { float: left; font-size: 14px; text-align: center; box-sizing: border-box; border: 1px solid #ccc; line-height: 1; padding: 7px; margin-right: 10px; }
#yokoku p { font-size: 12px; overflow: hidden; }

/* main
----------------------------*/
#main { background: #efefef; }
#main #main_slide { display: none; }
#main #main_slide.slick-initialized { display: block; }
#main img { width: 100%; height: auto; }
#main > .note { padding: 10px; }
#main li .note { padding: 10px; width: 100%; }
@media screen and (max-width: 830px) { #main li .note { padding-top: 35px; width: 100%; } }
@media screen and (max-width: 640px) { #main > .note { padding-top: 25px; } }

/* intro
----------------------------*/
#intro { text-align: center; padding: 3rem 0; margin-top: 0;   /*
	.bukken_copy {
		padding: 6rem 0;
		.securea_ttl {
			margin-bottom: 5rem;
			img { height: 12rem; width: auto; }
		}
		.bukken {
			img { height: 2rem; width: auto; }
		}
	} */ }
#intro > .inner { padding-top: 0; }
#intro .category { position: static; }
#intro .category::before { content: none; }
#intro .main-copy { font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', sans-serif; font-weight: 300; -webkit-font-smoothing: antialiased; color: #5688b2; font-size: 2rem; line-height: 1.4; }
#intro .project-name { margin-top: 3rem; max-width: 535px; margin-inline: auto; }
#intro .video { max-width: 660px; margin-inline: auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 3rem; margin-top: 4rem; }
#intro .video img { transition: filter 200ms linear; }
#intro .video a:hover img { filter: brightness(1.2); }
#intro .catch-copy { color: #5688b2; border: 1px solid currentColor; width: 90%; max-width: 420px; padding: 1rem; display: inline-block; margin-inline: auto; margin-top: 3rem; }
@media screen and (max-width: 930px) { #intro {     /*
		.bukken_copy {
			.securea_ttl {
				max-width: 420px;
				margin: 0 auto 3rem;
				img { height: auto; width: 100%; }
			}
			.bukken {
				width: 100%;
				max-width: 183px;
				margin: auto;
				img { height: auto; width: 100%; }
			}
		} */ }
  #intro .video { gap: 1rem; } }

/* concept
----------------------------*/
#concept { background: url("../img/contents/bg_concept.jpg") bottom center no-repeat; background-size: cover; color: #000; border-top: 6px solid #8e7f57; padding-bottom: 12rem; }
#concept::before { position: absolute; left: 50%; top: -50px; content: ""; width: 1px; height: 200px; background: #8e7f57; display: block; z-index: 2; }
#concept > .inner { padding-top: 60px; }
#concept > .note { position: absolute; bottom: 5px; left: 5px; color: #ffffff; }
#concept .category { position: static; margin-top: 2rem; }
#concept .category::before { display: none; }
#concept .catch-copy { text-align: center; font-size: 6rem; line-height: 1.8; letter-spacing: 0.1em; margin-left: 0.5em; margin-bottom: 6rem; }
#concept .project-name { text-align: center; max-width: 607px; margin-inline: auto; margin-top: 5rem; mix-blend-mode: multiply; }
#concept .project-name + .lead { margin-top: 5rem; }
#concept .lead { text-align: center; font-size: 2.6rem; line-height: 2; }
#concept .lead + .note { text-align: center; margin-top: 1rem; }
#concept .concept-image { color: #8e7f57; margin-top: 6rem; text-align: center; }
#concept .concept-image .title { font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', sans-serif; font-weight: 300; -webkit-font-smoothing: antialiased; font-weight: bold; }
#concept .concept-image .title .lead { font-size: 1.6rem; }
#concept .concept-image .title .name { font-size: 1.8rem; }
#concept .concept-image .img { margin-top: 1.4rem; max-width: 492px; margin-inline: auto; }
#concept .concept-image .requirements { margin-top: 8rem; }
#concept .concept-image .requirements .title { font-size: 2rem; font-weight: 600; }
#concept .concept-image .requirements .text { margin-top: 1.5rem; font-size: 1.8rem; line-height: 1.6; }
#concept .design { box-sizing: border-box; border: 3px solid #fff; padding: 5px; margin-top: 10rem; }
#concept .design-inner { box-sizing: border-box; border: 1px solid #fff; background: rgba(0, 0, 0, 0.4); padding: 5rem 7rem; }
#concept .design-inner .title { font-size: 4rem; font-feature-settings: "palt"; letter-spacing: 0.2em; }
#concept .design-inner .designer { border-top: 1px solid #fff; border-bottom: 1px solid #fff; padding: 1.5rem 0 1.5rem 5rem; margin: 2rem 0; display: flex; align-items: center; gap: 10px 5rem; }
#concept .design-inner .designer .position { font-size: 2.5rem; line-height: 1.5; }
#concept .design-inner .designer .name { font-size: 2.5rem; font-feature-settings: "palt"; letter-spacing: 0.3em; }
#concept .design-inner .content::after { content: ''; display: block; clear: both; }
#concept .design-inner .content .pic { width: 30%; position: relative; float: right; margin: 0 0 1rem 2rem; }
#concept .design-inner .content .pic .note { position: absolute; bottom: 5px; right: 5px; color: #000000; }
#concept .design-inner .content .text { font-size: 1.7rem; line-height: 2; }
@media screen and (max-width: 930px) { #concept::before { height: 160px; } }
@media screen and (max-width: 640px) { #concept::before { height: 100px; }
  #concept .catch-copy { font-size: 10vw; margin-bottom: 3rem; }
  #concept .lead { font-size: 3.6vw; }
  #concept .lead b { font-size: 4vw; }
  #concept .concept-image .requirements .title { font-size: 1.6rem; }
  #concept .concept-image .requirements .text { font-size: 1.4rem; }
  #concept .design { margin-top: 6rem; }
  #concept .design-inner { padding: 2rem 2.5rem; }
  #concept .design-inner .title { font-size: 2.5rem; }
  #concept .design-inner .designer { flex-wrap: wrap; padding-left: 2rem; gap: 10px 3rem; }
  #concept .design-inner .designer .position, #concept .design-inner .designer .name { font-size: 2rem; }
  #concept .design-inner .content .pic { float: none; width: 60%; min-width: 200px; margin-inline: auto; }
  #concept .design-inner .content .text { font-size: 1.5rem; margin-bottom: 2rem; } }

/* gallery
----------------------------*/
/*
#gallery { margin-top: 0; border-top: 6px solid $c01; > .inner { padding-top: 220px; }
	.photo-list {
		display: flex; flex-wrap: wrap; .photo01, .photo02, .photo03 { width: 100%; } .photo04, .photo05, .photo06, .photo07 { width: 50%; } .photo08, .photo09, .photo10 { width: 33.33%; }
		.note { position: absolute; bottom: 0; left: 0; color: #ffffff; display: inline-block; padding: 1px 5px; background-color: rgb(00 00 00 / 0.7); font-feature-settings: "palt";
		}
	}
}
*/
/* plan
----------------------------*/
#plan { margin-top: 0; background-image: url("../img/contents/bg_plan.png"); background-size: 59.6% auto; background-position: right top; background-repeat: no-repeat; border-top: 6px solid #8e7f57; padding-bottom: 100px; }
#plan .kukaku { max-width: 925px; margin-inline: auto; }
#plan .kukaku + .maincopy { margin-top: 6rem; }
#plan .kukaku > .note { text-align: center; color: #000; margin-top: 2rem; }
#plan .appeal-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
#plan .appeal-list .appeal { box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3); padding: 10px 10px 20px; display: grid; grid-template-rows: subgrid; align-items: flex-start; grid-row: span 2; row-gap: 20px; }
#plan .appeal-list .appeal .img .cap { text-shadow: 0 0 3px #fff; }
#plan .appeal-list .appeal .img .cap.out { text-align: left; margin-top: 5px; }
#plan .appeal-list .appeal .copy { text-align: center; font-size: 1.8rem; font-feature-settings: "palt"; line-height: 1.6; align-self: center; }
#plan .planting { box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3); padding: 2rem 3rem; margin-top: 2rem; }
#plan .planting .plant-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
#plan .planting .plant .name { font-size: 1.4rem; font-feature-settings: "palt"; text-align: center; margin-top: 0.5rem; }
#plan .planting .catch-copy { font-size: 1.8rem; font-weight: bold; text-align: center; margin-top: 2rem; line-height: 1.4; }
#plan .plan-button { margin-top: 6rem; }
#plan .plan-button ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
#plan .plan-button ul li { padding: 5px; text-align: center; font-size: 3.6rem; color: #fff; transition: filter .2s linear; background: #727171; cursor: pointer; }
#plan .plan-button ul li .small { font-size: 66.66%; }
#plan .plan-button ul li:hover { filter: brightness(120%); }
#plan .plan-button ul li.active { background: #5688b2; }
#plan .plan-detail { display: none; }
#plan .plan-detail.active-detail { display: block; }
#plan .column { margin-top: 5rem; color: #5688b2; position: relative; }
#plan .column .pic { /*max-width: 779px;*/ max-width: 702px; margin-inline: auto; }
#plan .column .icon { position: absolute; top: 30px; right: 30px; }
#plan .column .icon img { width: 100px; height: auto; }
#plan .column .icon + .specArea { padding-right: 80px; }
#plan .column .icon_zeh { position: absolute; top: 5rem; right: 3rem; width: 18.868%; max-width: 200px; }
#plan .column .icon_zeh img { width: 100%; height: auto; }
#plan .column .note { color: #000; margin-top: 4rem; }
#plan .column_inner { position: relative; }
#plan .specArea { overflow: hidden; }
#plan .specArea .number { float: left; font-size: 2.8rem; background: #8e7f57; color: #fff; text-align: center; padding: 10px 30px; font-family: 'EB Garamond', serif; font-weight: 300; font-style: normal; letter-spacing: 0.05em; -webkit-font-smoothing: antialiased; }
#plan .specArea .ldk { float: left; margin-right: 20px; font-size: 2.8rem; background: #5688b2; color: #fff; text-align: center; padding: 10px 30px; font-family: 'EB Garamond', serif; font-weight: 300; font-style: normal; letter-spacing: 0.05em; -webkit-font-smoothing: antialiased; }
#plan .specArea ul { overflow: hidden; margin-right: 180px; }
#plan .specArea li { display: inline-block; font-size: 1.6rem; line-height: 1.5; }
#plan .mensekiArea { margin: 3rem auto 3rem 0; width: 90%; }
#plan .mensekiArea ul { display: flex; flex-wrap: wrap; gap: 0px 20px; }
#plan .mensekiArea li { display: inline-block; font-size: 1.6rem; }
#plan .mensekiArea li .sizeL { font-size: 2em; }
#plan .mensekiArea li .sizeM { font-size: 1.5em; }
#plan .mensekiArea li.note { font-size: 12px; line-height: 1.6; margin-top: 1rem; }
#plan .meritCopy { font-size: 2.2rem; line-height: 1.5; margin-bottom: 3rem; }
#plan .label { margin-inline: auto; width: 80%; max-width: 500px; margin-top: 6rem; }
#plan .label .note { margin-top: 1rem; }
@media screen and (max-width: 930px) { #plan .column_inner .icon_zeh { position: static; width: 100%; margin: 2rem auto 0; }
  #plan .specArea ul { margin-right: inherit; } }
@media screen and (max-width: 640px) { #plan .appeal-list { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  #plan .appeal-list .appeal { padding: 6px 6px 15px; gap: 15px; }
  #plan .appeal-list .appeal .copy { font-size: 1.4rem; line-height: 1.4; }
  #plan .planting { padding: 15px 25px; }
  #plan .planting .plant-list { grid-template-columns: repeat(3, 1fr); gap: 10px 6px; }
  #plan .planting .plant .name { font-size: 1rem; }
  #plan .planting .catch-copy { font-size: 1.4rem; margin-top: 15px; }
  #plan .column .icon { top: 80px; }
  #plan .column .icon img { width: 70px; }
  #plan .column .icon + .specArea { padding-right: 0; }
  #plan .column_inner { grid-template-columns: 1fr; padding-bottom: 4rem; }
  #plan .specArea .number { padding-left: 10px; padding-right: 10px; font-size: 2rem; width: 58%; }
  #plan .specArea .ldk { margin-right: auto; padding: 10px 0; font-size: 2rem; width: 42%; }
  #plan .specArea ul { overflow: visible; width: 100%; clear: both; padding-top: 1rem; }
  #plan .specArea li { width: 100%; font-size: 1.4rem; }
  #plan .mensekiArea { width: 100%; }
  #plan .mensekiArea li { font-size: 1.4rem; display: block; }
  #plan .meritCopy { font-size: 1.7rem; }
  #plan .icon { order: 3; text-align: center; }
  #plan .label { margin-top: 4rem; } }

/* equipment
----------------------------*/
#equipment { margin-top: 0; border-top: 6px solid #8e7f57; background: #000 url("../img/contents/bg_equipment.jpg") bottom center no-repeat; background-size: cover; color: #fff; padding-bottom: 16rem; position: relative; }
#equipment .maincopy { /*color: $c03;*/ color: #3b6181; }
#equipment .lead { /*color: $c03;*/ color: #3b6181; text-align: center; font-size: 1.7rem; }
#equipment .roomno { text-align: center; margin-top: 5rem; }
#equipment .roomno .txt { display: inline-block; padding: 0.5rem 2rem; font-size: 1.5rem; line-height: 1; color: #5688b2; border: 1px solid currentColor; background: #fff; }
#equipment ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px 20px; max-width: 1000px; margin-top: 5rem; margin-inline: auto; }
#equipment ul + .note { display: block; max-width: 1000px; margin: 1rem auto 0 auto; color: #fff; }
#equipment ul li { box-sizing: border-box; background: #fff; border: 1px solid #5688b2; color: #5688b2; padding: 14px 0; text-align: center; font-size: 1.5rem; display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; /*&:nth-child(-n+2){
	background: $c03;
	color: #fff;
}*/ }
#equipment ul li * { min-height: 0%; }
#equipment ul.plan31 li:nth-of-type(1) { background: #5688b2; color: #fff; }
#equipment > .note { color: #5688b2; position: absolute; bottom: 5px; left: 5px; }
@media screen and (max-width: 930px) { #equipment ul { grid-template-columns: repeat(2, 1fr); gap: 10px 15px; }
  #equipment ul li { font-size: 1.4rem; } }

/* access
----------------------------*/
#access { margin-top: 0; border-top: 6px solid #8e7f57; }
#access .accessmap { max-width: 744px; margin: 6rem auto 0; }
#access .station_min { max-width: 844px; margin: 6rem auto 0; }
#access .station_min .ttl { text-align: center; color: #5688b2; box-sizing: border-box; border: 1px solid #5688b2; padding: 10px 0; font-size: 1.8rem; margin-bottom: 2rem; margin-top: 4rem; }
#access .station_min + .note { margin-top: 4rem; text-align: center; }
#access .car { padding-top: 6rem; }
#access .car::before { background: radial-gradient(circle farthest-side, #5688b2, #5688b2 30%, transparent 30%, transparent); margin-bottom: 6rem; background-size: 20px 20px; content: ''; display: inline-block; height: 20px; width: 100%; }
#access .car .category { position: static; }
#access .car .category::before { display: none; }
#access .car .figure { max-width: 835px; margin-inline: auto; }
#access .car .haneda { display: grid; grid-template-columns: 1fr 0.908fr; column-gap: 6rem; max-width: 812px; margin-inline: auto; margin-top: 6rem; align-items: flex-start; }
#access .car .haneda .copy .title { font-size: 2rem; font-weight: bold; text-align: center; padding: 1rem 5px; background-color: #000; clip-path: polygon(10px 0%, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); position: relative; z-index: 1; }
#access .car .haneda .copy .title::after { background-color: #fff; clip-path: polygon(10px 0%, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); content: ''; height: calc(100% - 2px); width: calc(100% - 2px); display: block; position: absolute; z-index: -1; top: 1px; left: 1px; }
#access .car .haneda .copy .text { font-size: 1.6rem; line-height: 1.6; margin-top: 1rem; }
#access .car .haneda .copy .note { margin-top: 1rem; }
#access .category_main { margin-top: 10rem; }
#access .category_main .pic-list { display: grid; grid-template-columns: repeat(4, 1fr); }
@media screen and (max-width: 930px) { #access .car .haneda { column-gap: 4rem; } }
@media screen and (max-width: 640px) { #access .car .haneda { row-gap: 2rem; grid-template-columns: 1fr; margin-top: 4rem; }
  #access .car .haneda .pic { order: 2; }
  #access .car .haneda .copy { order: 1; }
  #access .car .haneda .copy .title { font-size: 1.6rem; }
  #access .car .haneda .copy .text { font-size: 1.3rem; } }

/* location
----------------------------*/
#location { margin-top: 0; border-top: 6px solid #8e7f57; }
#location .header-img .note { text-align: center; margin-top: 10px; }
#location .sotonomori { margin-top: 6rem; background-color: #fff; }
#location .sotonomori .sotonomori-inner { width: 90%; max-width: 920px; margin-inline: auto; }
#location .sotonomori .sub-copy { font-size: 2.8rem; border: 1px solid #000; font-feature-settings: "palt"; text-align: center; padding: 5px; }
#location .sotonomori .facility-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5rem 3.5rem; margin-top: 3rem; }
#location .sotonomori .facility .img { border-radius: 0 6rem 0 0; overflow: hidden; }
#location .sotonomori .facility .img .cap { position: absolute; bottom: 0; right: 0; color: #ffffff; display: inline-block; padding: 1px 5px; /*background-color: rgb(00 00 00 / 0.4);*/ background-color: rgba(0, 0, 0, 0.4); font-feature-settings: "palt"; text-shadow: none; }
#location .sotonomori .facility .name { font-size: 2rem; text-align: center; margin-top: 1.5rem; }
#location .sotonomori .facility .text { font-size: 1.6rem; margin-top: 1rem; line-height: 1.6; }
@media screen and (max-width: 640px) { #location .sotonomori .sub-copy { font-size: 2rem; }
  #location .sotonomori .facility-list { grid-template-columns: 1fr; gap: 3rem; }
  #location .sotonomori .facility .img { border-radius: 0 3rem 0 0; }
  #location .sotonomori .facility .name { font-size: 1.6rem; }
  #location .sotonomori .facility .text { font-size: 1.3rem; } }
#location .life-information { background: #f8f6e7; padding: 9rem 0; margin-top: 8rem; }
#location .life-information .inner { width: 90%; max-width: 920px; margin-inline: auto; }
@media screen and (max-width: 640px) { #location .life-information { padding: 6rem 0; margin-top: 5rem; } }
#location .column .title { font-size: 2rem; margin-bottom: 2rem; font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', sans-serif; font-weight: 300; -webkit-font-smoothing: antialiased; }
#location .column .facility-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
#location .column .facility-list .facility { font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', sans-serif; font-weight: 300; -webkit-font-smoothing: antialiased; }
#location .column .facility-list .facility .data { margin-top: 5px; font-size: 1.2rem; line-height: 1.3; }
#location .column .facility-list .facility .data .name { font-weight: bold; }
#location .column .facility-list .facility .data .minutes { display: block; }
#location .column .facility-list::after { content: ""; display: block; width: 50%; }
@media screen and (max-width: 930px) { #location .column .facility-list { grid-template-columns: repeat(3, 1fr); } }
@media screen and (max-width: 640px) { #location .column .facility-list { grid-template-columns: repeat(2, 1fr); gap: 16px; } }
#location .facilities { width: fit-content; margin-inline: auto; margin-top: 6rem; }
#location .facilities a { display: block; font-feature-settings: "palt"; background-color: #5688b2; color: #fff; font-size: 1.8rem; padding: 1rem 3rem; text-align: center; }
#location .facilities a::after { content: '\025b6'; margin-left: 10px; }
#location .facilities a:hover { filter: brightness(110%); }
@media screen and (max-width: 640px) { #location .facilities a { font-size: 1.4rem; } }
#location .inner .note { text-align: center; margin-top: 2rem; }
#location .category_main ul { display: grid; grid-template-columns: repeat(2, 1fr); }
#location .category_main ul li { position: relative; }
@media screen and (max-width: 930px) { #location .category::before { height: 160px; } }
@media screen and (max-width: 640px) { #location .category::before { height: 100px; } }

/* map
----------------------------*/
#map { margin-top: 0; margin-bottom: 10rem; border-top: 6px solid #8e7f57; }
#map > .inner { padding-top: 220px; }
#map .mapImg { border: solid 1px #4F2A11; margin-top: 4rem; }
#map .address { background: #5688b2; color: #fff; text-align: center; padding: 20px 0; font-size: 2.5rem; }
#map .address + .note { margin-top: 1rem; text-align: center; color: #8e7f57; }
#map .map-title { text-align: center; color: #5688b2; font-size: 2.7rem; letter-spacing: 0.2em; margin-top: 8rem; }
@media screen and (max-width: 640px) { #map .address { font-size: 2.0rem; } }

/* contact
----------------------------*/
#contact { border-top: 6px solid #8e7f57; background-color: #5688b2; background-size: cover; color: #fff; text-align: center; padding-bottom: 10rem; }
#contact .category { color: #fff; }
#contact .maincopy { letter-spacing: 0.2em; font-size: 3.5rem; color: #fff; }
#contact ul { display: flex; justify-content: space-between; flex-wrap: wrap; max-width: 800px; margin: 3rem auto; }
#contact ul li { width: 48%; /*font-size: 20px;*/ font-size: 18px; line-height: 1.4; margin-top: 10px; }
#contact ul li a { background: #aea376; color: #fff; display: block; width: 100%; text-align: center; position: relative; padding: 30px 0; }
#contact ul li a span { position: relative; z-index: 2; }
#contact ul li a::before { background: #aea376; filter: brightness(1.2); content: ""; display: block; width: 100%; height: 100%; position: absolute; left: 0; bottom: 0; margin: auto; transform: scale(0, 1); transform-origin: right top; transition: transform .3s; z-index: 1; }
#contact ul li a:hover::before { transform-origin: left top; transform: scale(1, 1); }
#contact .bnr { max-width: 800px; margin: auto; }
#contact .bnr img { width: 100%; height: auto; }
#contact .btn-box { max-width: 700px; margin: 6rem auto 0 auto; text-align: center; }
#contact .btn-box .b-ttl { font-size: 2.4rem; color: #aea376; border: solid 1px #aea376; padding: 1rem; background-color: #fff; font-feature-settings: "halt"; }
#contact .btn-box ul { margin: 1rem auto 0 auto; }
#contact .btn-box.tochi { margin-top: 6rem; position: relative; }
#contact .btn-box.tochi::before { content: ""; display: block; width: 90%; max-width: 100px; height: 10px; margin: 0 auto; padding-bottom: 6rem; border-top: dotted 10px #fff; }
#contact .btn-box.tochi .b-ttl { border: solid 1px #aea376; }
#contact .btn-box.tochi ul li a { background: #c9bc9c; color: #000; }
#contact .btn-box.tochi ul li a::before { background: #c9bc9c; }
@media screen and (max-width: 640px) { #contact { padding-bottom: 5rem; }
  #contact ul { margin-bottom: 0; }
  #contact ul li { width: 100%; /*margin-bottom: 20px;*/ }
  #contact ul li a { padding: 20px 0; }
  #contact .btn-box { padding: 2rem; }
  #contact .btn-box .b-ttl { font-size: 2rem; }
  #contact .btn-box.tochi { margin-top: 3rem; } }

/* pagetop
----------------------------*/
#pagetop { position: fixed; bottom: 0; right: 0; font-size: 14px; display: none; letter-spacing: 0.1em; z-index: 201; }
#pagetop a { text-decoration: none; color: #fff; background: rgba(0, 0, 0, 0.8); padding: 10px 30px 10px 20px; display: block; border-radius: 10px 0 0 0; position: relative; }
#pagetop a::after { content: ""; display: block; width: 10px; height: 10px; border-top: 1px solid #fff; border-right: 1px solid #fff; position: absolute; top: 45%; right: 10px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

/* fixed_info
----------------------------*/
#fixed_info { position: fixed; bottom: 0; left: 0; width: 100%; background: rgba(255, 255, 255, 0.9); padding: 10px 0; z-index: 200; }
#fixed_info ul { text-align: center; }
#fixed_info li { display: inline-block; vertical-align: middle; margin: 5px 10px; font-feature-settings: "halt"; }
#fixed_info li.tel p { display: inline-block; vertical-align: middle; font-size: 12px; text-align: left; }
#fixed_info li.tel p:last-child { font-size: 28px; margin-left: 10px; }
#fixed_info li.req, #fixed_info li.res { width: 200px; /*font-size: 14px;*/ font-size: 12px; }
#fixed_info li.req a, #fixed_info li.res a { background: #aea376; color: #fff; display: block; width: 100%; text-align: center; position: relative; padding: 10px 0; }
#fixed_info li.req a span, #fixed_info li.res a span { position: relative; z-index: 2; }
#fixed_info li.req a::before, #fixed_info li.res a::before { background: #aea376; filter: brightness(1.2); content: ""; display: block; width: 100%; height: 100%; position: absolute; left: 0; bottom: 0; margin: auto; transform: scale(0, 1); transform-origin: right top; transition: transform .3s; z-index: 1; }
#fixed_info li.req a:hover::before, #fixed_info li.res a:hover::before { transform-origin: left top; transform: scale(1, 1); }
#fixed_info li.req a + a, #fixed_info li.res a + a { margin-top: 5px; }
#fixed_info li.req a.tochi, #fixed_info li.res a.tochi { background: #c9bc9c; color: #000; }
#fixed_info li.req a.tochi::before, #fixed_info li.res a.tochi::before { background: #c9bc9c; }
@media screen and (max-width: 930px) { #fixed_info ul { width: 90%; margin: auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
  #fixed_info li { margin: 10px auto; }
  #fixed_info li.tel { width: 100%; }
  #fixed_info li.req, #fixed_info li.res { width: 49%; } }
@media screen and (max-width: 480px) { #fixed_info li.tel p { font-size: 10px; }
  #fixed_info li.tel p:last-child { font-size: 22px; } }

/******************************************************

footer

******************************************************/
#txtLink { background: #f4f4f4; border: 1px solid #d1d1d1; border-width: 1px 0; padding: 25px 0 10px; margin: 0px auto 20px; }
#txtLink ul { text-align: center; }
#txtLink li { display: inline-block; margin: 0 20px 20px; font-size: 1.2rem; font-feature-settings: "halt"; }
#txtLink li.current a { color: #c31831; }
#txtLink li .soon { color: #aeaeae; }

/* footerConversion
----------------------------*/
#bukken_tel ul { text-align: center; }
#bukken_tel li { display: inline-block; vertical-align: middle; margin: 0 10px 10px; }
#bukken_tel li:nth-of-type(1), #bukken_tel li:nth-of-type(3) { text-align: left; font-size: 12px; line-height: 1.5; }
#bukken_tel li:nth-of-type(2) { font-size: 48px; line-height: 1.2; }
@media screen and (max-width: 640px) { #bukken_tel li { display: block; }
  #bukken_tel li:nth-of-type(1), #bukken_tel li:nth-of-type(3) { text-align: center; } }

/* footerConversion
----------------------------*/
#footerConversion { text-align: center; width: 100%; margin: auto; border-bottom: 1px solid #d1d1d1; padding-bottom: 3rem; }
#footerConversion ul { display: flex; justify-content: space-between; flex-wrap: wrap; max-width: 600px; width: 90%; margin: 1.5rem auto 0; }
#footerConversion ul li { width: 48%; font-size: 20px; font-feature-settings: "halt"; }
#footerConversion ul li a { background: #aea376; color: #fff; display: block; width: 100%; text-align: center; position: relative; padding: 20px 0; }
#footerConversion ul li a span { position: relative; z-index: 2; }
#footerConversion ul li a::before { background: #aea376; filter: brightness(1.2); content: ""; display: block; width: 100%; height: 100%; position: absolute; left: 0; bottom: 0; margin: auto; transform: scale(0, 1); transform-origin: right top; transition: transform .3s; z-index: 1; }
#footerConversion ul li a:hover::before { transform-origin: left top; transform: scale(1, 1); }
#footerConversion ul.tochi li a { background: #c9bc9c; color: #000; }
#footerConversion ul.tochi li a::before { background: #c9bc9c; }
@media screen and (max-width: 640px) { #footerConversion ul + ul { margin-top: 0; }
  #footerConversion ul li { width: 100%; margin-bottom: 20px; }
  #footerConversion ul li a { padding: 20px 0; } }

/* float_zeh */
.float_zeh { position: fixed; bottom: 100px; right: 1rem; z-index: 2; width: 40%; max-width: 300px; transition: all 0.3s ease 0s; visibility: visible; opacity: 1; }
.float_zeh .close { position: absolute; top: -15px; right: 0; background: #000; width: 30px; height: 30px; z-index: 3; border-radius: 50%; cursor: pointer; border: solid 1px #fff; }
.float_zeh .close .txt { text-align: center; color: #fff; font-size: 26px; line-height: 26px; }
.float_zeh a { display: block; }
.float_zeh a img { width: 100%; height: auto; transition: .3s; }
.float_zeh a:hover img { filter: brightness(110%); }
@media screen and (max-width: 930px) { .float_zeh { bottom: 150px; } }
@media screen and (max-width: 640px) { .float_zeh .close { top: -18px; width: 25px; height: 25px; }
  .float_zeh .close .txt { font-size: 20px; line-height: 20px; } }

/* float_event */
.float_event { position: fixed; bottom: 100px; right: 1rem; z-index: 999; width: 60%; max-width: 300px; transition: all 0.3s ease 0s; visibility: visible; opacity: 1; }
.float_event .close { position: absolute; top: -15px; right: 0; background: #000; width: 30px; height: 30px; z-index: 3; border-radius: 50%; cursor: pointer; border: solid 1px #fff; }
.float_event .close .txt { text-align: center; color: #fff; font-size: 26px; line-height: 26px; }
.float_event a { display: block; }
.float_event a img { width: 100%; height: auto; transition: .3s; }
.float_event a:hover img { filter: brightness(110%); }
@media screen and (max-width: 930px) { .float_event { bottom: 150px; } }
@media screen and (max-width: 640px) { .float_event .close { top: -18px; width: 25px; height: 25px; }
  .float_event .close .txt { font-size: 20px; line-height: 20px; } }

.floatbox { position: fixed; bottom: 100px; right: 1rem; z-index: 999; }
.floatbox .float_zeh { position: relative; bottom: 0; right: 0; width: 100%; }
.floatbox .float_event { position: relative; bottom: 0; right: 0; width: 100%; margin-bottom: 2rem; }
@media screen and (max-width: 930px) { .floatbox { bottom: 150px; } }
@media screen and (max-width: 640px) { .floatbox { width: 40%; } }

#equipment .alsok { margin: 6rem auto 0; background: #fff; font-feature-settings: "palt"; }
#equipment .alsok ul li { background: #fff; border: none; text-align: left; color: #111; }
#equipment .alsok .alsok_acodion_btn { padding: 2rem; background: #249CAD; cursor: pointer; }
#equipment .alsok .alsok_acodion_btn .inner { position: relative; padding: 0; }
#equipment .alsok .alsok_acodion_btn #acodion_icon { position: absolute; top: 0.5em; right: 2.5rem; }
#equipment .alsok .alsok_acodion_btn #acodion_icon .icon::after, #equipment .alsok .alsok_acodion_btn #acodion_icon .icon::before { content: ""; position: absolute; top: 0; right: 0; width: 2px; height: 2.7em; background-color: #fff; transition: all 0.3s; }
#equipment .alsok .alsok_acodion_btn #acodion_icon .icon::after { transform: rotate(90deg); }
#equipment .alsok .alsok_acodion_btn #acodion_icon .icon.show::before { transform: rotate(90deg) !important; }
#equipment .alsok .alsok_acodion_btn .ttl { width: 85%; margin: 0 auto; text-align: center; font-size: 3.6rem; line-height: 1.4; color: #fff; letter-spacing: 0.05em; }
#equipment .alsok .alsok_column { display: none; }
#equipment .alsok .alsok_column_inner { width: 90%; max-width: 920px; margin: 0 auto; padding: 4rem 2rem; color: #222; }
#equipment .alsok .alsok_column_inner img { width: 100%; height: auto; }
#equipment .alsok .alsok_column_inner .copy { text-align: center; font-size: 3.2rem; line-height: 1.4; letter-spacing: 0.2em; }
#equipment .alsok .alsok_column_inner .lead { text-align: center; margin-top: 3rem; }
#equipment .alsok .alsok_column_inner .alsok-logo { width: 100%; max-width: 620px; margin: 3rem auto 0 auto; }
#equipment .alsok .alsok_column_inner .alsok-img { width: 90%; margin: 3rem auto 0 auto; }
#equipment .alsok .alsok_column_inner .note { text-align: right; }
#equipment .alsok .alsok_column_inner .flex { display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: stretch; align-items: stretch; }
#equipment .alsok .alsok_column_inner .flex * { min-height: 0%; }
#equipment .alsok .alsok_column_inner .flex1 { margin-top: 3rem; }
#equipment .alsok .alsok_column_inner .flex1 .flex-inner { margin-top: 1rem; width: 45%; }
#equipment .alsok .alsok_column_inner .flex1 .flex-inner:last-of-type { width: 51%; }
#equipment .alsok .alsok_column_inner .flex2 { margin-top: 3rem; }
#equipment .alsok .alsok_column_inner .flex2 .flex-inner { margin-top: 1rem; width: 48%; }
#equipment .alsok .alsok_column_inner .flex2 .flex-inner:last-of-type { width: 50%; }
#equipment .alsok .alsok_column_inner .alsok-list { margin-top: 4rem; padding-bottom: 2rem; border: solid 1px #249CAD; }
#equipment .alsok .alsok_column_inner .alsok-list .al-ttl { text-align: center; font-size: 2.4rem; padding: .5rem 0; background: #249CAD; color: #fff; }
#equipment .alsok .alsok_column_inner .alsok-list ul { margin: 1rem auto 0 auto; width: 96%; max-width: 900px; display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: stretch; align-items: stretch; font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', sans-serif; font-weight: 300; -webkit-font-smoothing: antialiased; }
#equipment .alsok .alsok_column_inner .alsok-list ul * { min-height: 0%; }
#equipment .alsok .alsok_column_inner .alsok-list ul li { width: 30%; margin-top: 2rem; }
#equipment .alsok .alsok_column_inner .alsok-list ul li .ali-ttl { text-align: center; font-size: 1.6rem; line-height: 1.4; font-weight: bold; }
#equipment .alsok .alsok_column_inner .alsok-list ul li .img { margin-top: .5rem; }
#equipment .alsok .alsok_column_inner .alsok-list ul li .ali-txt { margin-top: .5rem; font-size: 1.4rem; line-height: 1.6; }
@media screen and (max-width: 930px) { #equipment .alsok .alsok_acodion_btn #acodion_icon { position: absolute; top: 0.8rem; right: 2.5rem; }
  #equipment .alsok .alsok_acodion_btn #acodion_icon .icon::after, #equipment .alsok .alsok_acodion_btn #acodion_icon .icon::before { height: 2em; }
  #equipment .alsok .alsok_acodion_btn .ttl { font-size: 3rem; }
  #equipment .alsok .alsok_column_inner .copy { font-size: 2.6rem; letter-spacing: 0.05em; }
  #equipment .alsok .alsok_column_inner .alsok-list ul li { width: 49%; } }
@media screen and (max-width: 640px) { #equipment .alsok .alsok_acodion_btn #acodion_icon { position: absolute; top: 0.8rem; right: 1rem; }
  #equipment .alsok .alsok_acodion_btn #acodion_icon .icon::after, #equipment .alsok .alsok_acodion_btn #acodion_icon .icon::before { height: 1.4em; }
  #equipment .alsok .alsok_acodion_btn .ttl { font-size: 2.4rem; }
  #equipment .alsok .alsok_column_inner .copy { font-size: 2rem; letter-spacing: 0.05em; }
  #equipment .alsok .alsok_column_inner .flex1 .flex-inner, #equipment .alsok .alsok_column_inner .flex2 .flex-inner { width: 100%; }
  #equipment .alsok .alsok_column_inner .flex1 .flex-inner:last-of-type, #equipment .alsok .alsok_column_inner .flex2 .flex-inner:last-of-type { width: 100%; }
  #equipment .alsok .alsok_column_inner .alsok-list .al-ttl { font-size: 2rem; }
  #equipment .alsok .alsok_column_inner .alsok-list ul li .ali-ttl { font-size: 1.3rem; }
  #equipment .alsok .alsok_column_inner .alsok-list ul li .ali-txt { font-size: 1.2rem; } }

.mujin { margin: 10rem auto 0; font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', sans-serif; font-weight: 300; -webkit-font-smoothing: antialiased; font-feature-settings: "palt"; letter-spacing: 0.05em; }
.mujin .main .cap { color: #fff; text-shadow: 0 0 3px #000; }
.mujin .sub_ttl { padding: 1.5rem 1rem; text-align: center; font-size: 3.5rem; color: #fff; background: #005bac; }
.mujin .lead { font-size: 2rem; }
.mujin .inner { width: 90%; max-width: 1080px; margin: 0 auto; padding: 3rem 0; }
.mujin .item01 .lead { text-align: center; }
.mujin .item01 .img01 { max-width: 990px; margin: 1rem auto 0; }
.mujin .item02 .callout { position: relative; margin-bottom: 4rem; padding: 1rem; text-align: center; font-size: 2.5rem; color: #fff; background: #f08300; border-radius: 10px; }
.mujin .item02 .callout::after { content: ""; position: absolute; bottom: 0; left: 50%; border-style: solid; border-width: 10px 5px 0 5px; border-color: #f08300 transparent transparent; translate: -50% 100%; }
.mujin .item02 .box { display: flex; justify-content: space-between; gap: 2rem; padding: 3rem 4rem; border: 2px solid #f08300; border-radius: 10px; }
.mujin .item02 .box .ttl { font-size: 2.6rem; color: #f08300; }
.mujin .item02 .box .lead { margin-top: 1rem; }
.mujin .item02 .box .img { max-width: 144px; }
.mujin .item02 .flow { margin-top: 5rem; }
.mujin .item02 .flow .callout { background: #005bac; }
.mujin .item02 .flow .callout::after { border-color: #005bac transparent transparent; }
.mujin .item02 .flow .box { align-items: center; margin-top: 3rem; border: 2px solid #005bac; }
.mujin .item02 .flow .box .ttl { font-size: 2.4rem; color: #005bac; }
.mujin .item02 .flow .box .ttl .num { font-size: 200%; margin-right: 0.5rem; }
.mujin .item02 .flow .box .lead { line-height: 1.6; }
.mujin .item02 .flow .flow01 .img { max-width: 178px; }
.mujin .item02 .flow .flow02 .img { max-width: 168px; }
.mujin .item02 .flow .flow03 .img { max-width: 160px; }
.mujin .item02 .flow .flow04 .img { max-width: 198px; }
.mujin .item02 .notes { margin-top: 5rem; padding: 3rem 4rem; border-top: 3px solid #005bac; border-bottom: 3px solid #005bac; background: rgba(0, 91, 172, 0.1); }
.mujin .item02 .notes .ttl { text-align: center; font-size: 2.5rem; color: #005bac; }
.mujin .item02 .notes ul { display: flex; flex-direction: column; align-items: center; row-gap: 1rem; margin-top: 2rem; }
.mujin .item02 .notes li { position: relative; width: 80%; padding-left: 1rem; font-size: 1.8rem; line-height: 1.6; }
.mujin .item02 .notes li:before { content: ""; position: absolute; top: 0.65rem; left: -1rem; width: 15px; height: 15px; background: #005bac; }
.mujin .bnr_mujin_res { max-width: 900px; margin: 5rem auto 0; }
.mujin .bnr_mujin_res a:hover { filter: brightness(110%); }
@media screen and (max-width: 640px) { .mujin .sub_ttl { font-size: 2rem; }
  .mujin .lead { font-size: 1.6rem; }
  .mujin .inner { padding: 2rem 0; }
  .mujin .item02 .callout { font-size: 2rem; }
  .mujin .item02 .box { flex-direction: column; padding: 2rem 3rem; }
  .mujin .item02 .box .ttl { font-size: 2.4rem; }
  .mujin .item02 .box .img { margin: 0 auto; }
  .mujin .item02 .flow .box .ttl { font-size: 2.2rem; }
  .mujin .item02 .flow .box .ttl .num { display: block; margin-right: 0; }
  .mujin .item02 .notes { padding: 2rem 3rem; }
  .mujin .item02 .notes .ttl { font-size: 2rem; }
  .mujin .item02 .notes li { width: 100%; font-size: 1.4rem; }
  .mujin .item02 .notes li:before { left: -0.5rem; width: 10px; height: 10px; } }

/*-----------------------------------
video modal
------------------------------------*/
.bnr_movie { /*@media screen and (max-width: $m-size) {
		flex-direction: column;
		.img{
			width:100%;
		}
}*/ }
.bnr_movie .img { transition: 0.3s ease 0s filter; cursor: pointer; }
.bnr_movie .img:hover { filter: brightness(1.2); }

.video-modal-wrap { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 10000; display: flex; justify-content: center; align-items: center; pointer-events: none; opacity: 0; transition: opacity 0.5s ease-out 0s; }
.video-modal-wrap .video-modal-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255, 255, 255, 0.9); }
.video-modal-wrap .video-modal-inner { width: 50svh; }
.video-modal-wrap .video-modal-inview { position: relative; width: 100%; padding-bottom: calc(510 / 286 * 100%); }
.video-modal-wrap .video-modal-close { position: absolute; top: 0; right: 0; transform: translateX(100%); width: 40px; height: 40px; background-color: #5688b2; z-index: 1; cursor: pointer; }
.video-modal-wrap .video-modal-close::before, .video-modal-wrap .video-modal-close::after { content: ""; width: 100%; height: 2px; background-color: #fff; display: block; position: absolute; top: 50%; left: 0%; }
.video-modal-wrap .video-modal-close::before { transform: rotate(45deg); }
.video-modal-wrap .video-modal-close::after { transform: rotate(-45deg); }
.video-modal-wrap.modal-active { pointer-events: auto; opacity: 1; }
@media screen and (max-width: 930px) { .video-modal-wrap .video-modal-close { transform: translateX(0%); } }
