@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: #289c4c; $sub-color: #fabe00; //introduction------------------------------------------------------------------ここから #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; } @include xs { text-align: justify; } } dl { margin-top: 6rem; @include xs { margin-top: 3rem; } dt { font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-size: 20px; font-size: 2rem; letter-spacing: 0.1em; @include xs { font-size: 16px; font-size: 1.6rem; letter-spacing:0; } } dd { display: flex; align-items: center; justify-content: center; @include sm { display: block; text-align: center; } .phone-number { a { display: flex; flex-wrap: nowrap; font-family: "Barlow Condensed", sans-serif; font-size: 63px; font-size: 6.3rem; font-weight: 500; color: #000; line-height: 1; letter-spacing: 0.06em; @include md { font-size: 55px; font-size: 5.5rem; } @include sm { justify-content: center; } @include xs { font-size: 45px; font-size: 4.5rem; } i { font-size: 47px; font-size: 4.7rem; color: $main-color; margin: 1rem 0.25rem 0 0; @include md { font-size: 41px; font-size: 4.1rem; margin: 1rem 0 0 0; } @include xs { font-size: 34px; font-size: 3.4rem; margin-top: 0.7rem; } } } } .business-hours { font-size: 19px; font-size: 1.9rem; font-weight: 600; line-height: 1; @include sm { margin-top: 1rem; } @include xs { margin-top: 1rem; font-size: 18px; font-size: 1.8rem; } span { display: block; font-size: 14px; font-size: 1.4rem; margin-top: 0.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: #d9383a; border: 1px solid #d9383a; } dt.optional::before{ content: "任意"; color: #808080; background-color: #fff; border: 1px solid #808080; } 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 #efefef; border-radius : 3px; background : #efefef; -webkit-appearance : none; font-size : 18px; font-size : 1.8rem; margin-top : 5px; &:focus { border : 1px solid #efefef; 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; } input[type="button"]{ font-weight: 600; font-size: 20px; font-size: 2rem; letter-spacing: 0.06em; padding : 1.75rem 6rem; vertical-align : middle; line-height : 1; border: 1px solid $main-color; background : $main-color; color: #fff; -webkit-appearance : none; border-radius: 6px; 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; } p{ text-align: justify; } } //thanks-box--------------------------------------------------------------------ここから .thanks-box { padding-bottom: 10rem; h3 { font-size: 30px; font-size: 3rem; font-weight: 600; margin: 6rem 0; padding: 0; border: none; } 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; -webkit-appearance: none; transition: 0.3s; &:hover { color: $main-color; background-color: #fff; } } }