@charset "UTF-8"; /* CSS Document */ //ブレイクポイントを指定------ここから $xl: 1399px; $lg: 1199px; $md: 991px; $sm: 767px; $xs: 575px; @mixin xl { @media screen and (max-width: ($xl)) { @content; } } @mixin lg { @media screen and (max-width: ($lg)) { @content; } } @mixin md { @media screen and (max-width: ($md)) { @content; } } @mixin sm { @media screen and (max-width: ($sm)) { @content; } } @mixin xs { @media screen and (max-width: ($xs)) { @content; } } //ブレイクポイントを指定------ここまで //カラー指定 $main-color: #296ece; $skyblue: #62c9ff; $main-bg: #effaff; #heroimg { position: relative; background-image: linear-gradient(90deg, rgba(98, 201, 255, 0.15), rgba(50, 119, 227, 0.15)); &::before { background-color: #fff; content: ""; margin: 0 auto; position: absolute; left: 0; right: 0; top: 0%; height: 63%; width: 100%; } .visual { position: relative; z-index: 20; height: calc(73vh); border-radius: 100px 0 100px 0; border: 5px solid #c9e3fb; margin: 0 auto; overflow: hidden; width: calc(100% - 75px); @include lg { height: calc(63vh); } @include md { // height: calc(51vh); height: calc(47vh); } @include sm { height: calc(63vh); width: calc(100% - 50px); } @include xs { height: calc(55vh); width: calc(100% - 35px); border-radius: 50px 0 50px 0; } h1 { height: 100%; img{ height: 100%; width: 100%; object-fit: cover; } } .catchcopy { position: absolute; top: 9rem; left: 6.5rem; @include md { top: 6rem; left: 4.5rem; } @include sm { top: 9rem; } @include xs { top: 6rem; left: 2rem; } p { span { background-color: #ffffff; font-size: 25px; font-size: 2.5rem; font-weight: 600; color: #00b7d9; display: math; padding: 0.2rem 0.7rem 0.5rem 1.5rem; line-height: 2.3; letter-spacing: 0.3rem; @include md { font-size: 23px; font-size: 2.3rem; } @include sm { font-size: 26px; font-size: 2.6rem; } @include xs { letter-spacing: 0.2rem; font-size: 1.7rem; } } } } } } #intro { background-image: linear-gradient(90deg, rgba(98, 201, 255, 0.15), rgba(50, 119, 227, 0.15)); padding: 8rem 0 0 0; position: relative; margin-bottom: 7.5rem; @include md { padding: 6rem 0 0 0; } @include xs { padding: 4rem 0 0 0; } &::before { position: absolute; content: ""; background-image: url("../img/logomark-white.svg"); background-repeat: no-repeat; height: 305px; width: 357px; left: 5rem; top: -3.5rem; @include sm { width: 300px; opacity: 0.5; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); } @include xs { width: 240px; top: 57%; } } p { font-size: 18px; font-size: 1.8rem; text-align: center; position: relative; line-height: 2; margin-bottom: 8.8rem; @include xs { font-size: 16px; font-size: 1.6rem; width: 90%; text-align: justify; margin: 0 auto 6rem auto; line-height: 1.7; } } } #information { position: relative; margin-bottom: 12.3rem; @include lg { margin-bottom: 11.3rem; } @include sm { margin-bottom: 8rem; } .first { margin-bottom: 7rem; @include sm { margin-bottom: 5rem; } h3 { font-size: 24px; font-size: 2.4rem; color: $main-color; display: flex; align-items: center; display: flex; align-items: center; // 上下中央揃え font-size: 20px; margin-bottom: 2.2rem; &::after { content: ""; flex: 1; // 横いっぱいに伸びる height: 1px; background: #afafaf; margin-left: 0.8em; // テキストと線の間隔 } img { height: 36px; width: 36px; display: block; margin-right: 0.5em; } } ul { margin-left: 0.9rem; li { text-indent: -1.7em; padding-left: 1.7em; line-height: 1.5; margin-bottom: 0.8rem; &::before { font-family: "Font Awesome 5 Free"; font-weight: 500; content: '\f058'; color: $main-color; margin-right: 0.6em; } } } } .examination-bg { position: relative; background-image: url("../img/top-info-bg.jpg"); background-position: center; background-size: cover; background-repeat: no-repeat; &::before { position: absolute; content: ""; background-color: #fff; height: 70px; width: 100%; } .examination { // z-indexのためのrelative position: relative; ul { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; @include sm { grid-template-columns: 1fr; gap: 2rem; } li { background-color: #ffffff; height: 260px; padding: 4rem 4.8rem 0 4.8rem; @include xl { padding: 4rem 4rem 0 4rem; } @include lg { height: 287px; padding: 4rem 3rem 0 3rem; } @include md { height: 272px; } @include sm { height: auto; padding: 3rem; } .midashi { border-bottom: 1px solid #d7d7d7; padding-bottom: 1.2rem; margin-bottom: 1.5rem; display: flex; align-items: center; img { height: 40px; width: 41px; padding-bottom: 0.7rem; display: inline; margin-right: 0.8em; } h3 { font-size: 24px; font-size: 2.4rem; color: $main-color; display: inline-block; span { font-size: 18px; font-size: 1.8rem; @include xl { font-size: 1.5rem; } @include xs { letter-spacing: -0.1rem; } } span.en { font-size: 14px; font-size: 1.4rem; color: #afafaf; margin-left: 1em; @include xs { letter-spacing: revert; } } } } .li-4 { h3 { @include lg { line-height: 0.8; } span.en { @include lg { margin-left: 0; } } } } p { @include xs { margin-bottom: 0; } } } } a.link_btn { margin-top: 6rem; margin-bottom: 11rem; @include sm { margin-top: 4rem; margin-bottom: 8rem; } @include xs{ margin-top: 2rem; } } } } } #news { padding-bottom: 9.3rem; @include lg { padding-bottom: 6rem; } .news-flex { display: flex; justify-content: space-between; @include sm { flex-direction: column; align-items: center; } h2 { width: 30%; margin-bottom: 0; @include sm { margin-bottom: 5rem; } @include xs { width: 100%; margin-bottom: 3.5rem; } } ul#news-list { width: 70%; margin-bottom: 0; @include sm { width: 100%; } li { margin-bottom: 1.8rem; dl { a { background-color: #ffffff; border: 5px solid #ffffff; padding: 1.15em 2em 1.15em 2em; display: flex; box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.1); border-radius: 10px; transition: 0.5s; @include md { padding: 0.8em 2em; } @include xs { padding: 0.5em 2em; } dt { color: $main-color; font-weight: 600; width: 6.5em; flex-shrink: 0; // ←幅を固定して縮ませない } dd { color: #505050; display: inline-block; transition: 0.3s ease; line-height: 1.5; } &:hover { border: 5px solid #effaff; dd { color: $main-color; } } } } &:last-child { margin-bottom: 0; } } } } .btn_center { display: flex; justify-content: flex-end; margin-top: 3.2rem; @include xs { margin-top: 2.5rem; } a.link_btn { color: $main-color; font-size: 15px; font-size: 1.5rem; width: 187px; height: 42px; i { font-size: 0.65rem; } &:hover { color: #fff; } } } } #schedule { background-color: $main-bg; padding-bottom: 13rem; margin-bottom: 12rem; @include md { padding-bottom: 10rem; margin-bottom: 9rem; } @include sm { padding-bottom: 8rem; margin-bottom: 8rem; } @include xs { padding-bottom: 6rem; } h2 { padding-top: 12.7rem; margin-bottom: 7.3rem; @include md { margin-bottom: 5.5rem; padding-top: 10.7rem; } @include xs { margin-bottom: 4rem; padding-top: 7.7rem; } } .schedule { width: 70%; margin: auto; text-align: center; @include sm { width: 100%; } .table-bg { background-color: #ffffff; border-radius: 10px; padding: 2rem 4rem; height: auto; display: flex; align-items: center; margin-bottom: 2rem; @include xs { padding: 1rem 1rem; } table { width: 100%; text-align: center; font-weight: 600; font-size: 19px; font-size: 1.9rem; @include xs { font-size: 15px; font-size: 1.5rem; } tr { th { color: $main-color; padding: 1.5rem 0; } td { color: $skyblue; border-top: 1px solid #afafaf; padding: 1.5rem 0; &:first-child { color: #505050; width: 30%; } } td.gray { color: #505050; font-weight: 400; } } } } p { font-weight: 600; font-size: 18px; font-size: 1.8rem; span { color: $main-color; } i { color: $skyblue; } } } a { display: inline-block; color: $main-color; font-size: 27px; font-size: 2.7rem; font-weight: 600; line-height: 0; margin-top: 3rem; @include sm { display: inline-block; margin-top: 2rem; } span { font-size: 35px; font-size: 3.5rem; padding-left: 0.8rem; } } .g-map { margin-top: 6rem; margin-bottom: 0; @include sm { margin-top: 4rem; } @include xs { } p { font-weight: 500; font-size: 17px; font-size: 1.7rem; @include xs { font-size: 16px; font-size: 1.6rem; } } iframe { width: 100%; height: 294px; @include md { height: 210px; } @include xs { height: 160px; } } } .month-schedule { background-color: #ffffff; padding: 5rem 0; margin-top: 3rem; @include sm { margin-top: 2rem; padding: 4rem 2rem; } .month-schedule-box { width: 90%; margin: auto; @include lg { width: 95%; } h3 { font-size: 23px; font-size: 2.3rem; color: $main-color; margin-bottom: 4rem; text-align: center; @include md { margin-bottom: 2rem; } @include xs { line-height: 1; } i { margin-right: 0.5em; } span { font-size: 14px; font-size: 1.4rem; color: #afafaf; margin-left: 1rem; } } .calendart { @include lg { padding-right: 1rem; padding-left: 1rem; } @include xs { padding: 0; } table { margin: 1rem; margin: auto; @include md { margin-bottom: 3rem; } .cellTableHead { font-size: 18px; font-size: 1.8rem; padding-bottom: 0.7rem; } th,td { border: solid 1px #d7d7d7; } td{ line-height: 20px; } tr:first-of-type th{ border: none; @include md { text-align: center; } } tbody tr:nth-child(2){ background-color: #f7f7f7; text-align: center; } tr:nth-child(n+3) td{ text-align: left; vertical-align: top; width: 74px; height: 62px; font-weight: 600; font-size: 16px; font-size: 1.6rem; padding: 0.3rem 0.4rem; @include md { height: 57px; } @include xs { height: 55px; } } .cellSunday,.cellHoliday { color: #ea6775; } .cellSaturday{ color: $main-color; } .cellevent { display: block; font-size: 10px; text-align: center; background-color: #C9E2F1; font-weight: bold; color: #000000; padding: 2px 5px; margin: 0px 3px 3px; } .yasumi{ display: block; font-size: 12px; font-size: 1.2rem; text-align: center; background-color: #afafaf; font-weight: bold; color: #FFF; padding: 2px 5px; margin: 0px 3px; border-radius: 2em; margin-top: 0.3rem; letter-spacing: 0!important; @include lg { font-size: 11px; font-size: 1.1rem; } @include xs { margin: 0 2px 0 0; padding: 2px 3px; font-size: 10px; font-size: 1rem; } } span.reason { font-size: 10px; font-size: 1rem; text-align: center; letter-spacing: 0; display: block; line-height: 1.2; margin-bottom: 5px; color: #505050; margin-top: 0.3em; @include lg { font-size: 9px; font-size: 0.9rem; } @include md { font-size: 11px; font-size: 1.1rem; } } } } .calendart:last-of-type table { margin-bottom: 0; } } } } #aboutus { position: relative; padding-bottom: 11rem; @include xs { padding-bottom: 8rem; } &::before { background-color: $main-bg; content: ""; margin: 0 auto; position: absolute; left: 0; right: 0; bottom: 0; height: 55%; width: 100%; @include sm { height: 77%; } } .aboutus-box { // z-index用のrelative position: relative; z-index: 3; .aboutus-flex { ul { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-bottom: 6.4rem; @include md { margin-bottom: 4rem; } @include sm { margin-bottom: 1rem; display: inline-block; } li { @include sm { margin-bottom: 3rem; } @include xs { margin-bottom: 2rem; } a { display: inline-block; overflow: hidden; .aboutus-img { cursor: pointer; overflow: hidden; width: 100%; @include sm { height: 215px; height: auto; } img { height: auto; transition: transform .6s ease;/* ゆっくり変化させる */ width: 100%; } &:hover img { transform: scale(1.1);/* 拡大 */ } } .link_head { background-color: #ffffff; color: $main-color; font-size: 24px; font-size: 2.4rem; height: 95px; display: flex; align-items: center; justify-content: space-between; font-weight: 600; padding-left: 2em; padding-right: 1em; transition: .6s; @include md { font-size: 22px; font-size: 2.2rem; height: 62px; padding-top: 0.5rem; } @include sm { height: 75px; } @include xs { height: 62px; font-size: 20px; font-size: 2rem; } span { color: #afafaf; font-size:14px; font-size: 1.4rem; margin-left: 1em; } i { font-size: 0.75rem; } } &:hover { .aboutus-img { img { transform: scale(1.1);/* 拡大 */ } } .link_head { background-color: $main-color; color: #fff; } } } } } } } } #recruit { margin-bottom: 13rem; @include sm { margin-bottom: 10rem; } .recruit-flex { display: flex; width: 100%; overflow: hidden; align-items: stretch; /* ←高さをそろえる */ @include sm { flex-direction: column; } .recruit-img-box { width: 50%; overflow: hidden; @include sm { width: 100%; } .recruit-img { width: 100%; height: 100%; img { width: 100%; height: 100%; object-fit: cover; // ★縦横比を保ちつつトリミング display: block; } } } .recruit-bg { width: 50%; background-image: linear-gradient(90deg, rgba(98, 201, 255, 0.5), rgba(50, 119, 227, 0.5)); display: flex; align-items: center; justify-content: center; padding: 4rem; @include md { padding: 3rem; } @include sm { width: 100%; margin: auto; margin-top: -15rem; padding: 1.3rem; } @include xs { margin-top: -11rem; } .bg-white { background-color: #fff; text-align: center; height: 100%; width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 3rem 1rem 4rem 1rem; @include xs { padding: 2rem 1rem 3rem 1rem; } h2 { position: relative; text-align: center; display: inline-block; margin-bottom: 2.5rem; @include lg { margin-bottom: 1.5rem; } span.en { font-size: 15px; font-size: 1.5rem; color: $main-color; } span.ja { font-size: 28px; font-size: 2.8rem; line-height: 1.9; } } p { margin-bottom: 3.5rem; @include lg { margin-bottom: 3rem; } } } .btn_center { a { @include lg { font-size: 16px; font-size: 1.6rem; width: 265px; height: 50px; } @include md { width: 220px; } } } } } } //introduction------------------------------------------------------------------ここから #contact { #introduction { margin-top: 4rem; margin-bottom: 2rem; text-align: center; @include sm { margin-top: 2rem; } @include xs { margin-bottom: 0rem; } p{ span{ background-color: $main-color; padding: 0.2rem 1rem 0.4rem; color: #fff; font-weight: bold; border-radius: 0.5rem; font-size: 1.4rem; margin-right: 0.5rem; } @include xs { text-align: justify; } span.aka { color: #e72d26; font-weight:600; background-color: #fff; padding: 0; font-size: 16px; font-size: 1.6rem; } } dl { margin-top: 6rem; @include xs { margin-top: 3rem; } dt{ font-size: 20px; font-size: 2rem; letter-spacing: 2px; @include xs { font-size: 16px; font-size: 1.6rem; letter-spacing:0; } } dd{ background-color: $main-color; margin-top: 1rem; padding: 2rem; display: flex; align-items: center; justify-content: center; border-radius: 1rem; @include xs { display: block; } a{ font-weight: 600; color: $main-color; span{ font-size: 38px; font-size: 3.8rem; svg{ margin-right: 1.5rem; } } } } } } //mail_form------------------------------------------------------------------ここから form#mail_form { padding-top: 2rem; dl { dt { margin-top: 0; padding-top: 0; font-weight: 600; &:first-child{ border-top: none; } &::before { display : inline-block; font-size: 90%; font-weight: normal; line-height : 1; margin-right: 1rem; padding: 0.4rem 0.5rem; border-radius: 3px; } } dt.required::before{ content: "必須"; color : #fff; background-color: $main-color; border: 1px solid $main-color; } dt.optional::before{ content: "任意"; color: $main-color; background-color: #fff; border: 1px solid $main-color; } dd { margin-bottom: 4rem; &:nth-child(2) { margin-top: 0.5rem; margin-bottom: 3rem; } span.error_blank, span.error_format, span.error_match{ display : block; color : #ff0000; margin-top : 3px; } } } input[type="text"], input[type="email"], input[type="tel"], textarea { width : 100%; padding : 0.5rem 1rem; border : 1px solid #b2b2b2; border-radius : 3px; background : #efefef; -webkit-appearance : none; font-size : 18px; font-size : 1.8rem; margin-top : 5px; &:focus { border : 1px solid #b2b2b2; background-color: #efefef; outline: none; } } input[type="radio"], input[type="checkbox"]{ margin-right : 5px; margin-left: 0; accent-color: $main-color; } label { margin-right: 2em; } select{ font-size : 100%; margin-top : 5px; } input#postal { width: 30%; &+a { display : inline-block; padding : 5px 15px; margin-left: 0.5rem; background : #FDEFF5; border : 1px solid #C7000B; border-radius : 3px; color : #C7000B; font-family : inherit; text-decoration : none; transition: 0.3s; &:hover { cursor : pointer; background : #C7000B; color: #fff; } } } p#form_submit{ width : 90%; margin : 0 auto; padding: 5rem 0 10rem 0; @include sm { padding-bottom: 8rem; } @include xs { padding: 3rem 0 6rem 0; } } input[type="button"]{ font-weight: 600; font-size: 20px; font-size: 2rem; letter-spacing: 0.06em; padding : 1.4rem 6rem; vertical-align : middle; line-height : 1; border: 1px solid $main-color; background : $main-color; color: #fff; -webkit-appearance : none; border-radius: 2em; transition: 0.3s; @include xs { letter-spacing: 0; padding : 1.4rem 3.5rem; } &:hover { cursor : pointer; background : #fff; color: $main-color; } } // オートコンプリートの背景色 input:-webkit-autofill { box-shadow: 0 0 0 1000px #efefef inset; } span.loading{ width : 50px; height : 50px; border-radius : 50%; border-top : 5px solid rgba( 255, 255, 255, 0.2 ); border-right : 5px solid rgba( 255, 255, 255, 0.2 ); border-bottom : 5px solid rgba( 255, 255, 255, 0.2 ); border-left : 5px solid #ffffff; -webkit-transform : translateZ( 0 ); -ms-transform : translateZ( 0 ); transform : translateZ( 0 ); -webkit-animation : load-circle 1.0s linear infinite; animation : load-circle 1.0s linear infinite; position : absolute; top : 50%; left : 50%; margin-top : -25px; margin-left : -25px; } @-webkit-keyframes load-circle{ 0%{ -webkit-transform : rotate( 0deg ); transform : rotate( 0deg ); } 100%{ -webkit-transform : rotate( 360deg ); transform : rotate( 360deg ); } } @keyframes load-circle{ 0%{ -webkit-transform : rotate( 0deg ); transform : rotate( 0deg ); } 100%{ -webkit-transform : rotate( 360deg ); transform : rotate( 360deg ); } } } //privacy-policy------------------------------------------------------------ここから .privacy-policy{ border: 1px solid #c3c3c3; padding: 2.5rem; margin-top: 2rem; background-color: #fff; h4 { font-size: 20px; font-size: 2rem; font-weight: 600; margin-bottom: 2rem; @include xs { font-size: 18px; font-size: 1.8rem; font-weight: 600; margin-bottom: 1rem; } } p { text-align: justify; @include xs { font-size: 15px; font-size: 1.5rem; } } } } //thanks-box--------------------------------------------------------------------ここから .thanks-box { padding-bottom: 10rem; @include md { margin-top: 10rem; } h3 { font-size: 2.5rem; font-size: 25px; margin-bottom: 4rem; padding: 0; border: none; margin-top: 4rem; } p { margin-bottom: 5rem; } a { display: inline-block; font-weight: bold; padding: 1.4rem 6rem; vertical-align: middle; line-height: 1; border: 1px solid $main-color; background: $main-color; color: #fff; border-radius: 2em; -webkit-appearance: none; transition: 0.3s; &:hover { color: $main-color; background-color: #fff; } } }