/* 全体のボックスモデルをリセット */
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 {
margin: 0;
padding: 0;
border: 0;
font-size: 1rem;
font-weight: normal;
vertical-align: baseline;
text-align: center;
}

/* リンクのデフォルトスタイルをリセット */
a {
text-decoration: none;
}

/* 見出しのフォントサイズをリセット */
h1, h2, h3, h4, h5, h6 {
font-size: 1rem;
font-weight: normal;
}

/* インライン要素のデフォルトフォントサイズをリセット */
input, select, textarea {
font-size: 1rem;
margin: 0;
}

/* ページ全体に対する余白をリセット */
body {
line-height: 1;
background: #FFFAF5;
}

/* クリアフィックスを適用 */
.clearfix::before,
.clearfix::after {
content: "";
display: table;
}

.clearfix::after {
clear: both;
}

/* いろいろ */

body{
    margin: 0 auto;
    padding: 0;
    text-align: center;
    width: 700px;
    font-family: 'Noto Sans Japanese', sans-serif;
    background-color: #FFFAF5;
}

section{
    width: 100%;
    margin: 0 auto;
    background-color: #fff;
}

header{
    width: 100%;
    margin: 0 auto;
    background: #fff;
    margin-bottom: 35px;
}

p{
    font-size: 1rem;
    line-height: 2rem;
}

/* header */
.comedical-header{
    text-align: center;
}

.comedical-header img{
    width: 100%;
}

h2{
    font-size: 28px;
    font-weight: 600;
    margin: 20px 0;
}

h3{
    font-size: 1.1rem;
    font-weight: 500;
    text-align: center;
}

/* 動く矢印 */
.arrow {
    padding-top: 35px;
    position: relative;
    text-align: center;
}

.style01::before,.style02::before,.style03::before {
    border-bottom: 1px solid #A4C0E6;
    border-left: 1px solid #A4C0E6;
    content: "";
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px;
    opacity: 0;
}

.style01::before {
    animation: scroll01 2s infinite;
}

@keyframes scroll01 {
    0% {
        opacity: 0;
        transform: rotate(-45deg);
    }
    40% {
        opacity: 1;
        transform: rotate(-45deg);
    }
    80%{
        opacity: 0;
        transform: rotate(-45deg);
    }
    100% {
        opacity: 0;
        transform: rotate(-45deg);
    }
}

.style02::before {
    animation: scroll02 2s infinite;
    animation-delay: 0.5s;
}

@keyframes scroll02 {
    0% {
        opacity: 0;
        transform: rotate(-45deg);
    }
    40% {
        opacity: 1;
        transform: rotate(-45deg);
    }
    80%{
        opacity: 0;
        transform: rotate(-45deg);
    }
    100% {
        opacity: 0;
        transform: rotate(-45deg);
    }
}

.style03::before {
    animation: scroll03 2s infinite;
    animation-delay: 0.8s;
}

@keyframes scroll03 {
    0% {
        opacity: 0;
        transform: rotate(-45deg);
    }
    40% {
        opacity: 1;
        transform: rotate(-45deg);
    }
    80%{
        opacity: 0;
        transform: rotate(-45deg);
    }
    100% {
        opacity: 0;
        transform: rotate(-45deg);
    }
}

/* question */

h3{
    font-size: 1.1rem;
    font-weight: 500;
    text-align: center;
}

.q-box{
    border: solid 1px #000;
    border-radius: 25px;
    background-color: #fff;
    padding: 0 2rem;
    font-weight: 600;
}

.question-corner{
    width: 100%;
    overflow: hidden;
}

.question{
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.question img{
    width:35%;
} 

.q-content{
    font-size: 1rem;
    font-weight: 600;
    margin: 0 auto;
    text-align: left;
    margin-bottom: 20px;
}

.q-content2 {
    font-size: 21.1rem;
    font-weight: 600;
    margin: 0 auto;
    text-align: center;
    width: 80%;
    margin-bottom: 20px;
    margin-top: 20px;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.checkstyle1,.checkstyle2{
    inline-size: 1rem;
    block-size: 1rem;
    margin: 1rem;
    border: solid 1px;
}

input[type="checkbox"]:checked {
    background-color: #D6EDF2;
}

.checkbtn{
    padding:0px;
    font-size: 1rem;
    text-align: left;
    font-weight: 600;
}

@keyframes fadein{
    from{
    opacity: 0;
    transform: translatey(-10px);
    }
    to{
    opacity: 1;
    transform: translatey(0);
    }
}

.question p{
    font-size: 20px;
    margin-bottom: 20px;
    line-height: 2rem;
}

.note{
    font-size: 12px;
    color: #7E7E7E;
    margin-left: 55px;
}

.note1{
    font-size: 12px;
    color: #7E7E7E;
    text-align: right;
}

.radiostyle{
    display: none;
}

.radiobtn {
    background-color: #D6EDF2;
    width: 100%;
    height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    margin: 10px;
    font-size: 1rem;
    font-weight: 500;
}

.radiostyle:checked + label{
    background-color: #A5B8BC;
}

/* 記事ページ */
.hidden {
    display: none;
} 

/*吹き出し*/

.fukidashi-01-06 {
    position: relative;
    width: 80%;
    padding: 1rem 1rem;
    border: 2px solid #333333;
    border-radius: 1rem;
    margin: 0 auto;
    margin-top: 2rem;
    font-size: 1rem;
}
.fukidashi-01-06::before {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 50%;
    width: 15px;
    height: 15px;
    box-sizing: border-box;
    background-color: #ffffff; /* 背景色と同じ色を指定 */
    rotate: 135deg;
    translate: -50%;
}
.fukidashi-01-06::after {
    content: "";
    position: absolute;
    bottom: -8px;
    left: 50%;
    width: 15px;
    height: 15px;
    box-sizing: border-box;
    border: 2px solid;
    border-color: #333333 #333333 transparent transparent;
    rotate: 135deg;
    translate: -50%;
}

/*ねこ*/
.neko img{
    width:40%;
    margin: 0 auto;
}

/*ブルー文字*/
.blue{
    color: #239EC7;
    font-weight: 500;
}

/*太文字*/
.futo{
    font-size: 1.1rem;
    font-weight: 400;
}

/*マーカー*/
.marker{
    background:linear-gradient(transparent 80%, #D6EDF2 80%);
}

/* thanks */

.thanks p{
    font-size: 24px;
    font-weight: 600;
    margin: 35px 0;
}

/* point */

.point h2{
    font-size: 21px;
    font-weight: 600;
    line-height: 2rem;

}

.point p{
    font-size: 1rem;
    line-height: 2rem;
}


.pointimg{
    width: 70%;
    margin: 35px;
}

.mov{
    width: 60%;
    margin: 20px;
}

.offer-btn{
    margin: 35px;
}

.offer-btn img{
    width: 100%;
    margin: 0 auto;
    height: auto;
}

.reviewimg{
    border: solid 1px #D5ECF2;
    box-shadow: 4px 4px #D5ECF2;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

.reviewimg img{
    width: 100%;
    height: auto;
}

/*スマホ枠*/
.sumaho-waku img, .sumaho-waku:after, .sumaho-waku:before {
    max-width: 200px;/*スマホ幅の最大値*/
    background-color: #111;/*スマホの色*/
    color: #666;/*◎ボタンの色*/
    display: block;
}
.sumaho-waku img {
    width: 100%;
    height: auto;
    padding: 0 5px;
    box-sizing: border-box;
    margin: 0 auto;
}
.sumaho-waku:before, .sumaho-waku:after {
    display: block;
    text-align: center;
    font-family: 'MS PGothic', sans-serif;
    line-height: 1em;
    margin:0 auto;
}
.sumaho-waku:before {
    content: '…';
    font-size: 30px;
    border-radius: 30px 30px 0 0;
    height: 30px;
    margin: 0 auto;
}
/* .sumaho-waku:after {/*スマホのボタン
    font-size: 50px;
    content: "◎";
    border-radius: 0px 0px 30px 30px;
    height: 60px;
} */

/*内定率アップ中*/
#up p{
    font-size: 1rem;
    text-align: center;
    font-weight: 500;
    margin-top: 1rem;
}

.area-title{
    text-align: left;
    font-weight: 500;
    margin: 0.2rempx;
    margin-bottom: 0;
    font-size: 1.1rem;

}

.map-h img{
    margin: 35px;

}

a:hover img {
    opacity: 0.7;
        -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity = 60);
        filter: alpha(opacity = 60);
    transition: all 0.4s;
}
/*
ナカジーさん追加要素
*/

.box-line{
    width:100%;
    height: auto;
    margin: 0 auto;
    border:solid 1px #000;
    margin-bottom: 35px;
}

.clearfix:after {
content: ".";
display: block;
clear: both;
height: 0;
visibility: hidden;
}

.clearfix{
    width: 100%;
    height: auto;
}
/******* 地図成形 *******/
#japan-map div div.area div {
    border: 1px #ffffff solid;
    text-align: center;
    font-size: 14px;
    display: flex;
    display: -webkit-flex;
    align-items: center; /* 縦方向中央揃え */
    -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
    justify-content: center; /* 横方向中央揃え */
    -webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
    border-radius: 6px;
    -webkit-border-radius: 6px;
    position: absolute;
    box-sizing: border-box;
    transition: 0.2s;
}

#japan-map div div.area div:hover {
    opacity: 0.5;
    transition: 0.2s;
}

/*内定率アップエリア*/

#up-area div.area div {
    background-color: #A4C0E6;
    color: #ffffff;
}

/* 北海道・東北 */

#hokkaido-touhoku div.area div {
    background-color: #CAE3F3;
    color: #3E3E3E;
}

#hokkaido { 
    width: 133px;
    height: 70px;
}
#aomori {
    width: 93px;
    height: 43px;
    left: 21px;
    top: 96px;
}
#akita {
    width: 67px;
    height: 42px;
    left: 3px;
    top: 139px;

}
#iwate {
    width: 67px;
    height: 42px;
    left: 70px;
    top: 139px;
}
#yamagata {
    width: 67px;
    height: 42px;
    top: 181px;
    left: 3px;
}
#miyagi {
    width: 67px;
    height: 42px;
    top: 181px;
    left: 70px;
}
#fukushima {
    width: 67px;
    height: 42px;
    top: 223px;
    left: 70px;
}

/* 関東 */

#kantou {
    width: 158px;
    display: block;
    height: 174px;
    position: absolute;
    top: 265px;
    left: 623px;
    z-index: 2;
}
#kantou div.area div {
    background-color: #CAE3F3;
    color: #3E3E3E;
}
#ibaraki {
    width: 52px;
    height: 85px;
    top: 0px;
    left: 100px;
}
#tochigi {
    width: 50px;
    height: 42px;
    top: 0px;
    left: 50px;
}
#gunma {
    width: 50px;
    height: 42px;
    top: 0px;
    left: 0px;
}
#saitama {
    width: 100px;
    height: 43px;
    top: 42px;
    left: 0px;
}
#chiba {
    width: 52px;
    height: 84px;
    top: 85px;
    left: 100px;
}
#tokyo {
    width: 100px;
    height: 42px;
    top: 85px;
    left: 0px;
}
#kanagawa {
    width: 67px;
    height: 42px;
    top: 127px;
    left: 0px;
}

/* 中部 */

#tyubu {
    width: 270px;
    height: 211px;
    position: absolute;
    left: 438px;
    top: 223px;
}
#tyubu div.area div {
    background-color: #CAE3F3;
    color: #3E3E3E;
}

#nigata {
    width: 85px;
    height: 42px;
    left: 185px;
}
#toyama {
    width: 67px;
    height: 42px;
    left: 118px;
}
#ishikawa {
    width: 50px;
    height: 57px;
    left: 68px;
}
#fukui {
    width: 68px;
    height: 42px;
    left: 0px;
    z-index: 2;
}
#nagano {
    width: 67px;
    height: 85px;
    left: 118px;
    top: 42px
}
#yamanashi {
    width: 67px;
    height: 42px;
    left: 118px;
    top: 127px;
}
#gifu {
    width: 50px;
    height: 55px;
    left: 68px;
    top: 57px
}
#shizuoka {
    width: 67px;
    height: 42px;
    left: 118px;
    top: 169px;
}
#aichi {
    width: 50px;
    height: 57px;
    top: 112px;
    left: 68px;
}

/* 近畿 */

#kinki {
    width: 186px;
    height: 211px;
    position: absolute;
    left: 320px;
    top: 223px;
}
#kinki div.area div {
    background-color: #CAE3F3;
    color: #3E3E3E;
}

#kyoto {
    width: 67px;
    height: 84px;
    left: 51px;
}
#shiga {
    width: 68px;
    height: 42px;
    top: 42px;
    left: 118px;
}
#osaka {
    width: 67px;
    height: 85px;
    top: 84px;
    left: 51px;
}
#nara {
    width: 34px;
    height: 85px;
    top: 84px;
    left: 118px;
}
#mie {
    width: 34px;
    height: 85px;
    top: 84px;
    left: 152px;
}
#wakayama {
    width: 113px;
    height: 42px;
    top: 169px;
    left: 61px;
}
#hyougo {
    width: 51px;
    height: 98px;
    left: 0px;
}

/* 中国 */

#tyugoku {
    width: 151px;
    height: 98px;
    position: absolute;
    left: 169px;
    top: 223px;
}
#tyugoku div.area div {
    background-color: #CAE3F3;
    color: #3E3E3E;
}
#tottori {
    width: 50px;
    height: 49px;
    left: 101px;
}
#okayama {
    width: 50px;
    height: 49px;
    top: 49px;
    left: 101px;
}
#shimane {
    width: 51px;
    height: 49px;
    left: 50px;
}
#hiroshima {
    width: 51px;
    height: 49px;
    top: 49px;
    left: 50px;
}
#yamaguchi {
    width: 50px;
    height: 98px;
    left: 0px;
}

/* 四国 */

#shikoku {
    width: 184px;
    height: 84px;
    position: absolute;
    left: 169px;
    top: 350px;
}
#shikoku div.area div {
    background-color: #CAE3F3;
    color: #3E3E3E;
}
#kagawa {
    width: 92px;
    height: 42px;
    right: 0px;
}
#ehime {
    width: 92px;
    height: 42px;
    left: 0px;
}
#tokushima {
    width: 92px;
    height: 42px;
    right: 0px;
    top: 42px;
}
#kouchi {
    width: 92px;
    height: 42px;
    left: 0px;
    top: 42px;
}

/* 九州・沖縄 */

#kyusyu {
    width: 152px;
    height: 247px;
    position: absolute;
    left: 0px;
    top: 235px;
}

#kyusyu div.area div {
    background-color: #CAE3F3;
    color: #3E3E3E;
}

#fukuoka {
    width: 50px;
    height: 50px;
    left: 101px;
    top: 0px;
}

#saga {
    width: 50px;
    height: 50px;
    left: 51px;
    top: 0px;
}

#nagasaki {
    width: 50px;
    height: 50px;
    left: 1px;
    top: 0px;
}

#oita {
    width: 50px;
    height: 50px;
    left: 101px;
    top: 50px;
}

#kumamoto {
    width: 50px;
    height: 100px;
    left: 51px;
    top: 50px;
}

#miyazaki {
    width: 50px;
    height: 50px;
    left: 101px;
    top: 100px;
}

#kagoshima {
    width: 68px;
    height: 49px;
    left: 83px;
    top: 150px;
}

#okinawa {
    width: 50px;
    height: 50px;
    left: 1px;
    top: 197px;
}

#japan-map {
    display: block;
    width: 100%;
    height: auto;
}

#hokkaido-touhoku, #kantou, #tyubu, #kinki, #tyugoku, #shikoku, #kyusyu {
    display: flex;
    flex-wrap: wrap;
    width: 80%;
    height: auto;
    position: static;
    margin: 0 auto;
}

#japan-map div div.area {
    font-size: 0.8rem;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

#japan-map div div.area a {
    height: auto;
    width: 25%;
}
#japan-map div div.area div {
    display: block;
    border-radius: 0px;
    position: static;
    height: auto;
    font-size: 0.9rem;
    width: 100%;
    padding: 0.5em 0.3em 0.5em 0.3em;
}

.text{
    margin: 35px;
}

.text p{
    line-height: 2.5rem;
}

footer{
    width: 100%;
    text-align: center;
    margin-top: 50px;
    padding: 25px 0;
    background-color: #B0D2F0;
}

.footer-item{
    font-size:12px;
}


.pointill{
    margin: 35px;
    margin-right: 10px;
}

.sp-br{
    display:none;
}

.pc-br{
    display:inline;
}

.sp{
    display:none;
}

.pc{
    display:inline;
    width:100%;
}

@media screen and (max-width: 767px) {
    body{
    margin: 0 auto;
    padding: 0;
    text-align: center;
    width: 100%;
    font-family: 'Noto Sans Japanese', sans-serif;
    background-color: #FFFAF5;
}

header {
    margin-bottom: 20px;
}

section{
    width:100%;
    height: auto;
}

.note1{
    margin-right:10px;
}

h2 {
    font-size: 22px;
    font-weight: 600;
    margin: 20px 0;
    line-height: 2rem;
}

h3{
    font-size: 1.1rem;
    font-weight: 500;
    text-align: center;
}

.big {
    font-size: 1.1rem;
    font-weight: 600;
}

    .small {
    font-size: 16px;
}

.point h2 {
    font-size: 18px;
    font-weight: 500;
    line-height: 2rem;
}

ul {
    width: 60%;
    margin: 0 auto;
    height: auto;
    padding: 0;
    display: block;
}

.sp-br{
    display:inline;
}

.pc-br{
    display:none;
}

.sp{
    display:inline;
    width:100%;
    height: auto;
}
    
.pc{
    display:none;
}

.question {
    width: 90%;
    height: auto;
    margin: 0 auto;
}

.q-box {
    border: solid 1px #000;
    border-radius: 25px;
    background-color: #fff;
    padding: 0 15px;
    margin-right: 10px;
    font-weight: 600;
}

.q-box {
    padding: 0 1rem;
}

.q-content{
    width: 100%;
    height: auto;
}
    
.checkbtn {
    padding: 0px;
    font-size: 1rem;
    text-align: center;
    font-weight: 500;
}

.radiobtn {
    background-color: #D6EDF2;
    width: 8rem;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    margin: 10px;
    font-size: 1rem;
    font-weight: 500;
}

.checkstyle1, .checkstyle3 {
    accent-color: #E6A4B4;
    inline-size: 1rem;
    block-size: 1rem;
    margin: 1rem;
}

.question p {
    font-size: 1rem;
    margin-bottom: 1rem;
    line-height: 4rem;
}

.q-content2 {
    width: 80%;
    height: auto;
}

.q-content3 {
    width: 80%;
    }

.text p {
    line-height: 1.8rem;
    font-size: 1rem;
    margin-bottom: 2rem;
}

.point2{
    width:100%;
    height: auto;
    margin-top: 20px;
}
    
.point2 img{
    width:100%;
    height: auto;
}
    
.pointill {
    margin: 20px 0 0 0;
}
    
.text img{
    width:100%;
    height: auto;
}

.offer-btn {
    margin: 0;
}
    
.offer-btn img {
    width:80%;
    height: auto;
    margin: 0 auto
}

p {
    font-size: 1rem;
    line-height: 1.8rem;
}
    
.review img {
    width: 100%;
    height: auto;
    margin: 0 auto;
}
    
.map-h img {
    margin: 25px 0;
    width: 100%;
    height: auto;
}

.boder {
    border-bottom: double 6px #FFE5E5;
    font-size: 19px;
    font-weight: 600;
    line-height: 2rem;
}

.pointimg {
    width: 70%;
    height: auto;
    margin: 0;
}

.thanks p {
    font-size: 1rem;
    font-weight: 600;
    margin: 35px 0;
}

#hokkaido-touhoku, #kantou, #tyubu, #kinki, #tyugoku, #shikoku, #kyusyu {
    width: 100%;
    height: auto;
}
}