/////////////////////////////////////////////// // import /////////////////////////////////////////////// @import "/css/common/common_const.scss"; /////////////////////////////////////////////// // reset /////////////////////////////////////////////// html { overflow-y: scroll; overflow-x: hidden; background-color: $bgcolor; font-size: 62.5%; > body { margin: 0; font-family: Roboto,$sans,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif; line-break: strict; overflow-x: hidden; background-color: $bgcolor; min-height: 100vh; scroll-behavior: smooth; text-rendering: optimizeSpeed; *,*::before,*::after { box-sizing: border-box; } a { outline: 0; transition: opacity 0.1s; text-decoration-skip-ink: auto; } img { border: 0; vertical-align: bottom; } ul,ol { list-style: none; margin: 0; padding: 0; } h1,h2,h3,h4,h5,h6,p,li,figure,figcaption,blockquote,dl,dd { margin: 0; } } } /////////////////////////////////////////////// // selection /////////////////////////////////////////////// ::selection { color: #fff; background-color: #0097d6; } /////////////////////////////////////////////// // iOS /////////////////////////////////////////////// * { -webkit-touch-callout: none; //長押しすることで現れるコールアウト表示を制御 -webkit-tap-highlight-color: rgba(0,0,0,0); //タッチ時の背景色抑制 -webkit-text-size-adjust: 100%; //文字サイズ自動調整を抑制 } /////////////////////////////////////////////// // iPhoneでvideoの再生ボタンを消す /////////////////////////////////////////////// *::-webkit-media-controls-panel { display: none!important; -webkit-appearance: none; } *::-webkit-media-controls-play-button { display: none!important; -webkit-appearance: none; } *::-webkit-media-controls-start-playback-button { display: none!important; -webkit-appearance: none; } /////////////////////////////////////////////// // margin /////////////////////////////////////////////// .margin5 { margin-top: 5px; line-height: 5px; } .margin10 { margin-top: 10px; line-height: 10px; } .margin15 { margin-top: 15px; line-height: 15px; } .margin20 { margin-top: 20px; line-height: 20px; } .margin25 { margin-top: 25px; line-height: 25px; } .margin30 { margin-top: 30px; line-height: 30px; } .margin40 { margin-top: 40px; line-height: 40px; } .margin50 { margin-top: 50px; line-height: 50px; } .margin60 { margin-top: 60px; line-height: 60px; } .margin70 { margin-top: 70px; line-height: 70px; } .margin80 { margin-top: 80px; line-height: 80px; } .margin90 { margin-top: 90px; line-height: 90px; } .margin100 { margin-top: 100px; line-height: 100px; } /////////////////////////////////////////////// // アンカー位置を上に移動(ヘッダ固定分) /////////////////////////////////////////////// a[name] { display: block; margin-top: -120px; padding-top: 120px; width: 0; height: 0; } /////////////////////////////////////////////// // ... は改行させない /////////////////////////////////////////////// wbr { &:after { content: "\00200B"; //ゼロ幅スペース } + span { white-space: nowrap; } } /////////////////////////////////////////////// // browsercaution jscaution preview /////////////////////////////////////////////// @media print,screen { input#browsercaution[type="checkbox"] { display: none; } } @media print { label[for="browsercaution"],#jscaution,#preview { display: none; } } @media screen { label[for="browsercaution"],#jscaution,#preview { position: fixed; text-align: center; font-size: 1.3rem; padding: 20px; color: #fff; width: 100%; box-sizing: border-box; opacity: 0.7; transition: all 0.5s; max-height: 100px; overflow: hidden; &:hover { opacity: 1; } } label[for="browsercaution"] { bottom: 0; z-index: 500; background-color: #f00; cursor: pointer; } #jscaution { bottom: 0; z-index: 502; background-color: #ff0; color: #111; } #preview { top: 0; z-index: 499; background-color: #f00; font-size: 2.4rem; font-weight: bold; line-height: 150%; opacity: 0.7; } input#browsercaution[type="checkbox"]:checked + label[for="browsercaution"] { padding: 0; max-height: 0; } } /////////////////////////////////////////////// // top of page /////////////////////////////////////////////// @media print { #movepagetop { display: none; } } @media screen { #movepagetop { @include userSelectNone; position: fixed; right: 0px; bottom: -90px; z-index: 500; opacity: 0.4; &:hover { opacity: 1; } } } @media screen and (max-width:849px) { #movepagetop > a > img { width: 50px; } } /////////////////////////////////////////////// // siteConfig /////////////////////////////////////////////// @media screen { #siteConfig { padding: 20px; border: solid 5px #057; background-color: #fff; > h3 { margin: 0; font-size: 1.5rem; line-height: 100%; color: #057; font-family: $sans; font-weight: 400; } > .conf1, > .conf2, > .conf3 { display: flex; align-items: center; border-top: solid 1px #057; padding-top: 10px; margin-top: 10px; } > .conf1 { margin-top: 15px; } > .conf1 > p, > .conf2 > p, > .conf3 > p { margin: 0; padding: 10px 0; flex-grow: 1; font-size: 1.4rem; line-height: 140%; color: #333; } > .conf3 > span { font-size: 1.4rem; line-height: 140%; color: #333; &:nth-of-type(1) { color: #fff; background-color: #057; padding: 2px 5px; border-radius: 3px; margin-right: 20px; } } > .conf3 > input { width: 150px; } > p { margin: 0; font-size: 1.3rem; line-height: 120%; color: #333; } > .button { border-top: solid 1px #057; padding-top: 20px; margin-top: 10px; display: flex; align-items: center; } span.radio { @include appearanceNone; @include userSelectNone; box-sizing: border-box; display: inline; input { display: none; &:checked + label { background-color: #057; border: solid 1px #046; color: white; background-image: url(/images/common/svg/icon_radio_fff.svg); } } label { display: inline-block; box-sizing: border-box; white-space: nowrap; font-size: 1.4rem; line-height: 100%; color: #888; padding: 10px 13px 10px 30px; background-color: #f8f8f8; margin: 0 5px 4px 0; cursor: pointer; border: solid 1px #ccc; border-radius: 7px; background-image: url(/images/common/svg/icon_radio_off.svg); background-repeat: no-repeat; background-position: 8px 45%; } } button { @include appearanceNone; @include userSelectNone; box-sizing: border-box; height: 40px; border: solid 1px #057; border-radius: 3px; cursor: pointer; font-size: 1.5rem; line-height: 100%; background-color: #fff; color: #057; margin-right: 10px; &:hover { opacity: 0.7; } } } } /////////////////////////////////////////////// // headerfix01wrapper /////////////////////////////////////////////// @media print { #headerfix01wrapper { display: none; } } @media screen { #headerfix01wrapper { @include userSelectNone; position: fixed; width: 100%; background-color: #000; z-index: 1; transition: all 0.3s; opacity: 1; > header { position: relative; padding: 0 5%; > .inner { height: 130px; padding-bottom: 25px; max-width: 1500px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; transition: 0.3s; > .logo { > a { text-decoration: none; &:hover { opacity: 0.8; } > img { width: 430px; transition: all 0.3s; } } } > .menu { display: flex; justify-content: space-between; transition: 0.3s; > a { text-decoration: none; font-size: 1.6rem; line-height: 150%; color: $accent; font-weight: 700; background-image: url(/images/common/svg/mark_chevron_right.svg); background-repeat: no-repeat; background-position: 94% 50%; border: solid 2px $accent; border-radius: 5px; padding: 4px 30px 5px 10px; &:hover { opacity: 0.7; } > div { padding-left: 30px; background-image: url(/images/common/svg/mark_mail.svg); background-repeat: no-repeat; background-position: 0% 70%; } } } } } > nav { padding-bottom: 15px; > ul { margin: 0; width: 100%; display: table; border-collapse: collapse; position: relative; > li { list-style: none; display: table-cell; vertical-align: middle; border-style: none none none solid; border-width: 1px; border-color: #888; width: calc(92% / 6); &:hover { background-color: #333; } &:first-child { border-style: none; } &:first-child, &:last-child { width: 4%; &:hover { background-color: transparent; } } > a { display: block; text-decoration: none; text-align: center; font-size: 2.0rem; color: #fff; font-family: $sans; font-weight: 500; height: 40px; display: flex; flex-direction: column; align-items: center; justify-content: center; > div:nth-of-type(2) { border-bottom: solid 2px transparent; width: 3em; padding-bottom: 4px; &.on { border-color: $accent; } } } } } } &.close { opacity: 0.8; > header { > .inner { height: 60px; padding-bottom: 5px; background-position: 50% -120px; > .logo { > a { > img { width: 200px; } } } > .menu { > div { > a { > img { width: 80px; } } } } } } } } } @media screen and (max-width: 1189px) { #headerfix01wrapper { > nav { > ul { > li { width: auto; > a { font-size: 1.6rem; } } } } } } @media screen and (max-width: 999px) { #headerfix01wrapper { > header { > .inner { background-image: none; > .logo { > a { } } } } } } @media screen and (max-width: 699px) { #headerfix01wrapper { display: none; } } /////////////////////////////////////////////// // headerfix02wrapper /////////////////////////////////////////////// @media print { #headerfix02wrapper { display: none; } } @media screen and (min-width:700px) { #headerfix02wrapper { display: none; } } @media screen { #headerfix02wrapper { @include userSelectNone; position: fixed; width: 100%; background-color: #000; z-index: 1; transition: 0.3s; opacity: 1; > header { padding: 0 0 0 5%; display: flex; justify-content: space-between; align-items: center; height: 60px; > .logo { > a { > img { max-width: 230px; } } } > .toggle { width: 60px; height: 60px; background-color: $accent; text-align: center; > #toggleTopMenuButton { padding-top: 15px; cursor: pointer; transition: all 0.3s; > svg { > line { stroke-linecap: round; stroke-width: 12%; stroke: #fff; } } } } } > nav { text-align: center; overflow: hidden; transition: 0.3s; > ul { > li { list-style: none; > a { text-decoration: none; cursor: pointer; font-size: 1.6rem; line-height: 200%; color: #fff; font-family: $sans; font-weight: 500; width: 100%; border-top: solid 1px #555; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 7px 0; > div:nth-of-type(2) { border-bottom: solid 2px transparent; width: 3em; &.on { border-color: $accent; } } } &:last-child { > a { border-bottom: solid 1px #555; } } } } } &.close { opacity: 0.8; } } } /////////////////////////////////////////////// // headerfixmarginwrapper /////////////////////////////////////////////// @media print { #headerfixmarginwrapper { display: none; } } @media screen { #headerfixmarginwrapper { height: 185px; background-color: #000; } } @media screen and (max-width:699px) { #headerfixmarginwrapper { height: 60px; background-color: #000; } } /////////////////////////////////////////////// // footermenuwrapper /////////////////////////////////////////////// @media print,screen { #footermenuwrapper { padding: 50px 5% 50px 5%; background-color: #525557; > .inner { margin: 0 auto; max-width: 800px; display: flex; justify-content: space-between; > dl { width: 32%; &:last-child { border-right: dashed 1px #aaa; } > dt { border-left: dashed 1px #aaa; padding-left: 30px; > a { display: block; text-decoration: none; font-size: 1.5rem; color: #fff; font-weight: 500; padding: 8px 0; &:hover { opacity: 0.7; } } } } } } } @media screen and (max-width:699px) { #footermenuwrapper { > .inner { > dl { > dt { padding-left: 15px; } } } } } @media screen and (max-width:659px) { #footermenuwrapper { padding: 0; > .inner { flex-wrap: wrap; > dl { width: 100%; &:last-child { border-right: none; } > dt { border-bottom: solid 1px #888; border-left: none; padding: 5px 20px; > a { text-align: center; } } } } } } /////////////////////////////////////////////// // footercopyrightwrapper /////////////////////////////////////////////// @media print,screen { #footercopyrightwrapper { padding: 30px 10% 0 10%; background-color: #525557; > .inner { max-width: 1100px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; > div { font-size: 1.4rem; line-height: 140%; color: #fff; } > small { font-size: 1.4rem; line-height: 140%; color: #fff; } } } } @media screen and (max-width:899px) { #footercopyrightwrapper { > .inner { flex-direction: column; text-align: center; > div { font-size: 1.2rem; } > small { margin-top: 5px; font-size: 1.2rem; } } } } /////////////////////////////////////////////// // footergearwrapper /////////////////////////////////////////////// @media screen { #footergearwrapper { padding-left: 5px; background-color: #525557; > a { text-decoration: none; opacity: 0.5; cursor: pointer; &:hover { opacity: 1; } } } } //end of file