@charset "UTF-8"; html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video{ margin: 0; padding: 0; border: 0; font-size: 100%; vertical-align: baseline; box-sizing: border-box; } html{ line-height: 1; } .clearfix:after{ content: ""; display: block; height: 0; clear: both; visibility: hidden; } .clearfix{ display: inline-table; } /* Hides from IE-mac \*/ * html .clearfix{ height: 1%; } .clearfix{ display: block; } /* End hide from IE-mac */ ol, ul{ list-style: none; } table{ border-collapse: collapse; border-spacing: 0; } .clear { clear: both; } caption, th, td{ text-align: left; font-weight: normal; vertical-align: middle; } q, blockquote{ quotes: none; } q:before, q:after, blockquote:before, blockquote:after{ content: ""; content: none; } a img { border: none; } article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary{ display: block; } *, :after, :before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } body{ font-family: 'Noto Sans JP', sans-serif; font-weight: 500; line-height: 1.5; -webkit-text-size-adjust: 100%; color: #342e2c; } img{ height: auto; max-width: 100%; } a{ text-decoration: none; } @media screen and (max-width: 768px) { .hidden-sp{ display: none !important; } } @media screen and (min-width: 769px) { .hidden-pc{ display: none !important; } } /*------------------------------------------ サービス別レスポンシブ ------------------------------------------*/ /*youtube*/ .youtubeWrapper{ position: relative; width: 100%; padding-top: 56.25%; } .youtubeWrapper iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; } /*googlemap*/ .ggmapWrapper{ position: relative; /*padding-bottom: 56.25%;*/ height: 480px; overflow: hidden; } .ggmapWrapper iframe, .ggmapWrapper object, .ggmapWrapper embed{ position: absolute; top: -140px; left: 0; width: 100%; height: 600px; } .ggmapWrapper iframe{ height: 800px; } /*------------------------------------------ cmn ------------------------------------------*/ img{ vertical-align: top; } .hoverBtn{ -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; transition: 0.3s; } .hoverBtn:hover{ } @media screen and (max-width: 768px) { img{ } } /*------------------------------------------ body ------------------------------------------*/ body{ width: 100vw; min-width: 980px; padding-top: 80px; } @media screen and (max-width: 1169px) { body{ padding-top: 60px; } } @media screen and (max-width: 768px) { body{ min-width: inherit; } } /*------------------------------------------ header nav ------------------------------------------*/ /*PC*/ /*@media screen and (min-width: 1461px) {*/ @media screen and (min-width: 1170px) { header{ nav{ display: block !important; } } } header{ width: 100%; height: 90px; padding: 0 30px; transition: 0.8s; position: fixed; left: 0; top: 0; z-index: 1000; background: #FFF; .headerInner{ width: 100%; height: 100%; display: -ms-flex; display: flex; align-items: -ms-center; align-items: center; -ms-justify-content: flex-end; justify-content: flex-end; position: relative; .logoBox{ position: absolute; top: 18px; left: 10px; opacity: 0; transition: 0.5s; } .headerTop{ display: none; } nav{ .navInner{ ul{ display: -ms-flex; display: flex; -ms-align-items: center; align-items: center; li{ margin-right: 50px; position: relative; a{ font-size: 15px; color: #342e2c; letter-spacing: 0.1em; transition: 0.3s; &:hover{ opacity: 0.8; text-decoration: underline; } } &:after{ content: ""; width: 1px; height: 15px; display: block; background: #342e2c; position: absolute; right: -25px; top: 5px; } &:last-child{ margin-right: 0; &:after{ content: none; } } } } } } } &.fix{ height: 70px; box-shadow: 0 0 10px rgba(0,0,0,0.5); .headerInner{ .logoBox{ display: block; top: 8px; opacity: 1; } } } } /*SP*/ @media screen and (max-width: 1169px) { header{ width: 100%; height: 60px; padding: 10px 0; position: fixed; top: 0; left: 0; z-index: 1000; transition: 0.3s; .headerInner{ width: 100%; height: 100%; display: -ms-flex; display: flex; align-items: -ms-center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; .logoBox{ display: block; line-height: 1; opacity: 1; top: 5px; a{ width: 150px; height: 41px; img{ max-width: 150px; } } } .headerTop{ width: 30px; display: block; position: absolute; right: 5%; top: 8px; cursor: pointer; transition: 0.3s; .menuBtn{ width: 30px; height: 26px; position: relative; z-index: 1001; } } nav{ width: 100%; height: 100vh; padding-right: 0; margin-left: inherit; display: none; position: fixed; top: 0; left: 0; background: rgba(255,255,255,0.9); .navInner{ width: 100%; height: 100%; padding-top: 50px; display: -ms-flex; display: flex; -ms-align-items: center; align-items: center; ul{ width: 100%; padding: 0 5%; display: block; li{ display: block; width: 100%; max-width: 315px; margin: 0 auto 20px auto !important; text-align: center; a{ font-size: 18px; color: #000 !important; } &:after{ content: none; } } } } } } &.fix{ height: 60px; padding: 10px 0; .headerInner{ .logoBox{ top: 5px; } .topBtn{ top: 16px; ul{ li{ a{ height: 40px; } } } } .headerTop{ top: 8px; } } } } } /*------------------------------------------ menuTrigger ------------------------------------------*/ .menu-trigger, .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box; } .menu-trigger { position: relative; width: 30px; height: 26px; } .menu-trigger span { position: absolute; left: 0; width: 100%; height: 2px; background: #005eac; } .menu-trigger.active span { background: #005eac; } .menu-trigger span:nth-of-type(1) { top: 0; } .menu-trigger span:nth-of-type(2) { top: 12px; width: 100%; } .menu-trigger span:nth-of-type(3) { bottom: 0; } .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(10px) rotate(45deg); transform: translateY(10px) rotate(45deg); } .menu-trigger.active span:nth-of-type(2) { -webkit-transform: translateY(-2px) rotate(45deg); transform: translateY(-2px) rotate(45deg); /*-webkit-animation: active-menu-bar02 .8s forwards; animation: active-menu-bar02 .8s forwards;*/ } @-webkit-keyframes active-menu-bar02 { 100% { height: 0; } } @keyframes active-menu-bar02 { 100% { height: 0; } } .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-14px) rotate(-45deg); transform: translateY(-14px) rotate(-45deg); } /*------------------------------------------ #cmn ------------------------------------------*/ .innerBox{ max-width: 980px; margin: 0 auto; position: relative; z-index: 100; } @media screen and (max-width: 768px) { } /*------------------------------------------ #mv ------------------------------------------*/ .mvWrapper{ height: calc(100vh - 80px); min-height: 775px; position: relative; z-index: 2; .mv{ height: 100%; position: relative; ul{ height: 100%; li{ width: 100%; height: calc(100vh - 80px); min-height: 775px; display: -ms-flex; display: flex; &:before, &:after{ content: ""; display: block; } &:before{ width: 310px; } &:after{ -ms-flex: 1; flex: 1; } &.mv_01:after{ background: url("../img/mv_01.jpg") no-repeat right top / cover; } &.mv_02:after{ background: url("../img/mv_02.jpg") no-repeat right top / cover; } &.mv_03:after{ background: url("../img/mv_03.jpg") no-repeat right top / cover; } } } h1{ position: absolute; left: 0; top: 50%; z-index: 100; transform: translate(0, -50%); } } } @media screen and (max-width: 1300px) { .mvWrapper{ .mv{ h1{ max-width: 40%; } ul{ li{ width: 100%; height: calc(100vh - 80px); min-height: 775px; &:before{ width: 200px; } &.mv_01:after{ background: url("../img/mv_01.jpg") no-repeat right top / cover; } &.mv_02:after{ background: url("../img/mv_02.jpg") no-repeat right top / cover; } &.mv_03:after{ background: url("../img/mv_03.jpg") no-repeat right top / cover; } } } } } } @media screen and (max-width: 768px) { .mvWrapper{ height: auto; min-height: inherit; .mv{ height: auto; position: relative; ul{ height: auto; li{ width: 100%; height: auto; min-height: inherit; display: block; &:before{ content: none; } &.mv_01, &.mv_02, &.mv_03{ &:after{ content: none; } } img{ width: 100%; display: block; } } } h1{ max-width: 50%; position: absolute; left: 0; } } } } /*------------------------------------------ #cmn ------------------------------------------*/ .ttlBox{ position: relative; text-align: center; } h2{ position: relative; .anc{ position: absolute; top: -70px; } } @media screen and (max-width: 768px) { .ttlBox{ h2 img{ height: 50px; } } } /*------------------------------------------ #contents_01 ------------------------------------------*/ .contents_bg_01{ padding: 110px 0 0 0; background: url("../img/bg_con_01_01.jpg") no-repeat center top / cover; position: relative; top: -110px; margin-bottom: -110px; z-index: 1; .contents_01{ padding: 200px 0 250px 0; background: url("../img/bg_con_01_02.png") no-repeat center / 492px; h2{ margin-bottom: 50px; text-align: center; } p{ text-align: center; font-size: 18px; letter-spacing: 0.075em; line-height: 2; } } } @media screen and (max-width: 768px) { .contents_bg_01{ padding: 80px 0 0 0; background: url("../img/bg_con_01_01.jpg") no-repeat center top / cover; position: relative; top: -110px; margin-bottom: -110px; z-index: 1; .contents_01{ padding: 100px 20px 100px 20px; background: url("../img/bg_con_01_02.png") no-repeat center / 400px; p{ text-align: center; font-size: 16px; letter-spacing: 0.075em; line-height: 2; } } } } /*------------------------------------------ #contents_02 ------------------------------------------*/ .contents_bg_02{ .contents_02{ padding-bottom: 320px; .ttlBox{ position: relative; top: -38px; margin-bottom: -18px; } .txt_01{ margin-bottom: 50px; text-align: center; font-size: 18px; letter-spacing: 0.075em; } .box_01{ max-width: 980px; margin: 0 auto; padding-left: 55px; position: relative; h3{ position: absolute; top: 0; left: 0; } ul{ display: -ms-flex; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; li{ position: relative; a{ display: block; .imgBox{ position: relative; .sp{ display: none; } &:before{ content: ""; width: 100%; height: 100%; display: block; background: #000; opacity: 0.25; position: absolute; left: 0; top: 0; transition: 0.3s; } p{ width: 190px; height: 52px; font-size: 18px; font-weight: 700; color: #FFF; background: #005eac; display: -ms-flex; display: flex; -ms-align-items: center; align-items: center; -ms-justify-content: center; justify-content: center; position: absolute; left: 0; bottom: -26px; z-index: 2; } } &:hover{ .imgBox{ &:before{ background: #005eac; } } } } &:nth-child(2){ top: 70px; } &:nth-child(3){ top: 140px; } } } } } } @media screen and (max-width: 768px) { .contents_bg_02{ .contents_02{ padding: 0 20px 50px 20px; .ttlBox{ position: relative; top: -19px; margin-bottom: -18px; } .txt_01{ font-size: 14px; } .box_01{ max-width: 440px; margin: 0 auto; padding: 0 55px; position: relative; ul{ display: block; li{ max-width: 326px; margin: 0 auto 50px auto; position: relative; a{ display: block; .imgBox{ position: relative; &:before{ content: ""; width: 100%; height: 100%; display: block; background: #000; opacity: 0.25; position: absolute; left: 0; top: 0; transition: 0.3s; } p{ width: 190px; height: 52px; font-size: 18px; font-weight: 700; color: #FFF; background: #005eac; display: -ms-flex; display: flex; -ms-align-items: center; align-items: center; -ms-justify-content: center; justify-content: center; position: absolute; left: 0; bottom: -26px; z-index: 2; } } &:hover{ .imgBox{ &:before{ background: #005eac; } } } } &:nth-child(2){ top: inherit; } &:nth-child(3){ top: inherit; } } } } } } } @media screen and (max-width: 500px) { .contents_bg_02{ .contents_02{ .ttlBox{ position: relative; top: -19px; margin-bottom: -18px; } .txt_01{ font-size: 14px; } .box_01{ max-width: 330px; margin: 0 auto; padding: 0 55px; position: relative; ul{ display: block; li{ max-width: 326px; margin: 0 auto 50px auto; position: relative; a{ display: block; .imgBox{ max-width: 220px; position: relative; .sp{ display: block; } img:not(.sp){ display: none; } &:before{ content: ""; width: 100%; height: 100%; display: block; background: #000; opacity: 0.25; position: absolute; left: 0; top: 0; transition: 0.3s; } p{ width: 150px; height: 40px; font-size: 14px; font-weight: 700; color: #FFF; background: #005eac; display: -ms-flex; display: flex; -ms-align-items: center; align-items: center; -ms-justify-content: center; justify-content: center; position: absolute; left: 0; bottom: -26px; z-index: 2; } } &:hover{ .imgBox{ &:before{ background: #005eac; } } } } } } } } } } /*------------------------------------------ #contents_03 ------------------------------------------*/ .contents_bg_03{ background: url("../img/bg_con_03.jpg") no-repeat center bottom / cover; .contents_03{ padding: 0 0 240px 0; .ttlBox{ position: relative; top: -38px; margin-bottom: 42px; } ul{ display: -ms-flex; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; li{ position: relative; h3{ position: absolute; right: 50%; top: 0; transform: translate(50%, -50%); z-index: 2; } } li:nth-child(even){ top: 70px; } } .txt_01{ margin-top: 90px; text-align: right; font-size: 14px; font-family: "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif"; } } } @media screen and (max-width: 768px) { .contents_bg_03{ background: url("../img/bg_con_03.jpg") no-repeat center bottom / cover; .contents_03{ padding: 0 20px 10px 20px; .ttlBox{ position: relative; top: -19px; margin-bottom: 42px; } ul{ display: block; li{ max-width: 230px; margin: 0 auto 80px auto; } li:nth-child(even){ top: inherit; } li:last-child{ margin-bottom: 40px; } } .txt_01{ margin: 0 0 40px 0; text-align: left; font-size: 14px; } } } } /*------------------------------------------ #contents_04 ------------------------------------------*/ .contents_bg_04{ .contents_04{ padding: 0 0 140px 0; .ttlBox{ position: relative; top: -38px; margin-bottom: 26px; } .imgBox{ margin-bottom: 10px; } p{ text-align: center; font-size: 18px; letter-spacing: 0.075em; } } } @media screen and (max-width: 768px) { .contents_bg_04{ .contents_04{ padding: 0 20px 100px 20px; .ttlBox{ position: relative; top: -19px; margin-bottom: 26px; } .imgBox{ margin-bottom: 10px; text-align: center; img{ width: 100%; max-width: 420px; } } p{ text-align: center; font-size: 16px; letter-spacing: 0.075em; } } } } /*------------------------------------------ #contents_05 ------------------------------------------*/ .contents_bg_05{ background: #e3eefa; .contents_05{ .ttlBox{ position: relative; top: -38px; margin-bottom: 7px; } .box_01{ min-height: 550px; background: url("../img/img_con_05.jpg") no-repeat center / 800px; background-position: calc(50% - 400px) 0; .innerBox{ min-height: 550px; padding-bottom: 60px; display: -ms-flex; display: flex; -ms-align-items: flex-end; align-items: flex-end; -ms-justify-content: flex-end; justify-content: flex-end; dl{ width: 555px; padding: 50px 30px; background: rgba(25,123,185,0.8); color: #FFF; font-family: "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif"; dt{ padding-left: 40px; margin-bottom: 5px; font-size: 18px; letter-spacing: 0.025em; font-weight: 700; position: relative; &:before{ content: ""; width: 35px; height: 1px; display: block; background: #FFF; position: absolute; left: 0; top: 13px; } } dd{ font-size: 16px; letter-spacing: 0.075em; &:not(:last-child){ margin-bottom: 40px; } } } } } } } @media screen and (max-width: 768px) { .contents_bg_05{ background: #e3eefa; .contents_05{ .ttlBox{ position: relative; top: -19px; margin-bottom: 7px; } .box_01{ min-height: inherit; background: none; .innerBox{ min-height: inherit; padding-bottom: 10px; display: block; dl{ width: 100%; padding: 30px 20px; background: rgba(25,123,185,0.8); color: #FFF; font-family: "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif"; dt{ padding-left: 40px; margin-bottom: 5px; font-size: 16px; letter-spacing: 0.025em; font-weight: 700; position: relative; &:before{ content: ""; width: 35px; height: 1px; display: block; background: #FFF; position: absolute; left: 0; top: 13px; } } dd{ font-size: 14px; letter-spacing: 0.075em; &:not(:last-child){ margin-bottom: 40px; } } } } } } } } /*------------------------------------------ #contents_06 ------------------------------------------*/ .contents_bg_06{ background: #e3eefa; padding-bottom: 85px; .contents_06{ padding: 115px 0 80px 0; background: url("../img/img_con_06_01.jpg") no-repeat center / 393px, url("../img/img_con_06_02.jpg") no-repeat center / 583px; background-position: calc(50% + 600px) 20px, calc(50% - 580px) bottom; .box_01{ background: #FFF; .ttlBox{ position: relative; top: -38px; margin-bottom: -13px; } dl{ padding: 20px 0 30px 0; margin: 0 70px; font-family: "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif"; font-size: 16px; border-top: 1px solid #babbbb; dt{ padding: 4px 0 4px 30px; margin-bottom: 5px; background: url("../img/icon_q.svg") no-repeat left center / 19px 24px; } dd{ padding: 4px 0 20px 30px; margin-bottom: 20px; background: url("../img/icon_a.svg") no-repeat left top 7px / 19px 18px; border-bottom: 1px solid #babbbb; } } } } } @media screen and (max-width: 768px) { .contents_bg_06{ background: #e3eefa; padding: 50px 0 85px 0; .contents_06{ padding: 115px 20px 80px 20px; background: url("../img/img_con_06_01.jpg") no-repeat right top / 393px, url("../img/img_con_06_02.jpg") no-repeat left bottom / 583px; .box_01{ background: #FFF; .ttlBox{ position: relative; top: -19px; margin-bottom: 20px; } dl{ padding: 20px 0 30px 0; margin: 0 20px; font-family: "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif"; font-size: 16px; border-top: 1px solid #babbbb; dt{ padding: 4px 0 4px 30px; margin-bottom: 5px; background: url("../img/icon_q.svg") no-repeat left top 5px / 19px 24px; } dd{ padding: 4px 0 20px 30px; margin-bottom: 20px; background: url("../img/icon_a.svg") no-repeat left top 7px / 19px 18px; border-bottom: 1px solid #babbbb; } } } } } } /*------------------------------------------ #contents_07 ------------------------------------------*/ .contents_bg_07{ padding: 95px 0; background: url("../img/bg_con_07.jpg") no-repeat center bottom / cover; .contents_07{ h2{ margin-bottom: 55px; text-align: center; } ul{ max-width: 620px; margin: 0 auto 55px auto;; display: -ms-flex; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; li{ a{ width: 280px; height: 60px; display: -ms-flex; display: flex; -ms-align-items: center; align-items: center; -ms-justify-content: center; justify-content: center; background: url("../img/arrow_01.svg") no-repeat right 10px center / 7px 11px #FFF; font-size: 18px; font-weight: 700; letter-spacing: 0.05em; color: #342e2c; transition: 0.3s; &:hover{ background: url("../img/arrow_01.svg") no-repeat right 5px center / 7px 11px #FFF; } } } } } } @media screen and (max-width: 768px) { .contents_bg_07{ padding: 95px 20px 0 20px; background: url("../img/bg_con_07.jpg") no-repeat center bottom / cover; .contents_07{ h2{ margin-bottom: 55px; text-align: center; } ul{ max-width: 620px; margin: 0 auto 55px auto;; display: block; li{ margin-bottom: 20px; a{ width: 100%; max-width: 280px; height: 60px; margin: 0 auto; display: -ms-flex; display: flex; -ms-align-items: center; align-items: center; -ms-justify-content: center; justify-content: center; background: url("../img/arrow_01.svg") no-repeat right 10px center / 7px 11px #FFF; font-size: 18px; font-weight: 700; letter-spacing: 0.05em; color: #342e2c; transition: 0.3s; &:hover{ background: url("../img/arrow_01.svg") no-repeat right 5px center / 7px 11px #FFF; } } } } } } } /* ------------------------------ トップへ戻る ------------------------------ */ #toTop{ position: fixed; right: 10px; bottom: 10px; display: none; z-index: 200; } #toTop a:hover{ opacity: 0.8; } @media screen and (max-width: 768px) { #toTop{ right: 0; bottom: 0; img{ width: 40px; } } } /*------------------------------------------ footer ------------------------------------------*/ footer{ padding: 65px 5% 0 5%; text-align: center; border-top: 1px solid #FFF; } footer *{ color: #FFF; font-size: 15px; } footer .innerBox{ max-width: 100%; } footer #links{ margin-bottom: 45px; } footer #links a{ display: inline-block; margin-right: 45px; } footer #links a:last-child{ margin-right: 0; } footer #links a:hover{ text-decoration: underline; } footer #copy{ } footer #copy small{ font-size: 13px; } @media screen and (max-width: 768px) { footer{ padding: 20px 5% 50px 5%; min-width: inherit; text-align: center; display: block; } footer #links{ padding: 30px 5% 0 5%; margin-bottom: 0; float: inherit; text-align: center; font-size: 12px; a{ display: inline-block; margin: 0 10px 20px 10px; &:last-child{ margin: 0 10px 20px 10px; } } } footer #copy{ float: inherit; small{ font-size: 12px; } } }