@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Smooch+Sans:wght@100..900&family=Zen+Kaku+Gothic+New:wght@400;700&family=Zen+Maru+Gothic:wght@500;700&display=swap');

* {-webkit-text-size-adjust:100%;}
a:link {text-decoration:none; color:#333;}
a:visited{text-decoration:none; color:#333;}
a:hover{text-decoration:none; color:#333;}
a:active{text-decoration:none; color:#333;}

.grecaptcha-badge { opacity: 0; pointer-events: none; }
.container-fluid { max-width: 1040px; padding-left: 25px; padding-right: 25px; }
.container-fluid .container-fluid { padding-left: 0; padding-right: 0; }
section { overflow: hidden; position: relative; }

body { font-size: 15px; line-height: 1.8; color: #333; background-color: #fff; font-family: 'Zen Maru Gothic', sans-serif; font-weight: 400; font-style: normal; }
header { position: fixed; left: 0; top: 0; width: 100%; z-index: 100; background: #fff; padding: 0 30px; transition: .3s; }
header .wrap { display: flex; justify-content: space-between; align-items: center; }
header .logo img { height: 80px; }
header .search { margin-top: 30px; display: flex; align-items: center; justify-content: end; position: relative; z-index: 1; }
header .search .search-form { position: relative; }
header .search input { width: 200px; height: 25px; padding-right: 30px; border-width: 1px; border-radius: 20px; padding: 5px 30px 5px 10px; position: absolute; top: 0; bottom: 0; right: 0; margin: auto 0; }
header .search button { border: none; background: none; position: absolute; top: 0; bottom: 0; right: 0; margin: auto 0; }
header .search button img { position: absolute; top: 0; bottom: 0; right: 10px; margin: auto 0; }
header .gnav ul { display: flex; align-items: center; }
header .gnav ul li { padding: 0 20px; position: relative; }
header .gnav ul li:last-child { padding-right: 0; }
header .gnav ul li:before { content: ""; position: absolute; right: 0; top: 0; bottom: 0; margin: auto 0; width: 1px; height: 15px; background: #383838; }
header .gnav ul li:last-child:before { display: none; }
header .gnav ul a { font-weight: bold; padding: 20px 0; display: block; position: relative; transition: .3s; }
header .gnav ul a:hover { opacity: .7; }
header .menu-trg-area { position: fixed; top: 39px; right: 15px; margin: auto; display: none; width: 40px; height: 40px; border-radius: 3px; cursor: pointer;}
header .menu-trigger,
header .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box;}
header .menu-trigger { position: absolute; top: 13px; width: 30px; height: 15px; z-index: 2; left: 0; right: 0; margin: auto;}
header .menu-trigger span { position: absolute; left: 0; width: 100%; height: 1px; background-color: #000;}
header .menu-trigger span:nth-of-type(1) { top: 0;}
header .menu-trigger span:nth-of-type(2) { top: 7px;}
header .menu-trigger span:nth-of-type(3) { bottom: 0;}
header .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(20px) rotate(-45deg); transform: translateY(20px) rotate(-45deg); top: -14px;}
header .menu-trigger.active span:nth-of-type(2) { left: 50%; opacity: 0; -webkit-animation: active-menu-bar02 .8s forwards; animation: active-menu-bar02 .8s forwards;}
header .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-20px) rotate(45deg); transform: translateY(-20px) rotate(45deg); bottom: -13px;}
.fixed-menu { position: fixed; top: 200px; right: 0; z-index: 99; }
.fixed-menu a { padding: 20px 15px; border-bottom: 2px solid #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; transition: .3s; }
.fixed-menu a:hover { opacity: .6; }
.fixed-menu a:last-child { border-bottom: none; }
.fixed-menu a .icon { margin-bottom: 10px; }
.fixed-menu a .icon img { width: 20px; }
.fixed-menu a .name { font-size: 18px; font-weight: bold; letter-spacing: .18em; line-height: 1.785; color: #fff; writing-mode: vertical-lr; }
footer .logo a img { height: 90px; }
.footer-list { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; }
.footer-list li { padding: 0 15px; margin-bottom: 20px; }
.footer-list li:last-child { width: 100%; margin-bottom: 0; margin-top: 10px; display: flex; align-items: center; justify-content: center; }
.footer-list li a { display: block; font-size: 18px; font-weight: bold; transition: .3s; font-family: "Zen Maru Gothic", sans-serif; }
.footer-list li a:hover { opacity: .7; }
.sns_link { display: flex; align-items: center; justify-content: center; }
.icon_link { padding: 0 15px; }
.icon_link a { display: flex; align-items: center; transition: .3s; }
.icon_link a:hover { opacity: .7; }
.icon_link a img { margin-right: 10px; } 
.icon_link a div { font-size: 16px; font-weight: bold; letter-spacing: .18em; }
.footer-white { padding: 20px 0; display: flex; align-items: center; justify-content: space-between; }
.footer-white ul { display: flex; align-items: center; }
.footer-white ul li { padding: 0 20px; }
.footer-white ul li a { display: block; padding: 15px 0; transition: .3s; }
.footer-white ul li a:hover { opacity: .7; }
.copyright { font-size: 12px; letter-spacing: .13em; color: #808080; padding-bottom: 30px; text-align: center; }


/* color */
.bg-cream { background-color: #fcf5e3; }
.bg-green { background-color: #e1f0e9; }
.bg-pink { background-color: rgba(239,176,158,.2); }
.bg-blue { background: #e7eff3; }

/* button */
.site-button { display: inline-block; max-width: 100%; width: 320px; padding: 8px 10px 10px; background-color: #88c99f; color: #fff!important; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-style: normal; font-size: 17px; letter-spacing: .15em; text-indent: .15em; border-radius: 5px; border: 1px solid transparent; transition: .3s; }
.site-button.green { background-color: #88c99f; }
.site-button.green:hover { background-color: transparent; color: #88c99f !important; border: 1px solid #88c99f; }
.site-button.red { background-color: #efb09e; }
.site-button.red:hover { background-color: transparent; color: #efb09e !important; border: 1px solid #efb09e; }
.site-button.yellow { background-color: #f4c773; }
.site-button.yellow:hover { background-color: transparent; color: #f4c773 !important; border: 1px solid #f4c773; }

/* font */
.josefin { font-family: 'Josefin Sans', sans-serif; font-weight: 500; }
.smooch { font-family: 'Smooch Sans', sans-serif; font-weight: 300; } 
.new { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; }

/* common */
main { padding-top: 97px; }
.icon-title { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.icon-title .icons { position: relative; margin-bottom: 55px; }
.icon-title .icons::before { content: ""; width: 1px; height: 30px; background-image: radial-gradient(circle, #000000 0.5px, transparent 0.5px); background-position: left top; background-repeat: repeat-y; background-size: 1px 3px; position: absolute; top: 100%; left: 0; right: 0; margin: 0 auto; }
.icon-title .icons img { margin-bottom: 10px; }
.icon-title .en { font-family: 'Josefin Sans', sans-serif; font-weight: 500; font-size: 18px; letter-spacing: .075em; padding: 0 5px 5px; border-bottom: 1px solid #000; }
.icon-title .jp { font-size: 24px; font-weight: bold; letter-spacing: .18em; font-family: "Zen Maru Gothic", sans-serif; }
.thumbnail { position: relative; margin-bottom: 20px; padding-top: 100%; }
.thumbnail img { width: 100%; height: 100%; position: absolute; left: 0; top: 0; object-fit: cover; }
.author-block { display: flex; }
.author-block .icon { width: 75px; }
.author-block .icon img { width: 60px; height: 60px; border-radius: 100%; overflow: hidden; }
.author-block .wrap { width: calc(100% - 75px); }
.author-block .wrap .job { font-size: 12px; letter-spacing: .13em; font-family: "Zen Maru Gothic", sans-serif; }
.author-block .wrap .name { display: inline-block; padding-bottom: 5px; font-size: 17px; letter-spacing: .13em; line-height: 1.3; font-family: "Zen Maru Gothic", sans-serif; }
.author-block .wrap .name small { font-size: 14px; }
.author-block.yellow .wrap .name { border-bottom: 1px solid #f4c773; }
.author-block.green .wrap .name { border-bottom: 1px solid #88c99f; }
.author-block.pink .wrap .name { border-bottom: 1px solid #efb09e; }
.description .date { font-family: 'Smooch Sans', sans-serif; font-weight: 300; font-size: 18px; letter-spacing: .03em; color: #808080; } 
.description .title { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; font-size: 15px; letter-spacing: .03em; line-height: 1.1818; }
.staff-list-slider,
.staff-list-slider * { overflow: visible; }
.staff-list-slider .author-block { padding: 0 20px; display: block; }
.staff-list-slider .slick-arrow:before { display: none; }
.staff-list-slider .slick-prev { position: absolute; top: 93px; left: calc(50% - 122px); transform: translateY(-50%); z-index: 2; background: none; border: none; }
.staff-list-slider .slick-next { position: absolute; top: 93px; right: calc(50% - 122px); transform: translateY(-50%); z-index: 2; background: none; border: none; }
.recommend-icon { width: 25px; height: 25px; background-color: #fff; position: absolute; right: 0; top: 0; display: flex; align-items: center; justify-content: center; }
.recommend-icon:before { content: ""; display: block; width: 12px; height: 14px; background-image: url(../images/common/icon_ribbon.svg); }
.recommend-block.active .recommend-icon:before { background-image: url(../images/common/icon_ribbon_active.svg); }
.cat .cat-button { min-width: 90px; display: inline-block; padding: 2px 10px; font-size: 14px; letter-spacing: .05em; color: #fff; border-radius: 20px; text-align: center; margin-bottom: 10px; }
.section-search-bg { position: absolute; left: 0; right: 250px; top: -20px; margin: 0 auto; z-index: 1; }
.section-search-bg { position: absolute; left: 0; right: 250px; top: -20px; margin: 0 auto; z-index: 1; }
.design-button { display: flex; align-items: center; justify-content: center; padding-top: 100%; border-radius: 100%; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-style: normal; font-size: 20px; line-height: 1.4; color: #fff!important; overflow: hidden; position: relative; transition: .3s; }
.design-button:hover { opacity: .7; }
.design-button:before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,.2); }
.design-button > div { position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; display: flex; align-items: center; justify-content: center; text-align: center; z-index: 1; }
.design-button small { font-size: 11px; letter-spacing: -.01em; display: block; margin-top: 2px; font-weight: 700; }
.design-button.active { border: 2px solid #333; box-shadow: 0 0 0 2px #333; }
.design-checkbox-label { display: block; cursor: pointer; }
.design-checkbox-label .design-button { display: block; position: relative; border: 2px solid #e7eff3; }
.design-checkbox-label .design-button > div { display: flex; align-items: center; justify-content: center; height: 100%; font-size: 1.1em; font-weight: bold; color: #fff; text-shadow: 0 1px 4px rgba(0,0,0,0.4); }
.design-checkbox:checked + .design-button,
.design-checkbox-label.active .design-button { border: 2px solid #333; box-shadow: 0 0 0 2px #333; }
.design-checkbox:focus + .design-button { outline: 2px solid #333; }
.about_img { max-width: 990px; margin: 0 auto; position: relative; }
.about_img > img { width: 100%; }
.about_img .chara { position: absolute; top: -85px; right: 25%; }
.iepro { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.iepro a { display: block; font-size: 18px; font-weight: bold; letter-spacing: .18em; font-family: "Zen Maru Gothic", sans-serif; }
.section-insta .icon_link { display: flex; align-items: center; justify-content: center; }
.section-about .about_logo img { height: 90px; }
.common-slider { margin: 0 -10px; }
.common-slider .slick-slide { padding: 0 10px; }
.common-slider .slick-arrow { width: 30px; height: 30px; position: absolute; }
.common-slider .slick-prev { left: -30px; }
.common-slider .slick-next { right: -30px; }
.common-slider .slick-arrow:before { content: ""; width: 15px; height: 15px; border-top: 2px solid #000; border-right: 2px solid #000; position: absolute; top: 0; bottom: 0; right: 0; left: 0; margin: auto; }
.common-slider .slick-prev:before { transform: rotate(-135deg); }
.common-slider .slick-next:before { transform: rotate(45deg); }
.bubble-block { position: relative; }
.bubble-corner { width: 8px; height: 8px; background: #fff; position: absolute; z-index: 1; }
.bubble-corner.left { left: -1px; top: -1px; }
.bubble-corner.left::before { content: ""; width: 8px; height: 8px; position: absolute; left: 0px; top: 0px; }
.bubble-corner.right { right: -1px; bottom: -1px; }
.bubble-corner.right::before { content: ""; width: 8px; height: 8px; position: absolute; right: 0px; bottom: 0px; }
.bubble-corner.pink::before { background-color: rgba(239,176,158,.2); }
.bubble-text { border: 1px solid #000; border-bottom: none; padding: 20px; display: flex; align-items: center; justify-content: center; text-align: center; }
.line-wrapper { width: 100%; height: 1px; }
.line-container { position: relative; width: 100%; height: 1px; margin: 0 auto; }
.line-vertical-top { position: absolute; bottom: 0; left: 0; width: 50%; height: 1px; background: #000; }
.line-diagonal { position: absolute; bottom: 0; left: 52%; width: 18px; height: 1px; background: #000; transform: rotate(120deg); transform-origin: left bottom; }
.line-vertical-bottom { position: absolute; bottom: 0; left: 52%; width: 48%; height: 1px; background: #000; }
.intro-card { height: 300px; position: relative; }
.intro-card .bg { padding-top: initial; height: 50%; border-top-left-radius: 5px; border-top-right-radius: 5px; }
.intro-card .intro-text { height: 50%; background: #fff; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.intro-card .intro-text span { display: inline-block; }
.intro-card img { position: absolute; bottom: -40px; right: 0; z-index: 20; }
.info-date { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 300; }
.info-date span { font-size: 18px; }

/* top */
.fixed-news { width: 76%; font-size: 16px; line-height: 1.75; padding: 15px 15px 15px 170px; border-top: 1px solid #000; border-bottom: 1px solid #000; background: #fff; display: flex; align-items: center; justify-content: center; position: absolute; bottom: 0; right: 0; z-index: 98; transition: .3s; }
.fixed-news:hover { opacity: .8; }
.fixed-news .date { margin-right: 20px; padding-right: 20px; border-right: 1px solid #000; }
.fixed-news .title {  overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.firstView { height: calc(100vh - 97px); min-height: 700px; }
.firstView .wrapper { display: flex; align-items: center; }
.firstView .wrapper .message { width: 20%; margin-right: 5%; font-size: 30px; letter-spacing: .14em; line-height: 1.75; writing-mode: vertical-rl; text-orientation: upright; font-family: "Zen Maru Gothic", sans-serif; }
.firstView .wrapper .message .num { text-combine-upright: all; text-align: center; padding-right: 0.2em; line-height: 1; margin-bottom: 3px; }
.firstView .wrapper .mainphoto-slider { width: 80%; border-top-left-radius: 150px; overflow: hidden; height: calc(100vh - 97px); min-height: 700px; position: relative; }
.firstView .wrapper .mainphoto { width: 100%; border-top-left-radius: 150px; overflow: hidden; height: calc(100vh - 97px); min-height: 700px; }
.firstView .bottoms { display: flex; align-items: end; position: absolute; bottom: 59px; left: 8%; }
.bottoms .scroll { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; margin-right: 30px; }
.bottoms .design-date { margin-right: 20px; padding-bottom: 5px; display: inline-flex; align-items: center; border-bottom: 1px solid #000; }
.bottoms .design-date .wrap { display: flex; flex-direction: column; align-items: start; }
.bottoms .design-date .year { font-size: 12px; letter-spacing: .05em; line-height: 1.1666; }
.bottoms .design-date .month { font-size: 14px; letter-spacing: .05em; line-height: 1; }
.bottoms .design-date .day { font-size: 37px; line-height: 1.1351; letter-spacing: .13em; margin-left: 10px; }
.bottoms .chara { margin-bottom: -60px; display: flex; align-items: center; position:  relative; z-index: 98; }
.bottoms .chara .comment { transition: .3s; }
.bottoms .chara .comment:hover { opacity: .7; }
.voice-block .description .title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.staff-list-slider .author-block { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.staff-list-slider .author-block .icon { width: 150px; height: 150px; margin-bottom: 10px; }
.staff-list-slider .author-block .icon img { width: 100%; height: 100%; }
.staff-list-slider .author-block .wrap { width: 100%; text-align: center; }
.information-block .thumbnail { position: relative; padding-top: 75%; }
.information-block .thumbnail img { width: 100%; height: 100%; position: absolute; left: 0; top: 0; object-fit: cover; }
.information-block .description .date { color: #000; margin-bottom: 5px; }
.information-block .description .title { font-size: 16px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.pickup-block .description .title { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
.pickup-block .author-block { margin-bottom: 10px; }
.koumuten_card .bg { padding-top: 100%; }
.koumuten_card .description .num { font-family: 'Josefin Sans', sans-serif; font-weight: 500; font-size: 10px; letter-spacing: .075em; line-height: 1.4; margin-top: 15px; }
.koumuten_card .description .name { font-size: 15px; letter-spacing: .05em; font-family: "Zen Maru Gothic", sans-serif; }
.lifestyle_card .bg { padding-top: 100%; margin-bottom: 15px; }
.lifestyle_card .description .title { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.news-list li { margin-bottom: 20px; border-bottom: 1px solid #808080; }
.news-list li a { display: flex; align-items: baseline; padding-bottom: 20px; transition: .3s; }
.news-list li a:hover { opacity: .7; }
.news-list li a .date { font-family: 'Smooch Sans', sans-serif; font-weight: 300; width: 110px; font-size: 18px; letter-spacing: .05em; color: #808080; }
.news-list li a p { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; width: calc(100% - 110px); font-size: 16px; letter-spacing: .05em; }
.book-card .bg { padding-top: 130%; }
.book-card .title { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 300; font-size: 18px; letter-spacing: .05em; }
.book-card .place { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 300; font-size: 18px; letter-spacing: .05em; color: #808080; }
.book-card .place span { font-size: 22px; }
.form-button { font-size: 17px; letter-spacing: .15em; text-align: center; width: 320px; max-width: 100%; background-color: #ed1c24; color: #fff; border: none; padding: 10px 10px; cursor: pointer; border-radius: 5px; display: block; margin-left: auto; margin-right: auto; }
.form-button:disabled { background-color: #ccc; cursor: not-allowed; }
.form-wrapper .form-rows { border-bottom: 1px solid #333; margin-bottom: 40px; padding-bottom: 40px; }
.form-wrapper .form-rows:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.form-wrapper .form-title { font-size: 16px; font-weight: bold; letter-spacing: .15em; margin-bottom: 25px; }
.form-wrapper .form-notice a { color: #ed1c24!important; text-decoration: underline; }
.form-wrapper .form-notice .wpcf7-list-item { margin: 0!important; }
.form-wrapper .form-notice .wpcf7-list-item-label { opacity: 0; }
.wpcf7-list-item { margin: 0 15px 10px 0!important; }
.wpcf7-form-control-wrap { display: block; }
.wpcf7-text { width: 100%; height: 40px; padding: 5px 10px; border-radius: 5px; border: 1px solid #333; }
.wpcf7-textarea { width: 100%; height: 100px; padding: 10px; border-radius: 5px; border: 1px solid #333; }
.wpcf7-spinner { display: block!important; margin: 15px auto!important; }
.works-slider-main img { width: 100%; }
.works-slider-thumb,
.works-slider-thumb * { transform: none!important; }
.works-slider-thumb { margin: -5px; margin-top: 5px; }
.works-slider-thumb figure { padding-top: 80%; position: relative; margin: 5px; }
.works-slider-thumb figure img { width: 100%; height: 100%; position: absolute; left: 0; top: 0; object-fit: cover; }
.works-detail-table th { background-color: #7a7c7f; color: #fff; font-weight: bold; font-size: 16px; letter-spacing: .13em; padding: 15px 20px; text-align: center; width: 160px; border-bottom: 1px solid #fff; }
.works-detail-table td { padding: 15px 20px; border-bottom: 1px solid #7a7c7f; }

/* information */
.banner-wrap { position: fixed; top: 200px; right: 0; z-index: 999; }
.banner-card { margin-bottom: 5px; }
.banner-card:last-child { margin-bottom: 0; }
.banner-card a { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20px 15px; }
.banner-card a img { width: 25px; margin-bottom: 15px; }
.banner-card a div { writing-mode: vertical-lr; font-size: 16px; font-weight: bold; letter-spacing: .18em; color: #fff; }
.common-slider.event .bg { padding-top: 75%; }
.point-white { background: #fff; padding: 40px 35px; border-radius: 5px; }
.point-white ul { margin-bottom: 20px; }
.point-white ul li { display: flex; align-items: baseline; margin-bottom: 15px; }
.point-white ul li p { line-height: 1.75; letter-spacing: .05em; margin-left: 10px; }
.event-deta hr { width: 100%; height: 1px; margin-top: 15px; margin-bottom: 15px; border: none; background-image: radial-gradient(circle, #000000 0.5px, transparent 0.5px); background-position: left bottom; background-repeat: repeat-x; background-size: 3px 1px; }
.detail-dl dl { display: flex; align-items: center; letter-spacing: .13em; }
.detail-dl dl dt { font-weight: normal; margin-right: 20px; }
#information .section-intro { overflow: initial !important; } 
.map iframe { width: 100%; height: 400px; display: block; }
.intro-company { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.intro-company .bg { padding-top: initial; width: 300px; height: 300px; }

/* company */
.koumuten_ttl { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.koumuten_ttl .en { font-size: 15px; letter-spacing: .075em; color: #808080; }
.koumuten_ttl .jp { font-size: 20px; letter-spacing: .075em; }
.section-const .author-block { align-items: center; justify-content: center; }
.section-const .author-block .icon { width: 80px; margin-right: 20px; }
.section-const .author-block .icon img { width: 100%; height: 100%; border-radius: 100%; }
.section-const .author-block .wrap { width: initial; }
.section-const .author-block .wrap .job { font-size: 15px; }
.section-const .author-block .wrap .name { font-size: 25px; }
.section-const .intro-card { max-width: 560px; margin: 0 auto; }
.koumuten_mainimg { text-align: center; }
.koumuten_mainimg img { width: 600px; }
.staff-name { display: inline-block; padding: 0 5px; }
.section-const .staff_point { text-align: center; }
.section-const .staff_point img { width: 100%; margin-bottom: 10px; }
.common-slider.const a { display: block; }
.common-slider.const .bg { padding-top: 100%; }
.common-slider.const p { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; font-size: 14px; margin-top: 15px; }
.company_img { position: relative; padding-top: 66%; }
.company_img img { width: 100%; position: absolute; left: 0; top: 0; height: 100%; object-fit: cover; }
.company-dl dl { display: flex; border-bottom: .5px solid #000; }
.company-dl dl:last-child { border-bottom: none; }
.company-dl dt { width: 200px; font-size: 16px; font-weight: bold; letter-spacing: .13em; padding: 15px 20px; background-color: rgba(239,176,158,.2); display: flex; align-items: center; justify-content: center; }
.company-dl dd { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; width: calc(100% - 200px); font-size: 14px; letter-spacing: .04em; padding: 15px 20px; }
.sns { display: flex; align-items: center; justify-content: center; gap: 20px; }

/* staff */
.section-staff-info .author-block { align-items: center; justify-content: center; }
.section-staff-info .author-block .icon { width: 80px; margin-right: 20px; }
.section-staff-info .author-block .icon img { width: 100%; height: 100%; }
.section-staff-info .author-block .wrap { width: initial; }
.section-staff-info .author-block .wrap .job { font-size: 15px; }
.section-staff-info .author-block .wrap .name { font-size: 25px; }
.staff-dl dl { padding: 25px 0; background-image: radial-gradient(circle, #000000 0.5px, transparent 0.5px); background-position: left bottom; background-repeat: repeat-x; background-size: 3px 1px; }
.staff-dl dl:last-child { background: none; }
.staff-dl dt { font-size: 20px; letter-spacing: .12em; font-weight: bold; } 
.staff-dl dd { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; font-size: 16px; margin-top: 10px; }
.staff-hobby { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.staff-hobby img { height: 200px; width: auto; object-fit: contain; display: block; } 
.staff-slider { margin: 0 -10px; }
.staff-slider .slick-slide { padding: 0 10px; }
.staff-slider .slick-arrow { width: 30px; height: 30px; position: absolute; }
.staff-slider .slick-prev { left: -30px; }
.staff-slider .slick-next { right: -30px; }
.staff-slider .slick-arrow:before { content: ""; width: 15px; height: 15px; border-top: 2px solid #000; border-right: 2px solid #000; position: absolute; top: 0; bottom: 0; right: 0; left: 0; margin: auto; }
.staff-slider .slick-prev:before { transform: rotate(-135deg); }
.staff-slider .slick-next:before { transform: rotate(45deg); }
.staff-slider .thumbnail { padding-top: 100%; position: relative; }
.staff-slider .thumbnail img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }
.staff-slider.voice .date { font-size: 16px; letter-spacing: .05em; color: #808080; }
.staff-slider.voice p { font-size: 18px; }
#staff .recommend-icon { z-index: 2; }

@media (max-width: 1155px) {
    header .gnav ul li { padding: 0 15px; }
    .firstView .bottoms { left: 5%; }
    .bottoms .scroll { margin-right: 20px; }
    .bottoms .design-date { margin-right: 15px; }
}
@media (max-width: 1080px) {
    header .gnav ul li { padding: 0 10px; }
    .firstView .bottoms { left: 3%; }
}
@media (max-width: 1005px) {
    header { padding: 0 15px; background: rgba(255,255,255,.9); }
	header .wrap { height: 60px; }
	header .logo img { height: 60px; }
    header .search { margin-top: 0; }
    header .search .search-form { margin-right: 45px; }
	header .gnav { position: fixed; left: 0; top: 0; width: 100%; top: 0; background: rgba(255,255,255,.9); height: 100%; opacity: 0; visibility: hidden; transition: .3s; }
	header .gnav.active { opacity: 1; visibility: visible; }
	header .gnav ul { display: block; padding: 100px 30px 50px 30px; }
	header .gnav ul li { padding-left: 0; padding-right: 0; }
	header .gnav ul li:before { display: none; }
	header .gnav ul li a { padding: 15px 0; border-bottom: 1px solid #E0E2E3; font-weight: bold; position: relative; }
	header .gnav ul li a:after { content: "→"; position: absolute; right: 0; top: 0; bottom: 0; margin: auto 0; display: flex; align-items: center; }
	header .gnav ul li:last-child a { border-bottom: 0; }
	header .menu-trg-area { display: block; top: 9px; }
    .fixed-menu { top: 140px; }
    .fixed-menu a { padding: 10px 5px; }
    .fixed-menu a .name { font-size: 16px; }
    main { padding-top: 60px; }
    .firstView { height: calc(100vh - 60px); }
    .firstView .bottoms { bottom: 59px; }
}
@media (min-width: 768px) {
    #information .section-voice .author-block { align-items: center; justify-content: center; }
    #information .section-voice .author-block .wrap { width: initial; }
    #information .section-voice .author-block .icon { width: 80px; margin-right: 20px; }
    #information .section-voice .author-block .icon img { width: 100%; height: 100%; }
    #information .section-voice .author-block .wrap { width: initial; }
    #information .section-voice .author-block .wrap .job { font-size: 15px; }
    #information .section-voice .author-block .wrap .name { font-size: 25px; }
}
@media (max-width: 767px) {
	header { padding: 0 15px; background: rgba(255,255,255,.9); top: 30px; }
	header .menu-trg-area { display: block; top: 39px; }
    .fixed-menu { bottom: 0; top: initial; left: 0; margin: 0 auto; display: flex; align-items: center; justify-content: center; }
    .fixed-menu a { width: calc(100% / 4); height: 55px; border-bottom: none; border-right: 1px solid #fff; padding: 0; }
    .fixed-menu a:last-child { border-right: none; }
    .fixed-menu a .icon { margin-bottom: 0; }
    .fixed-menu a .icon img { width: 15px; }
    .fixed-menu a .name { font-size: 14px; writing-mode: initial; }
    .fixed-news { font-size: 13px; width: 100%; height: 30px; padding: 0 15px; border-top: none; position: fixed; top: 0; bottom: initial; left: 0; right: 0; margin: 0 auto; z-index: 100; }
    .fixed-news .date { border-right: none; }
    footer .logo a img { height: 75px; }
    .footer-list li { width: 100%; padding: 0; margin-bottom: 15px; text-align: center; }
    .footer-list li a { font-size: 17px; }
    .sns_link { flex-wrap: wrap; margin-bottom: 50px; position: relative; }
    .sns_link::before { content: ""; width: 30px; height: 30px; background: #fcf5e3; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); }
    .icon_link { width: 50%; padding: 15px; }
    .icon_link:nth-child(1) { background-image: radial-gradient(circle, #000000 0.5px, transparent 0.5px), radial-gradient(circle, #000000 0.5px, transparent 0.5px); background-position: right top, left bottom; background-repeat: repeat-y, repeat-x; background-size: 1px 3px, 3px 1px; padding: 0 15px 15px 0; }
    .icon_link:nth-child(2) { background-image: radial-gradient(circle, #000000 0.5px, transparent 0.5px); background-position: left bottom; background-repeat: repeat-x; background-size: 3px 1px; padding: 0 0 15px 15px; }
    .icon_link:nth-child(3) { background-image: radial-gradient(circle, #000000 0.5px, transparent 0.5px); background-position: right top; background-repeat: repeat-y; background-size: 1px 3px; padding: 15px 15px 0 0; }
    .icon_link:nth-child(4) { padding: 15px 0 0 15px; }
    .icon_link a { width: 135px; }
    .icon_link:nth-child(odd) a { margin-left: auto; }
    .icon_link a img { margin-right: 15px; }
    .icon_link a div { font-size: 14px; }
    .footer-white { flex-direction: column; padding: 25px 0 20px; }
    .footer-white ul { flex-direction: column; margin-bottom: 20px; }
    .footer-white ul li a { font-size: 17px; padding: 0; margin-bottom: 2px; }
    .copyright { font-size: 11px; padding-bottom: 75px; }

    /* common */
    main { padding-top: 90px; }
    .icon-title .jp { font-size: 14px; }
    .icon-title .en { font-size: 12px; }
    .icon-title .icons { margin-bottom: 35px; }
    .icon-title .icons::before { height: 20px; }
    .thumbnail { margin-bottom: 10px; }
    .author-block .icon { width: 50px }
    .author-block .icon img { width: 40px; height: 40px; }
    .author-block .wrap { width: calc(100% - 50px); line-height: 1.5; }
    .author-block .wrap .job { font-size: 8px; } 
    .author-block .wrap .name { font-size: 13px; line-height: 1; }
    .author-block .wrap .name small { font-size: 9px; }
    .description .date { font-size: 14px; }
    .description .title { font-size: 11px; }
    .cat .cat-button { min-width: 60px; font-size: 12px; margin-bottom: 5px; }
    .about_img .chara { right: 9%; }
    .iepro a { font-size: 14px; }
    .section-insta .icon_link { background: none; padding: 0; margin: 0 auto; }
    .section-insta .icon_link a { margin: 0; }
    .section-about .about_logo img { height: 75px; }
    .common-slider .slick-prev { left: -15px; }
    .common-slider .slick-next { right: -15px; }
    .common-slider .slick-arrow:before { width: 10px; height: 10px; }
    .bubble-text { padding: 10px; }
    .line-vertical-top { width: 48%; }
    .line-diagonal { width: 15px; }
    .intro-card { height: 205px; }
    .intro-card img { bottom: -50px; }
    .section-information .info-date span { font-size: 14px; }

    /* top */
    .firstView { height: calc(100vh - 90px); min-height: 480px; }
    .firstView .wrapper .message { font-size: 18px; }
    .firstView .wrapper .mainphoto-slider { height: calc(100vh - 240px); border-top-left-radius: 80px; min-height: 480px; }
    .firstView .wrapper .mainphoto { height: calc(100vh - 240px); border-top-left-radius: 80px; min-height: 480px; }
    .firstView .bottoms { align-items: end; bottom: 80px; right: 0; left: 8%; margin: 0 auto; }
    .bottoms .scroll { margin-right: 25px; }
    .bottoms .chara { margin-bottom: 0; position: absolute; bottom: -30px; right: 0; }
    .news-list li { border-bottom: none; margin-bottom: 0; }
    .news-list li a { flex-direction: column; padding-bottom: 10px; }
    .news-list li a .date { width: 70px; font-size: 14px; border-bottom: 1px solid #808080; }
    .news-list li a p { width: 100%; font-size: 12px; }
    .book-card img { min-height: 195px; }
    .book-card .title { font-size: 12px; }
    .book-card .place { font-size: 12px; }
    .book-card .place span { font-size: 14px; }
    .information-block .description .date { font-size: 15px; letter-spacing: 0; }
    .information-block .description .title { font-size: 15px; letter-spacing: 0; }

    /* information */
    .banner-wrap { top: initial; bottom: -2px; left: 0; margin: 0 auto; display: flex; }
    .banner-card { width: calc((100% - 4px) / 3 ); width: 100%; margin-right: 2px; margin-bottom: 0; }
    .banner-card:last-child { margin-right: 0; }
    .banner-card a { padding: 8px; }
    .banner-card a img { width: 15px; margin-bottom: 0; }
    .banner-card a div { writing-mode: initial; font-size: 14px; }
    .point-white { padding: 20px 15px; }
    .point-white ul { margin-bottom: 20px; }
    .detail-dl dl { font-size: 14px; }
    #staff .section-voice .author-block .icon { width: 45px; margin-right: 15px; }
    #staff .section-voice .author-block .wrap .job { font-size: 11px }
    #staff .section-voice .author-block .wrap .name { font-size: 18px; }
    .map iframe { height: 300px; }
    .intro-company .bg { width: 185px; height: 185px; }

    /* company */
    .koumuten_ttl .en { font-size: 10px; }
    .koumuten_ttl .jp { font-size: 15px; }
    .section-const .author-block { justify-content: initial; }
    .section-const .author-block .icon { width: 45px; margin-right: 15px; }
    .section-const .author-block .wrap .job { font-size: 11px }
    .section-const .author-block .wrap .name { font-size: 18px; }
    .koumuten_mainimg img { width: 100%; }
    .section-const .staff_point { flex-direction: column; gap: 0; }
    .section-const .staff_point img { width: 100%; margin-bottom: 0; }
    .section-const .staff_point p { width: 100%; }
    .company-dl dl { flex-direction: column; border-bottom: none; }
    .company-dl dt { width: 100%; font-size: 14px; padding: 2px 15px; justify-content: start; }
    .company-dl dd { width: 100%; font-size: 13px; padding: 10px 0 25px; }
    .company-dl dl:last-child dd { padding: 10px 0 0; }

    /* staff */
    .section-staff-info .author-block .icon { width: 75px; margin-right: 10px; }
    .section-staff-info .author-block .wrap .job { font-size: 12px }
    .section-staff-info .author-block .wrap .name { font-size: 20px; }
    .staff-hobby img { height: 134px; }
    .staff-dl dl { padding: 15px 0; }
    .staff-dl dt { font-size: 16px; }
    .staff-slider .slick-slide { padding: 0 7px; }
    .staff-slider .slick-prev { left: -15px; }
    .staff-slider .slick-next { right: -15px; }
    .staff-slider .slick-arrow:before { width: 10px; height: 10px; }
    .staff-slider.voice .date { font-size: 14px; }
    .staff-slider.voice p { font-size: 14px; }
}
