@charset "UTF-8"; /* Scss Document */ /*------------------------------------------------- common =================================================*/ html { scroll-snap-type: y mandatory; scroll-behavior: smooth; } body { font-weight: 400; color: #333; line-height: 2; background: #fff; text-align: left; -webkit-text-size-adjust: 100%; word-break: break-word; font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, Osaka, "MS Pゴシック", MS PGothic, "sans-serif"; } [id] { scroll-margin-top: 50px; } a { color: #0066cc; text-decoration: underline; transition: all 0.3s; } a:hover { text-decoration: none; opacity: 0.7; } a.btn, button.btn { background: #76767F; color: #fff !important; padding: 20px 0; text-align: center; border-radius: 100px; display: block; text-decoration: none; font-size: 16px; border: none; outline: none; transition: 0.3s; } @media (min-width: 768px) { a.btn, button.btn { padding: 15px 0; } } a.btn:after, button.btn:after { content: ""; width: 8px; height: 8px; border-top: 1px solid #fff; border-right: 1px solid #fff; transform: translateY(-2px) rotate(45deg); display: inline-block; margin-left: 10px; } a.btn:hover, button.btn:hover { background: #0baa66; opacity: 1; } button.btn { width: 100%; max-width: 300px; margin: 0 auto; } button.btn:disabled { background: #ccc !important; } a.more { display: block; margin: 0 -5vw; background: #f5f5f5; padding: 25px 0; text-align: center; color: #000 !important; text-decoration: none; } @media (min-width: 768px) { a.more { background: none; position: absolute; top: 0; right: 0; margin: 0; height: auto !important; } #top_shopnews a.more { color: #fff !important; } } a.more:after { content: ""; width: 6px; height: 6px; border-top: 1px solid #000; border-right: 1px solid #000; transform: translateY(-1px) rotate(45deg); display: inline-block; margin-left: 10px; } @media (min-width: 768px) { #top_shopnews a.more:after { border-color: #fff; } } .tal { text-align: left !important; } .tar { text-align: right !important; } .tac { text-align: center !important; } .fl { float: left; } .fr { float: right; } @media (min-width: 768px) { .mt0 { margin-top: 0 !important; } .mt5 { margin-top: 5px !important; } .mt10 { margin-top: 10px !important; } .mt15 { margin-top: 15px !important; } .mt20 { margin-top: 20px !important; } .mt30 { margin-top: 30px !important; } .mt40 { margin-top: 40px !important; } .mt50 { margin-top: 50px !important; } .mr0 { margin-right: 0 !important; } .mr5 { margin-right: 5px !important; } .mr10 { margin-right: 10px !important; } .mr15 { margin-right: 15px !important; } .mr20 { margin-right: 20px !important; } .mr30 { margin-right: 30px !important; } .mr40 { margin-right: 40px !important; } .mr50 { margin-right: 50px !important; } .mb0 { margin-bottom: 0 !important; } .mb5 { margin-bottom: 5px !important; } .mb10 { margin-bottom: 10px !important; } .mb15 { margin-bottom: 15px !important; } .mb20 { margin-bottom: 20px !important; } .mb30 { margin-bottom: 30px !important; } .mb40 { margin-bottom: 40px !important; } .mb50 { margin-bottom: 50px !important; } .ml0 { margin-left: 0 !important; } .ml5 { margin-left: 5px !important; } .ml10 { margin-left: 10px !important; } .ml15 { margin-left: 15px !important; } .ml20 { margin-left: 20px !important; } .ml30 { margin-left: 30px !important; } .ml40 { margin-left: 40px !important; } .ml50 { margin-left: 50px !important; } .pc_tal { text-align: left !important; } .pc_tar { text-align: right !important; } .pc_tac { text-align: center !important; } .pc_fl { float: left; } .pc_fr { float: right; } } @media (max-width: 767px) { .mt0 { margin-top: 0 !important; } .mt5 { margin-top: 5px !important; } .mt10 { margin-top: 10px !important; } .mt15 { margin-top: 10px !important; } .mt20 { margin-top: 15px !important; } .mt30 { margin-top: 15px !important; } .mt40 { margin-top: 20px !important; } .mt50 { margin-top: 20px !important; } .mr0 { margin-right: 0 !important; } .mr5 { margin-right: 5px !important; } .mr10 { margin-right: 10px !important; } .mr15 { margin-right: 10px !important; } .mr20 { margin-right: 15px !important; } .mr30 { margin-right: 15px !important; } .mr40 { margin-right: 20px !important; } .mr50 { margin-right: 20px !important; } .mb0 { margin-bottom: 0 !important; } .mb5 { margin-bottom: 5px !important; } .mb10 { margin-bottom: 10px !important; } .mb15 { margin-bottom: 10px !important; } .mb20 { margin-bottom: 15px !important; } .mb30 { margin-bottom: 15px !important; } .mb40 { margin-bottom: 20px !important; } .mb50 { margin-bottom: 20px !important; } .ml0 { margin-left: 0 !important; } .ml5 { margin-left: 5px !important; } .ml10 { margin-left: 10px !important; } .ml15 { margin-left: 10px !important; } .ml20 { margin-left: 15px !important; } .ml30 { margin-left: 15px !important; } .ml40 { margin-left: 20px !important; } .ml50 { margin-left: 20px !important; } .sp_tal { text-align: left !important; } .sp_tar { text-align: right !important; } .sp_tac { text-align: center !important; } .sp_fl { float: left; } .sp_fr { float: right; } } section, nav, header, footer, article, ul, li, dl, dt, dd { margin: 0; padding: 0; list-style: none; } p { margin: 1.5em 0; font-weight: 300; } p:first-child { margin-top: 0; } p:last-child { margin-bottom: 0; } /*------------------------------------------*/ img { max-width: 100%; height: auto; } .ytb { position: relative; width: 100%; padding-top: 56.25%; } .ytb iframe { position: absolute; top: 0; right: 0; width: 100%; height: 100%; } .allwrap { width: 100%; overflow: hidden; } @media (min-width: 768px) { body { font-size: 16px; min-width: 1300px; /*padding-top:90px;*/ } .inner { width: 1080px; margin: 0 auto; position: relative; box-sizing: border-box; } .inner._righttitle { padding-right: 180px; } #contents { overflow: hidden; min-width: 1180px; } .sp_only { display: none !important; } } @media (max-width: 767px) { body { font-size: 15px; min-width: 320px; padding-top: 70px; } .inner { width: 100%; padding: 0 5vw; box-sizing: border-box; position: relative; } .inner._sp_full { padding: 0; } .pc_only { display: none !important; } .spnavi .title { margin: 0 0 10px; display: block; } .spnavi ul { display: flex; justify-content: space-between; align-items: stretch; flex-wrap: wrap; } .spnavi ul li { margin: 2px 0; width: calc(50% - 2px); } .spnavi ul li.wide { width: 100%; } .spnavi ul li.pad { margin: 15px 0; } .spnavi ul li a { background: #fff; color: #000; text-decoration: none; height: 5em; display: flex; align-items: center; padding: 0 15px; } #spnavi { background: #AAB2BE; margin: 0 -5vw; padding: 10px 5vw; color: #fff; display: none; overflow: auto; max-height: calc(100vh - 70px); box-sizing: border-box; } } /*-- スマホメニュー ----------------------------------------*/ .sp_menubtn { width: 25px; height: 19px; position: absolute; top: 50%; left: 50%; margin: -9.5px 0 0 -12.5px; } .sp_menubtn span { background: #000; width: 25px; height: 3px; border-radius: 10px; display: block; position: absolute; transform: translate(-50%, -50%); left: 50%; transition: all 0.3s ease 0s; } .sp_menubtn span:nth-of-type(1) { top: 1.5px; } .sp_menubtn span:nth-of-type(2) { top: 9.5px; } .sp_menubtn span:nth-of-type(3) { top: 17.5px; } .spmenu.active .sp_menubtn span:nth-of-type(1) { transform: translate(-50%, -50%) rotate(-135deg); top: 50%; } .spmenu.active .sp_menubtn span:nth-of-type(2) { opacity: 0; left: 100%; } .spmenu.active .sp_menubtn span:nth-of-type(3) { transform: translate(-50%, -50%) rotate(135deg); top: 50%; } /*------------------------------------------*/ header { background: #fff; position: fixed; top: 0; left: 0; width: 100%; z-index: 10000; height: 70px; } @media (min-width: 768px) { header { height: 90px; position: static; } } header .spmenu { position: absolute; top: 0; right: 0; width: 70px; height: 70px; } header .logo { width: 160px; height: 70px; box-sizing: border-box; padding-top: 13px; position: relative; z-index: 100; } @media (min-width: 768px) { header .logo { height: 90px; width: 217px; padding-top: 17px; } } header .inner { position: static; } /*------------------------------------------*/ #pcnavi { position: absolute; top: 0; left: 0; width: 100%; } #pcnavi ul.mainmenu { width: 1080px; height: 90px; margin: 0 auto; display: flex; align-items: center; justify-content: flex-end; } #pcnavi ul.mainmenu > li { margin: 0 0 0 40px; } #pcnavi ul.mainmenu > li > a { line-height: 90px; padding: 0; white-space: nowrap; font-weight: bold; display: block; text-decoration: none; color: #000; font-style: italic; font-size: 15px; letter-spacing: 0.2em; } #pcnavi .submenu { z-index: 1010; display: none; position: absolute; top: 90px; left: 0; width: 100%; text-align: center; margin: 0; padding: 30px 0; background: rgba(0, 0, 0, 0.8); } #pcnavi .submenu ul { display: flex; justify-content: center; flex-wrap: wrap; width: 1000px; margin: 0 auto; } #pcnavi .submenu li { width: 240px; margin: 30px; text-align: left; } #pcnavi .submenu figure { margin: 0 0 10px; } #pcnavi .submenu a { color: #fff; text-decoration: none; line-height: 1; display: block; } /*------------------------------------------*/ section { margin: 15vw 0; } @media (min-width: 768px) { section { margin: 200px 0; } } section.pswp__scroll-wrap { margin: 0 !important; } /*------------------------------------------*/ footer { background: #7F92A3; color: #fff; padding: 5vw 0 0; } @media (min-width: 768px) { footer { background: #fff; border-top: 4px solid #6F7579; padding: 90px 0 0; } } footer .logo { margin: 0 0 30px; } @media (min-width: 768px) { footer .spnavi { display: flex; } footer .spnavi a { color: #000; text-decoration: none; font-size: 14px; margin: 0 0 5px; } footer .spnavi ul { width: 250px; } } footer .subnavi { margin: 8vw 0; position: relative; } @media (min-width: 768px) { footer .subnavi { margin: 40px 0; padding: 30px 0 0 0; border-top: 1px solid #6F7579; } footer .subnavi ul li { display: inline-block; margin: 0 30px 0 0; } } footer .subnavi a { color: #fff; text-decoration: none; line-height: 2.5; } @media (min-width: 768px) { footer .subnavi a { color: #000; font-size: 14px; } } footer .subnavi .gotop { position: absolute; top: 0; right: 0; } @media (min-width: 768px) { footer .subnavi .gotop { top: 30px; } } footer .subnavi .gotop a { position: relative; display: block; padding-right: 20px; } @media (min-width: 768px) { footer .subnavi .gotop a { padding-right: 0; } } footer .subnavi .gotop a:after { content: ""; background: url(../images/gotoparrow.svg) no-repeat center center/contain; width: 14px; height: 14px; display: block; position: absolute; top: 50%; right: 0; margin-top: -7px; } @media (min-width: 768px) { footer .subnavi .gotop a:after { display: none; } } .copyright { text-align: center; background: #000; color: #fff; padding: 5vw; } @media (min-width: 768px) { .copyright { padding: 15px; } } /*------------------------------------------*/ ul.btns { margin: 0 -5vw 5vw; overflow: hidden; border-top: 1px solid #D0D0D0; } @media (min-width: 768px) { ul.btns { margin: 0 0 120px; display: flex; justify-content: space-between; flex-wrap: wrap; border: none; } } ul.btns li { float: left; width: 50%; box-sizing: border-box; border-bottom: 1px solid #D0D0D0; } @media (min-width: 768px) { ul.btns li { float: none; border: none !important; width: auto; margin: 30px 0 0 0; } } ul.btns li:nth-of-type(2n + 1) { clear: both; border-right: 1px solid #D0D0D0; } ul.btns li a { height: 5em; display: flex; justify-content: center; align-items: center; text-align: center; text-decoration: none; color: #000; box-sizing: border-box; } @media (min-width: 768px) { ul.btns li a { height: 120px; width: 340px; text-align: left; justify-content: flex-start; padding: 0 50px 0 60px; border: 2px solid #707070; position: relative; background: #fff; } ul.btns li a:after { content: ""; background: url(../images/linkarrow.svg) no-repeat center center/contain; width: 20px; height: 20px; display: block; position: absolute; top: 50%; right: 30px; margin-top: -10px; } } ul.btns li.blank { border: none; } ul.btns li.blank span { display: flex; box-sizing: border-box; } @media (min-width: 768px) { ul.btns li.blank span { height: 120px; width: 340px; text-align: left; justify-content: flex-start; padding: 0 50px 0 60px; border: 2px solid transparent; position: relative; background: #fff; } } @media (max-width: 767px) { ul.btns._anchor li a { position: relative; padding-bottom: 10px; } } @media (max-width: 767px) { ul.btns._anchor li a:after { content: ""; border: 5px solid transparent; border-top: 7px solid #707070; display: block; width: 0; height: 0; position: absolute; bottom: 10px; left: 50%; margin-left: -5px; } } @media (min-width: 768px) { ul.btns._anchor li a:after { transform: rotate(90deg); } } /*------------------------------------------*/ .pagetitle { background: no-repeat center center / cover; height: 130px; display: flex; justify-content: center; align-items: center; text-align: center; } .pagetitle h1 { font-size: 24px; font-style: italic; letter-spacing: 0.2em; margin: 0; } @media (min-width: 768px) { .pagetitle h1 { font-size: 40px; } } .pagetitle h1 span { font-size: 16px; font-style: normal; letter-spacing: 0; } @media (min-width: 768px) { .pagetitle h1 span { display: block; } } @media (min-width: 768px) { .pagetitle { height: 300px; } } .pagetitle._company { background-image: url("../images/pagetitle_company.jpg"); color: #fff; } @media (min-width: 768px) { .pagetitle._company { color: #000; height: 200px; } } .pagetitle._service { background-image: url("../images/pagetitle_service.jpg"); color: #fff; } @media (min-width: 768px) { .pagetitle._service { height: 477px; } } .pagetitle._ma { background: url("../images/pagetitle_ma.png") no-repeat left center/cover; } @media (max-width: 767px) { .pagetitle._ma { height: auto; } } .pagetitle._ma h1 span { font-weight: normal; font-size: 26px; letter-spacing: 0.2em; } .pagetitle._site { background-image: url("../images/pagetitle_site.jpg"); } @media (max-width: 767px) { .pagetitle._site { height: auto; } } .pagetitle._site h1 span { font-weight: normal; font-size: 26px; color: #fff; letter-spacing: 0.2em; } .pagetitle._jobreturn { background-image: url("../images/pagetitle_jobreturn.jpg"); } @media (max-width: 767px) { .pagetitle._jobreturn { height: auto; } } .pagetitle._jobreturn h1 span { font-weight: normal; font-size: 16px; letter-spacing: 0.2em; } .pagetitle._jobreturn em { font-weight: bold; display: block; font-size: 40px; } .pagetitle._utility { background: url("../images/pagetitle_sub.jpg") no-repeat left center/cover; } @media (max-width: 767px) { .pagetitle._utility { height: auto; } } .pagetitle_sp h1 { text-align: left; display: block; font-weight: bold; font-style: italic; font-size: 42px; margin: 45px 5vw 45px; } .pagetitle_sp h1 span { display: block; font-size: 13px; font-weight: normal; font-style: normal; } /*------------------------------------------*/ .hr { width: 100%; height: 1px; background: #707070; } /*------------------------------------------*/ .common_title { text-align: left; display: block; font-weight: bold; font-style: italic; font-size: 28px; margin: 0 0 45px; } @media (min-width: 768px) { .common_title { transform-origin: left top; line-height: 1; position: absolute; margin: 0; top: 0px; font-size: 100px; } .common_title._right { right: 0; transform: translateX(100%) rotate(90deg); } .common_title._left { left: 0; transform: translateX(0.86em) rotate(90deg); } } /*------------------------------------------*/ @media (min-width: 768px) { dl.common { border-top: 1px solid; } dl.common dt { padding: 25px 0; float: left; } dl.common dd { border-bottom: 1px solid; padding: 25px 0 25px 240px; } } @media (max-width: 767px) { dl.common dt { background: #E9EEF6; margin: 0 -5vw; padding: 15px 5vw; } dl.common dd { padding: 15px 0; } } dl.common p { font-weight: 400; } /*------------------------------------------*/ #pc_tab { margin: 50px 0 0; } #pc_tab ul { display: table; width: 100%; } #pc_tab ul li { display: table-cell; min-width: 6em; } #pc_tab ul li a { font-size: 15px; text-decoration: none; display: block; color: #000; padding: 20px 0; text-align: center; border: 1px solid transparent; border-bottom: 1px solid #000; } #pc_tab ul li a.current { border: 1px solid #000; border-bottom: 1px solid transparent; } @media (min-width: 768px) { #pc_tab + section { margin-top: 100px !important; } } /*------------------------------------------*/ h1.common, h2.common { font-size: 22px; display: table; font-weight: normal; margin: 0 0 45px; } @media (min-width: 768px) { h1.common, h2.common { font-size: 24px; margin-bottom: 130px; } } h1.common:after, h2.common:after { content: ""; width: 100%; display: block; height: 4px; background: #000; margin-top: 3px; } @media (min-width: 768px) { h1.common:after, h2.common:after { height: 5px; margin-top: 8px; } } /*------------------------------------------*/ @media (max-width: 767px) { .text_and_photo figure { position: relative; } .text_and_photo figure figcaption { font-weight: bold; font-size: 8vw; font-style: italic; position: absolute; top: -4vw; right: 5vw; line-height: 1; } .text_and_photo figure._line2 { padding-top: 8vw; } .text_and_photo figure._line2 figcaption { top: -4vw; } .text_and_photo figure._line3 { padding-top: 16vw; } .text_and_photo figure._line3 figcaption { top: -4vw; } .text_and_photo figure._noabsolute figcaption { position: static; margin-bottom: 10px; padding: 0 5vw; text-align: right; } .text_and_photo h2.common.sp_only { margin-left: 5vw; margin-right: 5vw; } .text_and_photo .text { padding: 5vw; } } @media (min-width: 768px) { .text_and_photo { display: flex; justify-content: space-between; align-items: flex-end; } .text_and_photo figure { width: 50%; box-sizing: border-box; position: relative; } .text_and_photo figure figcaption { font-weight: bold; font-size: 70px; font-style: italic; position: absolute; top: -35px; line-height: 1; } .text_and_photo figure._line3 figcaption { top: -175px; } .text_and_photo figure._line2 figcaption { top: -105px; } .text_and_photo figure._noabsolute figcaption { position: static; margin-bottom: 20px; } .text_and_photo .text { width: 50%; overflow: hidden; box-sizing: border-box; } .text_and_photo .text .textinner { width: 465px; } .text_and_photo .text h2 { margin-bottom: 70px; } .text_and_photo._photoR figure { order: 2; } .text_and_photo._photoR figure figcaption { left: 0; } .text_and_photo._photoR .text { order: 1; padding-right: 75px; } .text_and_photo._photoR .text .textinner { float: right; } .text_and_photo._photoL figure { order: 1; padding-right: 75px; } .text_and_photo._photoL figure figcaption { right: 75px; } .text_and_photo._photoL figure img { float: right; } .text_and_photo._photoL .text { order: 2; } } .text_and_photo p.lead { font-weight: 500; font-size: 18px; } @media (min-width: 768px) { .text_and_photo p.lead { font-size: 20px; } } /*------------------------------------------*/ ul.sitelink { margin-top: 10vw; } @media (min-width: 768px) { ul.sitelink { display: flex; justify-content: space-between; flex-wrap: wrap; margin-top: 50px; } } ul.sitelink li { margin-top: 5vw; } @media (min-width: 768px) { ul.sitelink li { width: 308px; margin-top: 50px; } } ul.sitelink figure { position: relative; } ul.sitelink figure::after { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border: 1px solid #ccc; display: block; } ul.sitelink a { text-decoration: none; color: #000; } ul.sitelink a h3 { font-weight: normal; margin: 0 0 10px; position: relative; } ul.sitelink a h3:after { content: ""; background: url("../images/newwindow.svg") no-repeat center center/100%; width: 12px; height: 12px; display: block; margin: 0 0 0 10px; position: absolute; top: 50%; right: 0; margin-top: -6px; } @media (min-width: 768px) { ul.sitelink a h3 { margin: 0 0 20px; } ul.sitelink a h3:after { display: none; } } ul.sitelink a span { display: block; position: relative; border: 1px solid #707070; margin-top: 30px; padding: 7px 0; border-radius: 100px; text-align: center; font-weight: 400; } ul.sitelink a span:after { content: ""; background: url("../images/newwindow.svg") no-repeat center center/100%; width: 16px; height: 16px; position: absolute; top: 50%; right: 20px; margin-top: -8px; display: block; } /*------------------------------------------*/ i.external { width: 11px; height: 11px; background: url("../images/newwindow.svg") no-repeat center center/contain; display: inline-block; margin-left: 4px; vertical-align: baseline; } .submenu i.external { background-image: url("../images/newwindow_wh.svg"); } #sitemap i.external { background-image: url("../images/newwindow_bl.svg"); } /*------------------------------------------*/ /*------------------------------------------*/ /*------------------------------------------*/ /*------------------------------------------*/ /*------------------------------------------*/ /*------------------------------------------*/ /*------------------------------------------*/ /*------------------------------------------*/ /*------------------------------------------*/ /*------------------------------------------*/ /*------------------------------------------*/ /*------------------------------------------*/ /*------------------------------------------*/ /*------------------------------------------*/ /*------------------------------------------*/ /*------------------------------------------*/ /*------------------------------------------*/ /*------------------------------------------*/