$xl: 1300px; $l: 1100px; // PC $sp: 769px; // スマホ @mixin xl { @media (max-width: ($xl)) { @content; } } @mixin l { @media (max-width: ($l)) { @content; } } @mixin sp { @media (max-width: ($sp)) { @content; } } /* ================================================ パーツ ================================================ */ .marker { background: linear-gradient(transparent 40%, #7ebed2 0%); } .orange { color: #e9a326; } .align_center { align-items: center; } .border-b { border-bottom: 2px solid #000; } /* button */ .btn_center { text-align: center; } .btn_right { text-align: right; } .btn-double>p { margin: 0 10px; } .btn-triple>p { margin: 0 10px; } @include sp { .btn-double>p { margin: 0 10px; width: 50%; } .btn-triple>p { margin: 0 3px; width: 33%; } .btn-double .btn, .btn-triple .btn { padding: 22px 5px; width: 100%; text-align: center; } } input[type="submit"] { background-color: #ffd721; color: #fff; } .btn { display: inline-block; background-color: #ffd721; font-size: 18px; font-weight: bold; text-shadow: 1px 0 0 #333, 0 1px 0 #333, -1px 0 0 #333, 0 -1px 0 #333, 1px 1px 5px #333; border-radius: 10px; cursor: pointer; padding: 20px 40px; line-height: 1.2; color: #fff; box-shadow: 2px 2px 5px #333, 0px 0px 8px 3px #fff3bd inset; border: 1px solid #333; } .management .btn { background-color: #999999; box-shadow: 2px 2px 5px #333, 0px 0px 8px 3px #ccc inset; } .btn:hover { opacity: .8; } /*banner*/ .banner { text-align: center; img { width: auto; max-width: 100%; } } /*news*/ .news { background-color: #7ebed2; padding: 15px 20px; width: 80%; margin: 0 auto; box-shadow: 8px 8px 0 #000; margin-bottom: 30px; @include l { width: 100%; } .news_inner { .ttl { font-size: 25px; color: #fff; font-weight: bold; text-align: center; } ul { margin-bottom: 5px; li { a { border-top: 2px solid #000; padding: 20px 0; display: flex; justify-content: space-between; font-size: 25px; @include sp { display: block; font-size: 20px; } .date { display: block; width: 30%; color: #fff; @include sp { width: 100%; margin-bottom: 5px; } } .title { display: block; width: 65%; @include sp { width: 100%; padding-left: 10px; } } } } li:last-child { a { border-bottom: 2px solid #000; } } } .news_btn { color: #fff; font-size: 25px; font-weight: bold; line-height: 1.4; } .news_btn::after { content: "→"; } } } /*---- アコーディオン---- */ .accordion { .accodion-title::before, .accodion-child::before { display: inline-block; content: "▼"; transform: rotate(-90deg); color: #7ebed2; } .accodion-title.active::before, .accodion-child.active::before { transform: rotate(0deg) } section { padding: 0; margin-bottom: 15px; } font-size: 16px; line-height: 1.5; ul { display: none; } h2 { cursor: pointer; } li { cursor: pointer; padding-left: 1.5em; padding-bottom: 5px; padding-top: 5px; } .last-category li::before { content: "・"; } } /* ================================================ ヘッダー ================================================ */ header { padding: 10px 0; .pc_menu { ul.flex { li { background-color: #7ebed2; color: #fff; font-weight: bold; margin-left: 10px; letter-spacing: -0.1em; text-align: center; a { display: block; padding: 40px 0; width: 130px; .ja { font-size: 15px; } .en { font-size: 26px; } } } } } .sp_menu { display: none; position: fixed; background-color: #7ebed2; color: #fff; width: 100%; height: 100%; top: 0px; font-weight: bold; z-index: 100; .sp_menu_inner { padding: 100px 50px; ul li { font-size: 18px; line-height: 1.5; letter-spacing: .1em; margin-bottom: 30px; padding-right: 40px; background-image: url("assets/img/common/btn_arrow-white.png"); background-repeat: no-repeat; background-size: auto; background-position: right center; } } } } .management header { .pc_menu { ul.flex { li { background-color: #374CA0; } } } } /* ================================================ フッター ================================================ */ footer { margin-top: 20px; background-color: #ffd930; color: #333; text-align: center; font-size: 14px; padding: 8px; } .management footer { background-color: #999; } /*============================= .btn-trigger =============================*/ .btn-trigger { position: relative; width: 35px; height: 30px; cursor: pointer; z-index: 1000; } .btn-trigger span { position: absolute; left: 0; width: 100%; height: 4px; background-color: #ffd721; border-radius: 4px; } .btn-trigger, .btn-trigger span { display: none; transition: all .5s; box-sizing: border-box; @include sp { display: inline-block; } } .btn-trigger span:nth-of-type(1) { top: 0; } .btn-trigger span:nth-of-type(2) { top: 13px; } .btn-trigger span:nth-of-type(3) { bottom: 0; } /*============================= #btn05 =============================*/ #btn05.active span:nth-of-type(1) { -webkit-transform: translateY(13px) rotate(-45deg); transform: translateY(13px) rotate(-45deg); } #btn05.active span:nth-of-type(2) { left: 50%; opacity: 0; -webkit-animation: active-btn05-bar02 .8s forwards; animation: active-btn05-bar02 .8s forwards; } @-webkit-keyframes active-btn05-bar02 { 100% { height: 0; } } @keyframes active-btn05-bar02 { 100% { height: 0; } } #btn05.active span:nth-of-type(3) { -webkit-transform: translateY(-13px) rotate(45deg); transform: translateY(-13px) rotate(45deg); } /* ================================================ フォーム ================================================ */ .Form { margin-top: 80px; margin-left: auto; margin-right: auto; max-width: 720px; } @media screen and (max-width: 480px) { .Form { margin-top: 40px; } } .Form-Item { border-top: 1px solid #ddd; padding-top: 24px; padding-bottom: 24px; width: 100%; display: flex; align-items: center; } @media screen and (max-width: 480px) { .Form-Item { padding-left: 14px; padding-right: 14px; padding-top: 16px; padding-bottom: 16px; flex-wrap: wrap; } } .Form-Item-Label { width: 100%; max-width: 248px; letter-spacing: 0.05em; font-weight: bold; font-size: 18px; } @media screen and (max-width: 480px) { .Form-Item-Label { max-width: inherit; display: flex; align-items: center; font-size: 15px; } } .Form-Item-Label.isMsg { margin-top: 8px; margin-bottom: auto; } @media screen and (max-width: 480px) { .Form-Item-Label.isMsg { margin-top: 0; } } .Form-Item-Label-Required { border-radius: 6px; margin-right: 8px; padding-top: 8px; padding-bottom: 8px; width: 48px; display: inline-block; text-align: center; background: #5bc8ac; color: #fff; font-size: 14px; } @media screen and (max-width: 480px) { .Form-Item-Label-Required { border-radius: 4px; padding-top: 4px; padding-bottom: 4px; width: 32px; font-size: 10px; } } .Form-Item-Input, .Form-Item-Select { border: 1px solid #ddd; border-radius: 6px; margin-left: 0px; padding-left: 1em; padding-right: 1em; height: 48px; flex: 1; width: 100%; max-width: 410px; background: #eaedf2; font-size: 18px; } @media screen and (max-width: 480px) { .Form-Item-Input, .Form-Item-Select { margin-left: 0; margin-top: 18px; height: 40px; flex: inherit; font-size: 15px; } } .Form-Item-Textarea { border: 1px solid #ddd; border-radius: 6px; margin-left: 40px; padding-left: 1em; padding-right: 1em; height: 216px; flex: 1; width: 100%; max-width: 410px; background: #eaedf2; font-size: 18px; } .error { margin-left: 0px; } @media screen and (max-width: 480px) { .Form-Item-Textarea { margin-top: 18px; margin-left: 0; height: 200px; flex: inherit; font-size: 15px; } .error { margin-left: 0px; } } .Form-Item-Radio { margin-left: 0px; } @media screen and (max-width: 480px) { .Form-Item-Radio { margin-left: 0; margin-top: 18px; } } .Form-Item-Radio label { font-size: 18px; position: relative; cursor: pointer; padding-left: 30px; display: inline-block; } .Form-Item-Radio label::before, .Form-Item-Radio label::after { content: ""; display: block; border-radius: 50%; position: absolute; transform: translateY(-50%); top: 50%; } .Form-Item-Radio label::before { background-color: #fff; border: 1px solid #ddd; border-radius: 50%; width: 20px; height: 20px; left: 5px; } .Form-Item-Radio label::after { background-color: #000; border-radius: 50%; opacity: 0; width: 16px; height: 16px; left: 7px } .Form-Item-Radio input:checked+label::after { opacity: 1; } .visually-hidden { position: absolute; white-space: nowrap; border: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; height: 1px; width: 1px; margin: -1px; padding: 0; } .privacy-policy { font-size: 15px; margin: 50px auto; height: 300px; overflow-y: scroll; padding: 25px; border: 1px solid black; background-color: #eaedf2; line-height: 1.5; &__item { p { margin-bottom: 25px; } } } /* チェックボックス01 */ input[type=checkbox] { display: none; } .checkbox01 { font-size: 16px; box-sizing: border-box; cursor: pointer; display: inline-block; padding: 5px 30px; position: relative; width: auto; } .checkbox01::before { background: #fff; border: 1px solid #231815; content: ''; display: block; height: 16px; left: 5px; margin-top: -8px; position: absolute; top: 50%; width: 16px; } .checkbox01::after { border-right: 2px solid #7ebed2; border-bottom: 3px solid #7ebed2; content: ''; display: block; height: 18px; left: 10px; margin-top: -12px; opacity: 0; position: absolute; top: 50%; transform: rotate(45deg); width: 10px; } input[type=checkbox]:checked+.checkbox01::after { opacity: 1; } /* ================================================ サイドバー ================================================ */ .main_content { width: calc(100% - 350px); @include l { width: 70%; } @include sp { width: 100%; margin-bottom: 50px; } } .sidebar>div { margin-bottom: 1em; } .sidebar { width: 310px; padding: 5px; box-shadow: 10px 10px #000; background-color: #7ebed2; color: #fff; @include l { width: 28%; } @include sp { display: none; } .sidebar_menu { padding: 10px; h2 { font-size: 26px; letter-spacing: -0.1em; line-height: 1.4; font-weight: bold; margin-bottom: 10px; } ul { padding-left: 10px; li { a { display: inline-block; margin-bottom: 5px; border-bottom: 1px solid #fff; font-size: 20px; line-height: 1.1; font-weight: bold; } a::before { content: "・"; } } } } .new_resisty_btn { display: block; padding: 50px 15px; background-color: #ffd721; border: 1px solid #000; box-shadow: 2px 2px 5px #000; border-radius: 10px; p { font-weight: bold; font-size: 40px; padding-left: 40px; background-image: url("assets/img/common/icon01.png"); background-size: auto; background-position: left center; background-repeat: no-repeat; width: 200px; width: fit-content; margin: 0 auto; text-shadow: 1px 0 0 #333, 0 1px 0 #333, -1px 0 0 #333, 0 -1px 0 #333, 3px 3px 3px #333; @include l { font-size: 30px; } } } .login { display: block; padding: 20px 15px 30px; background-color: #ffd721; border: 1px solid #333; box-shadow: 2px 2px 5px #333; border-radius: 10px; p { text-shadow: 1px 0 0 #333, 0 1px 0 #333, -1px 0 0 #333, 0 -1px 0 #333, 2px 2px 3px #333; font-size: 16px; font-weight: bold; } .login_btn { display: block; width: 70%; margin: 0 auto; padding: 10px; background-color: #ffd721; border: 1px solid #333; box-shadow: 2px 2px 5px #333; border-radius: 10px; text-align: center; font-size: 16px; font-weight: bold; img { width: auto; vertical-align: text-bottom; } } input { width: 100%; padding: 5px; } } } .management .sidebar { background-color: #374CA0; .login, .login_btn { background-color: #999; } } /* ================================================ ページ独自のcss ================================================ */ /*------------------------- top --------------------------*/ .top { .main_visual { .wrap_inner { position: relative; padding-bottom: 300px; background-image: url("assets/img/top/img01.png"); background-repeat: no-repeat; background-size: auto; background-position: right bottom; @include l { background-size: 60%; } @include sp { background-image: none; padding-bottom: 0; } } .txt { width: 545px; @include sp { width: 100%; } } .txt1 { text-align: center; font-weight: bold; font-size: 30px; line-height: 1.4; margin-bottom: 20px; @include sp { font-size: 18px; margin-bottom: 10px; } } .txt1::before { content: "\"; } .txt1::after { content: "/"; } .box { background-color: #ffd720; box-shadow: 8px 8px 0px #000; border-radius: 30px 0 30px 0; border: 2px solid #000; padding: 40px; margin-bottom: 50px; @include sp { padding: 30px; margin-bottom: 20px; } .txt2 { font-size: 60px; line-height: 1.8; font-weight: bold; text-shadow: 1px 0 0 #fff, 0 1px 0 #fff, -1px 0 0 #fff, 0 -1px 0 #fff; @include sp { font-size: 35px; } } } .txt3 { padding-left: 20px; @include sp { padding-left: 0px; } li { font-size: 23px; font-weight: bold; line-height: 1.5; margin-bottom: 8px; @include sp { font-size: 18px; } } } } .sec1 { p { text-align: center; img { width: auto; margin-bottom: 10px; @include l { width: 100%; } @include sp { width: 100%; } } } .txt1 { font-size: 25px; line-height: 1.4; font-weight: bold; @include sp { font-size: 20px; } .big { font-size: 1.2em; } } } .sec2 { h2 { width: 90%; margin: 0 auto; text-align: center; font-size: 35px; font-weight: bold; line-height: 1.6; padding: 20px 0; border-top: 2px solid #000; border-bottom: 2px solid #000; @include sp { width: 100%; font-size: 20px; text-align: left; } .marker { font-size: 1.1em; } } .btn { display: inline-block; padding: 30px 60px; background-color: #ffd721; border: 1px solid #000; box-shadow: 2px 2px 5px #333, 0px 0px 8px 3px #fff3bd inset; border-radius: 10px; p { font-weight: bold; font-size: 35px; padding-left: 40px; background-image: url(assets/img/common/icon01.png); background-size: auto; background-position: left center; background-repeat: no-repeat; width: 200px; width: fit-content; margin: 0 auto; text-shadow: 1px 0 0 #333, 0 1px 0 #333, -1px 0 0 #333, 0 -1px 0 #333, 3px 3px 3px #333; } } } } /*------------------------- login --------------------------*/ .login { .Form-Item { border-top: none; } .txt_border { text-decoration: underline; } } /*------------------------- mypage-change --------------------------*/ .mypage-change { .ml40 { margin-left: 40px; } } @media screen and (max-width: 480px) { .mypage-change { .ml40 { margin-left: 0; margin-top: 18px; } } } /*------------------------- u_unregister --------------------------*/ .u_unregister { .Form-Item { border-bottom: 1px solid #ddd; } .Form-Item-textbox { border: 1px solid #ddd; border-radius: 6px; padding: 1em; width: 100%; background: #eaedf2; font-size: 18px; } } /*------------------------- u_unregister --------------------------*/ .u_unregister { .category p { position: relative; padding-right: 30px; } .category p::after { position: absolute; top: 0; right: 10px; content: "-"; } .category p:last-child:after { content: none; } .content_area { p { margin-bottom: 1em; img { width: auto; max-width: 100%; } } } } /*------------------------- u_question --------------------------*/ .u_question { .class { position: absolute; right: 0; top: 50%; transform: translateY(-50%); span { font-size: 14px; padding: 0px 10px; } .Easy { background-color: #8fc31f; } .Normal { background-color: #00a0e9; } .Hard { background-color: #e5004f; } } .Form-Item-Radio { margin-left: 0px; } .answer { p { margin-bottom: 0; } .correct { color: #8fc31f; } .incorrect { color: #e5004f; } } } /* ================================================ management ================================================ */ .management { .login { .cannot_login { color: #000; display: inline-block; } } } /*top*/ .management.overview { .gaiyou { border: 2px solid #333; padding: 30px; } } /*u_management*/ .management.u_management { .border-r { position: relative; z-index: 1; span { background-color: #fff; padding-right: 20px; } } .border-r::before { z-index: -1; content: ""; position: absolute; width: 100%; height: 1px; background-color: #000; top: 50%; left: 0; transform: translateY(-50%); } .search-table { width: 100%; font-size: 18px; th { font-weight: bold; padding: 10px 5px; } td { padding: 5px; } } } .q-making { .select-table { width: 100%; tr { th { font-size: 18px; font-weight: bold; } td { vertical-align: middle; padding: 10px; padding-top: 30px; font-size: 16px; } } } } .q-register { .select_box { padding: 20px; background-color: #ccc; border: 1px solid #000; .item { border: 1px solid #000; background-color: #fff; padding: 10px; width: 70%; @include sp { width: 60%; } } .btn { padding: 5px 10px; @include sp { font-size: 15px; } } } } /* ================================================ p-mondai ================================================ */ .Form { margin-top: 0px; .Form-Item { padding-top: 16px; padding-bottom: 16px; .Form-Item-Input, .Form-Item-Select { height: 30px; font-size: 15px; } } }