@charset "utf-8";
#toppage { overflow: hidden;}



/* TITLE */
#toppage h2.tit {
    margin-bottom: 50px;
    position: relative;
    color: #003aa8;
    text-align: center;
}
#toppage h2.tit b {
    position: absolute; left: 0; right: 0; bottom: -13px;
    font-size: 300%;
}
#toppage h2.tit span { font-size: 150px; font-weight: 800; opacity: 0.2; }
@media only screen and (max-width:468px){
    #toppage h2.tit b { font-size: 156.2%;}
    #toppage h2.tit span { font-size: 343.8%;}
}



/* DENCHAN */
#denchen .modal_box .modal_contents { 
    padding: 0 !important;
    width: 94%; height: auto; max-width:1100px; aspect-ratio: 1100 / 600;
    background-image: linear-gradient(90deg, #009ce1, #86c4ed);
}
#denchen .modal_box .modal_contents .denchan_cont  {
    padding: 90px 70px  !important;
    background:url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/character2.webp") no-repeat 105% center;
    box-sizing: border-box;
}
#denchen .modal_box .modal_contents .mid { font-size: 66px; color: #fff; font-weight: 800; letter-spacing: -1px;}
#denchen .modal_box .modal_contents .come { margin:40px 0; font-size: 20px; color: #fff; font-weight: 800;}
#denchen .modal_box .modal_contents .profile {
    max-width: 500px;
    display: flex; flex-direction: column; gap:15px;
}
#denchen .modal_box .modal_contents .profile dl {
    display: flex;
    background: #fff;
    box-shadow: 0px 7px 15px 0px rgba(31, 59, 143, 0.15);
}
#denchen .modal_box .modal_contents .profile dl dt {
    position: relative;
    padding:3px 20px 3px 10px;
    width: 120px;
    text-align: center;
    font-size:100%;
    font-weight: 800;
    line-height: 200%;
    color:#fff;
    background-image: linear-gradient(90deg, #4e63b5, #223ca3);
}
#denchen .modal_box .modal_contents .profile dl dt::before{
    display: block; clear: both; content:"";
    position: absolute; top: 0; right: -14px;
    width:15px; height:100%; aspect-ratio: 40 / 50;
    background: #223ca3;
    clip-path: polygon(0 0, 5% 0, 100% 100%, 0 100%);
}
#denchen .modal_box .modal_contents .profile dl dd {
    padding: 3px 10px 3px 25px;
    width: calc(100% - 160px);
    font-size:106.2%;
    font-weight: 800;
    line-height: 200%;
    color:#0039a7;
}
#denchen .modal_box .modal_contents .close {
    cursor: pointer;
    position: absolute; bottom: -10px; left: 0; right: 0;
    margin: 35px auto 40px;
    padding: 0 5px;
    width: 140px;
    font-size: 14px;
    font-weight: 800;
    color: #fff;
    text-align: center;
    background-image: linear-gradient(90deg, #3361b9, #0039a7);
    border-radius: 50px;
}
#denchen .modal_box .modal_contents .close span {
    display:block;
    line-height: 36px;
    background:url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/close.webp") no-repeat 93% center;
    background-size: 15px auto;
}
#denchen .modal_box .modal-close { top: -60px; right:0; background: none !important;}
#denchen .modal_box .modal-close::before,
#denchen .modal_box .modal-close::after { width: 42px;}
@media only screen and (max-width:768px){
    #denchen .modal_box .modal_contents { max-width:380px; min-width: 330px; aspect-ratio: 343 / 575;}
    #denchen .modal_box .modal_contents .denchan_cont { padding: 40px 20px 80px !important;  background-size: 250px auto; background-position:140% 80%;}
    #denchen .modal_box .modal_contents .mid { font-size:42px; line-height: 120%; letter-spacing: -1px;}
    #denchen .modal_box .modal_contents .come {  margin: 30px 0; font-size:14px; letter-spacing: -1px; line-height: 140%;}
    #denchen .modal_box .modal_contents .profile { max-width:165px; gap:10px;}
    #denchen .modal_box .modal_contents .profile dl {
        display:block;
        background:none;
        box-shadow:none;
    }
    #denchen .modal_box .modal_contents .profile dl dt {
        padding: 0 5px;
        width: 95px;
        font-size:12px;
        color:#fff;
    }
    #denchen .modal_box .modal_contents .profile dl dd {
        padding: 3px 10px;
        width:100%;
        font-size: 14px;
        line-height: 150%;
        background: #fff;
    }
    #denchen .modal_box .modal-close {
        top:20px; right:20px;
        background: none !important;
    }
}
@media only screen and (max-width:468px){
    #denchen .modal_box .modal_contents .denchan_cont {background-position:165% 80%;}
}



/* MAINIMG */
#toppage .mainimg .sp { display: none;}
#toppage .mainimg,
#toppage .mainimg li { position: relative;}
#toppage .mainimg .img01 .link  {
	position: absolute; left: 7.3%; bottom:9%;
	width: 21%; max-width: 287px;
}
#toppage .mainimg .img01 .link p {
	border-radius: 100px;
	box-shadow: 3px 3px 5px 0 rgba(0,0,0,0.30);
}
#toppage .mainimg .img01 .link p + p { margin-top: 5.5%;}
#toppage .mainimg .img01 .link p:nth-child(1) a { background:#223CA3;}
#toppage .mainimg .img01 .link p:nth-child(2) a { background:#fbf038;}
@media only screen and (max-width:468px){
    #toppage .mainimg .pctb { display: none;}
    #toppage .mainimg .sp { display: block;}
	#toppage .mainimg .img01 .link  {
		position: absolute; left: 10%; bottom:4.5%;
		width: 43%;
	}
}



/* NEWS */
#toppage .news { background: #efefef;}
#toppage .news .inner {
    position: relative;
    display: flex;
    padding:25px 0;
    width: 96%;
    max-width: 1220px;
}
#toppage .news .tit { 
    margin-right: 35px;
    padding-right: 35px;
    font-size: 30px; font-weight: 900; color: #0039a7;
    border-right: 2px solid #0039a7;
}
#toppage .news .tit a:hover { 
    color: #0039a7;
    text-decoration: none;
}
#toppage .news .news_list {
    width: calc(100% - 250px);
}
#toppage .news .box {
    display: flex; flex-wrap: wrap; align-items:center; gap:15px;
    font-size: 20px; font-weight: 700;
}
#toppage .news .cate {
    width: 70px; height: 22px; line-height: 22px;
    font-size:15px;  font-weight: 800; letter-spacing: 1px;
    color: #0039a7;
    text-align: center;
    background: #fbf038;
    border-radius: 5px;
}
#toppage .news .mid,
#toppage .news .mid a { color: #222;}
#toppage .news .arrow_box {
    position: absolute; right: 0; top: 0; bottom: 0;
    display: flex; justify-content: space-between;
    margin: auto;
    width: 65px; height: 20px;
}
#toppage .news .arrow_box .slide-arrow {
    width: 20px; height: auto; 
    background: url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/news_arrow.webp") no-repeat;
    background-size: 100% auto;
}
#toppage .news .arrow_box .next-arrow { transform: scaleX(-1);}
@media only screen and (max-width:768px){
    #toppage .news .inner {
        flex-direction: column;
        padding:10px 0;
    }
    #toppage .news .tit { 
        position: relative;
        margin: 0 0 20px; padding: 0;
        font-size: 22px;  text-align: center;
        border-right:none;
    }
    #toppage .news .tit::before {
        display: block; clear: both; content:"";
        position: absolute; left: 0; right: 0; bottom:-10px;
        margin: auto;
        width: 70px; height: 2px;
        background: #0039a7;
    }
    #toppage .news .news_list {
        margin: auto;
        width: 90%;
    }
    #toppage .news .box {
        font-size: 18px; font-weight: 600;
    }
    #toppage .news .data {
        width: 100px;
    }
    #toppage .news .cate {
        width: 55px; height: 20px; line-height: 18px;
        font-size:12px;
    }
    #toppage .news .mid { width: calc(100% - 55px - 100px - 30px);}
    #toppage .news .mid a {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    #toppage .news .arrow_box {
        right: 5%; top: 30px; bottom:inherit;
    }
}



/* ABOUT */
#toppage .about {
    background: url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/about_bg.webp") no-repeat center bottom;
    background-size: 100% auto;
}
#toppage .about .tit_box {
    position: relative;
    padding: 80px 0 130px;
    background:url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/tit_bg.webp") no-repeat center bottom;
}
#toppage .about .tit_box h2 {
    font-size: 33px; line-height:56px;
    font-weight: 800;
    color: #fff;
    text-align: center;
}
#toppage .about .tit_box h2 b {
    font-size:125%;
    color: #fbf038;
}
#toppage .about .tit_box .zu {
    margin: 20px auto 0;
    width: 100%;
    max-width: 790px;
}
#toppage .about .catch {
    font-size: 25px; line-height: 44px;
    font-weight: 800;
    text-align: center;
    color: #0039a7;
}
#toppage .about .pic {
    margin: 50px auto; width: 90%; max-width: 740px;
    border: 5px solid #0039a7;
}
@media only screen and (max-width:768px){
    #toppage .about .tit_box {
        padding:40px 0 70px;
        background:url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/tit_bg_sp.webp") no-repeat center bottom;
    }
    #toppage .about .tit_box h2 {font-size:24px; line-height:20px;}
    #toppage .about .tit_box h2 b { font-size:130%; line-height: 44px;}
    #toppage .about .tit_box h2 span { display: block; margin: 10px 0; font-size:16px;}
    #toppage .about .tit_box .zu {position: relative; left: -7%; margin: auto; width: 114%; max-width: 1000px;}
    #toppage .about .catch { font-size: 100%; line-height: 30px;}
    #toppage .about .pic {  margin: 30px auto; border: 2px solid #0039a7;}
    #toppage .about .b_more.arrow_l { max-width: 298px;}
}



/* SIMULATION */
#toppage .simulation { padding: 130px 0; background: #e5f5fc;}
#toppage .simulation .catch {
    margin-bottom: 60px;
    font-size: 156.2%; line-height: 42px;
    text-align: center;
}
#toppage .simu_setting { overflow: hidden; }
#toppage .simu_setting .cont1 { display: flex; gap: 0;}
#toppage .simu_setting dl { width: 33.3%;}
#toppage .simu_setting dl + dl dd { border-left: 2px solid #0039a7;}
#toppage .simu_setting dl dt {
    display: flex; flex-direction: column; justify-content: center;
    height: 80px;
    font-size: 156.2%;
    color: #fff;
    text-align: center;
    background-image: linear-gradient(90deg, #0039a7, #3361b9);
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
}
#toppage .simu_setting dl dt small { display: block; font-size: 16px;}
#toppage .simu_setting dl dd {
    display: flex; flex-direction: column;
    height: calc(100% - 80px);
    font-size: 131.2%;
    font-weight: 700;
    background: #fff;
}
#toppage .simu_setting dl dd p span { position: relative; top: 2px;}
#toppage .simu_setting input {
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    margin-right: 10px;
    width:100%; max-width: 135px; height: 30px;
	font-family: 'Noto Sans JP', "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: 700;
    text-align: center;
    background: #fff;
    border: 2px solid #0039a7;
}
#toppage .simu_setting .staff dd { justify-content: center; align-items: center;}
#toppage .simu_setting .job p,
#toppage .simu_setting .time p {
    display: flex; flex-direction: column; align-items: center;
    margin: auto;
    width: 100%;
    height: 60px;
}
#toppage .simu_setting .job p:nth-child(odd),
#toppage .simu_setting .time p:nth-child(odd) { background: #f1f8fd; }
#toppage .simu_setting .job p span,
#toppage .simu_setting .time p span { margin: auto; width: 100%; max-width: 220px;}
#toppage .simu_setting .time { color: #0039a7;}
#toppage .simu_setting .time input { position: relative; top: -4px;}
#toppage .simu_setting .cont2 {
    position: relative;
    padding: 30px;
    background: #fff;
}
#toppage .simu_setting .cont2::before {
    display: block; clear: both; content:"";
    position: absolute; left:70px; bottom: -5px;
    width:  100%; height: auto; max-width: 180px; aspect-ratio: 194 / 215;
    background: url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/denchan/dencyan2.webp") no-repeat;
    background-size: 100% auto;
}
#toppage .simu_setting .input-error {
    position:relative;
    display: inline-block;
    margin: 10px 0 0;
    padding: 8px 14px;
    background: #ffecec;
    color: #d00;
    font-size: 13px;
    border-radius: 6px;
}
#toppage .simu_setting .input-error::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 20px;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #ffecec;
}
#toppage .simu_setting .min-check.error {
    border-color: #d00;
}
@media only screen and (max-width:768px){
    #toppage .simulation h2 b { bottom: -35px;}
    #toppage .simulation .catch { margin-bottom: 30px; font-size: 100%; line-height: 23px;}
    #toppage .simu_setting {overflow: inherit;}
    #toppage .simu_setting .cont1 { flex-wrap: wrap;}
    #toppage .simu_setting .staff { width: 100%;}
    #toppage .simu_setting .job { width:115px;}
    #toppage .simu_setting .time { width: calc(100% - 115px);}
    #toppage .simu_setting dl dt {
        padding: 5px 0;
        height: auto;
        font-size:93.8%;
        line-height: 150%;
        border-top-left-radius: 15px;
        border-top-right-radius: 15px;
    }
    #toppage .simu_setting dl dt small { font-size: 10px;}
    #toppage .simu_setting dl dd { font-size:87.5%; height: auto;}
    #toppage .simu_setting .staff dt { height: 35px;}
    #toppage .simu_setting .job dt,
    #toppage .simu_setting .time dt { height: 55px; border-radius: 0;}
    #toppage .simu_setting .staff dd { padding: 10px 0 15px;}
    #toppage .simu_setting .job dd { border-left: none;}
    #toppage .simu_setting .job dd span { text-align: center; line-height: 130%;}
    #toppage .simu_setting .time dd { text-align: center;}
    #toppage .simu_setting .time input { position: relative; top:0; width:100px;}
    #toppage .simu_setting .cont2 { padding: 20px;}
    #toppage .simu_setting .cont2::before { display:none;}
}
@media only screen and (max-width:320px){
    #toppage .simu_setting .time input { width:80px;}
}



/* SIMULATION RESULT */
#result .modal_contents {
    top: 97px;
    padding: 0;
    width: 96%; height: 700px;
    max-width:1000px;
    aspect-ratio: auto !important;
    background: #eef5fc;
}
#result .modal_contents .scroll_box {
    width: 100%; height: 700px;
    overflow:auto;
}
#result .result_cont {
    margin: auto;
    padding: 45px 0;
    width: 90%; max-width: 810px;
}
#result .result_cont .cont1 {
    display:flex; flex-wrap: wrap; gap:20px;
    margin-bottom: 70px;
    padding-top: 50px;
    font-size: 93.8%;
}
#result .result_cont .cont1 dl {
    position: relative;
    width:calc(33.3% - 13.33px);
    background: #fff;
    box-shadow: 0 5px 10px 0 rgba(45,61,139,0.15);
}
#result .result_cont .cont1 dl dt {
    position: relative; z-index: 99;
    padding: 2px 15px;
    width: 150px;
    height: 35px;
    font-size: 106.2%;
    color: #fff;
    background-image: linear-gradient(90deg, #0039a7, #579bde);
}
#result .result_cont .cont1 dl dt::before{
    display: block; clear: both; content:"";
    position: absolute; top: 0; right: -25px;
    width:26px; height:auto; aspect-ratio: 26 / 35;
    background: #579bde;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 100%);
}
#result .result_cont .cont1 dl dd {
    position: relative; z-index: 99;
    padding: 20px;
    font-weight: 700;
    text-align: center;
    color:#0039a7;
}
#result .result_cont .cont1 dl dd small,
#result .result_cont .cont1 dl dd b { font-weight:900;}
#result .result_cont .cont1 dl dd small { font-size:162.5%; }
#result .result_cont .cont1 dl dd b { font-size:212.5%; }
#result .result_cont .cont1 dl dd small { font-size:162.5%;}
#result .result_cont .cont1 dl::before {
    display: block; clear: both; content:"";
    position: absolute; top:0; right:0; z-index: 9;
    width: 100%; height: auto; 
    background-size:100% auto !important;
}
#result .result_cont .cont1 dl.bg_person::before {
    max-width: 90px; aspect-ratio: 289 / 181;
    background:#fff url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/simulation_icon1.webp") no-repeat right top;
}
#result .result_cont .cont1 dl.bg_time::before {
    max-width: 70px; aspect-ratio: 232 / 211;
    background:#fff url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/simulation_icon2.webp") no-repeat right top;
}
#result .result_cont .cont1 dl.bg_fee::before {
    max-width: 70px; aspect-ratio: 232 / 210;
    background:#fff url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/simulation_icon3.webp") no-repeat right top;
}
#result .result_cont .cont1 dl.bg_denchan::before {
    top: inherit; bottom:0; right:10px;
    max-width:180px; aspect-ratio: 145 / 135;
    background: url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/denchan/dencyan1_2.webp") no-repeat;
}
#result .result_cont .cont1 dl:nth-child(1) { width:100%;}
#result .result_cont .cont1 dl:nth-child(1) dt {
    padding: 9px 15px;
    width:210px; height: 45px;
    font-size:125%;
}
#result .result_cont .cont1 dl:nth-child(1) dt::before {
    right: -30px;
    width:30px; height:auto; aspect-ratio: 30 / 45;
}
#result .result_cont .cont1 dl:nth-child(1) dd {
    padding: 20px 0 30px;
    font-size: 60px;
}
#result .result_cont .cont1 dl:nth-child(1) dd small {
    font-size:70%; 
}
#result .result_cont .cont1 dl:nth-child(1) dd small + b {
    margin: 0 10px;
    font-size:100%; 
}
#result .result_cont .cont1 dl:nth-child(1) dd small + b + small {
    font-size:50%; 
}
#result .result_cont .cont2 { margin-bottom: 45px;}
#result .result_cont .cont2 .mid {
    margin-bottom: 40px;
    font-size: 150%;
    font-weight: 900;
    text-align: center;
    letter-spacing: 2px;
    color:#0039a7;
}
#result .result_cont .cont2 .result_table { overflow: auto;}
#result .result_cont .cont2 table { margin-bottom: 5px; border: none; width: 100%; min-width:810px; max-width: inherit;}
#result .result_cont .cont2 table th,
#result .result_cont .cont2 table td { border: none;}
#result .result_cont .cont2 table th + th,
#result .result_cont .cont2 table td + td { border-left: 2px solid #ddd;}
#result .result_cont .cont2 table thead tr {
    color: #fff;
    line-height: 150%;
    background-image: linear-gradient(90deg, #0039a7, #579bde);
}
#result .result_cont .cont2 table td {
    padding: 15px 0 !important;
    font-size: 110% !important;
    font-weight: 700;
    text-align: center;
    color:#0039a7;
    line-height: 150%;
    background: #fff;
}
#result .result_cont .cont2 table tr:nth-child(even) td { background:#eef5fc;}
#result .result_cont .cont2 table tr td:nth-child(1) {
    padding: 15px !important;
    width: 215px !important;
    min-width: 215px !important;
    text-align:left;
}
#result .result_cont .cont2 table tr td:nth-child(4) {
    min-width: 140px !important;
}
#result .result_cont .cont2 table tr td:nth-child(6) {
    min-width: 120px !important;
}
#result .result_cont .cont2 .total {
    border: 5px solid #0039a7;
}
#result .result_cont .cont2 .total td {
    background: #fff !important;
}
#result .result_cont .cont2 .total td b {
    font-size:125% !important;
}
#result .result_cont .cont2 .total td:nth-child(1) {
    color: #fff;
    text-align: center;
    background: #0039a7 !important;
}
#result .result_cont .cont2 .total td:nth-child(2) { border-color: #fff;}
#result .result_cont .cont2 .come { display: flex; justify-content: flex-end;}
#result .result_cont .cont3 .mid {
    margin-bottom: 20px;
    padding: 10px;
    font-size: 125%;
    font-weight: 700;
    color:#0039a7;
    text-align: center;
    background:#fbf138;
}
#result .result_cont .cont3 .come {
    font-size: 87.5%;
    color:#0039a7;
}
#result .result_cont .cont3 .come p {
    position: relative;
    padding-left: 20px;
    line-height: 160%;
}
#result .result_cont .cont3 .come p + p { margin-top:10px;}
#result .result_cont .cont3 .come p::before {
    position: absolute; left: 0;
    content:"●";
}
#result .close {
    cursor: pointer;
    margin: 30px auto 0;
    padding: 0 5px;
    width: 140px;
    font-size: 14px;
    font-weight: 800;
    color: #fff;
    text-align: center;
    background-image: linear-gradient(90deg, #3361b9, #0039a7);
    border-radius: 50px;
}
#result .close span {
    display:block;
    line-height: 36px;
    background:url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/close.webp") no-repeat 93% center;
    background-size: 15px auto;
}
#result .close .modal-close { top: -60px; right:0; background: none !important;}
#result .close .modal-close::before,
#result .close .modal-close::after { width: 42px;}
#result .fixed_nav .inner {
    width: 96%;
    max-width:inherit;
}
#result .fixed_nav ul {
    display: flex; gap:15px;
    margin: auto;
    width: 100%;
}
#result .fixed_nav ul li a {
    padding: 12px 20px;
    width: 100%;
    font-size: 100%;
    font-weight: bold;
    text-align: center;
    letter-spacing: -1px;
    color: #1f3b8f;
    background: #fff;
    border: 5px solid #fef100;
    border-radius: 100px;
    box-shadow: 0px 5px 10px 0px rgba(31, 59, 143, 0.25);
    overflow: hidden;
}
#result .fixed_nav ul li:nth-child(3) a { text-align: left; padding-right:60px;}
@media only screen and (max-width:1020px){
    #result .fixed_nav ul li:nth-child(1) a { text-align: left; padding-right:60px;}
}
@media only screen and (max-width:768px){
    #result .modal_box .modal-close { top:10px; right:20px;}
    #result .modal_box .modal-close::before,
    #result .modal_box .modal-close::after { background: #0039a7;}
    #result .modal_contents { top: 0;}
    #result .modal_contents,
    #result .modal_contents .scroll_box { height:98vh;}
    #result .result_cont {padding: 25px 0;}
    #result .result_cont .cont1 {
        gap:20px 10px;
        margin-bottom: 40px;
        padding-top: 50px;
    }
    #result .result_cont .cont1 dl {width:calc(50% - 5px);}
    #result .result_cont .cont1 dl dt {
        padding: 2px 0 2px 10px !important;
        width: 130px !important;
        height: 30px !important;
        line-height:25px !important;
        font-size:100% !important;
    }
    #result .result_cont .cont1 dl dt::before{
        right: -22px !important;
        width:23px !important;
        aspect-ratio: 23 / 30 !important;
    }

    #result .result_cont .cont1 dl dd {
        padding: 15px 0;
    }
    #result .result_cont .cont1 dl dd b { font-size:143.8%; }
    #result .result_cont .cont1 dl dd small { font-size:81.2%;}
    #result .result_cont .cont1 dl::before {
        top:inherit; bottom:0; left: 0; right:0; 
        margin: auto;
        opacity: 0.30;
    }
    #result .result_cont .cont1 dl.bg_person::before {max-width: 110px;}
    #result .result_cont .cont1 dl.bg_time::before {max-width: 70px;}
    #result .result_cont .cont1 dl.bg_fee::before {max-width: 70px;}
    #result .result_cont .cont1 dl.bg_denchan::before { display: none;}    
    #result .result_cont .cont1 dl:nth-child(1) { width:100%;}
    #result .result_cont .cont1 dl:nth-child(1) dt {
        width: 150px !important;
    }
    #result .result_cont .cont1 dl:nth-child(1) dd {
        padding: 10px 0;
        font-size: 30px;
    }
    #result .result_cont .cont2 .mid {
        margin-bottom: 20px;
        font-size: 106.2%;
    }
    #result .result_cont .cont2 table {
        table-layout:auto !important;
    }
    #result .result_cont .cont2 table th,
    #result .result_cont .cont2 table td{
        table-layout:inherit !important;
        padding: 15px 0 !important;
        display:table-cell !important;
        width:inherit !important;
        height:inherit !important;
        border-right:none !important;
    }
    #result .result_cont .cont2 table tr td:nth-child(1) {
        padding: 15px 20px !important;
        width: 250px !important;
    }
    #result .result_cont .cont3 .mid {
        font-size: 125%;
    }
    #result .fixed_nav ul li:nth-child(1) a {
        text-align: left; padding-right:60px;
    }
}



/* POINT */
#toppage .point  {
    padding: 145px 0 175px;
    background-image: linear-gradient(90deg, #009ce1, #86c4ed);
}
#toppage .point .intro {
    position: relative;
    margin: 0 auto 140px;
    max-width: 872px;
}
#toppage .point .intro::before,
#toppage .point .intro::after {
    display: block; clear: both; content:"";
    width: 501px; height:auto;  aspect-ratio: 501 / 560;
    position: absolute; top:-30px; 
    background-size: 100% auto !important;
}
#toppage .point .intro::before {
    left:-345px;
    background:url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/trouble_bg1_pc.webp")no-repeat;
}
#toppage .point .intro::after { 
    right:-345px;
    background:url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/trouble_bg2_pc.webp")no-repeat;
}
#toppage .point .intro h4 { text-align: center;}
#toppage .point .intro h4 span {
    display: inline-block;
    margin-bottom: 30px;
    padding: 0 20px;
    text-align: center;
    font-size: 33px;
    line-height: 65px;
    color: #fff;
    font-weight: 800;
    background-image: linear-gradient(90deg, #0039a7, #3361b9);
}
#toppage .point .intro h4 b {
    margin-bottom: 40px;
    display: block;
    font-size: 65px;
    font-weight: 800;
    line-height: 92px;
    letter-spacing: -1px;
    color: #fbf038;
}
#toppage .point .intro .come {
    font-size: 22px;
    line-height:46px;
    color: #fff;
    text-align: center;
    font-weight: 700;
}
#toppage .point  .check {
    margin: auto; width: 86%; max-width:1000px;
    display: flex; gap:40px;
}
#toppage .point .check p {
    display: flex; flex-direction: column; justify-content: space-between;
    position: relative;
    width: 33.3%;
    background: #fff;
    box-shadow: 0px 7px 15px 0px rgba(31, 59, 143, 0.15);
}
#toppage .point .check p span { display: block;}
#toppage .point .check p span:nth-child(1) { 
    position: absolute; top:-75px; left: 0; right: 0;
    margin: auto; width: 50%; max-width: 150px;
}
#toppage .point .check p span:nth-child(2) {
    padding: 70px 20px 10px;
    font-size: 27px;
    line-height: 44px;
    font-weight: 800;
    color:#0039a7;
    text-align: center;
}
#toppage .point .check p span:nth-child(3) {
    padding: 40px 30px 30px;;
    font-weight: 800;
    background: url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/point3_bg.webp") no-repeat center top;
    background-size: 100% auto;
}
#toppage .point .check p span:nth-child(3) small {
    display: block;
    margin-bottom: 10px;
    font-size: 22px;
    color: #fff;
}
#toppage .point .check p span:nth-child(3) b {
    font-size: 41px;
    color: #fbf038;
}
@media only screen and (max-width:1000px){
    #toppage .point .intro::before,
    #toppage .point .intro::after { width: 300px; top:100px;}
    #toppage .point .intro::before { left:-80px; }
    #toppage .point .intro::after { right:-80px; }
}
@media only screen and (max-width:768px){
    #toppage .point {
        padding: 80px 0;
        background-image: linear-gradient(0deg, #009ce1, #86c4ed);
    }
    #toppage .point .intro { margin-bottom:15%; }
    #toppage .point .intro::before {
        width: 100%; height:auto; aspect-ratio: 787 / 787;
        position: absolute; top:700px; left:0; right: 0; 
        background:url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/trouble_bg_sp.webp") no-repeat top center;
        background-size: 110% auto;
    }
    #toppage .point .intro::after { display: none}
    #toppage .point .intro .come { font-size: 100%; line-height: 30px; padding-bottom:500px; }
    #toppage .point .check { position: relative; z-index: 99; flex-direction: column; gap:15px;}
    #toppage .point .check p { display: flex; flex-wrap: wrap; flex-direction: row; width: 100%;}
    #toppage .point .check p span:nth-child(1) { position: static; padding:15px 0 0; width:70px;}
    #toppage .point .check p span:nth-child(2) { padding:20px 0 0; width: calc(100% - 100px); text-align: left; font-size: 112.5%; line-height: 26px;}
    #toppage .point .check p span:nth-child(3) {
        display: flex; justify-content: center;
        padding: 32px 10px 10px;;
        width: 100%;
        background: url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/point3_bg_sp.webp") no-repeat center top;
        background-size: 100% auto;
    }
    #toppage .point .check p span:nth-child(3) small {
        position: relative; top:5px;
        margin-right: 5px;
        font-size:21px;
    }
    #toppage .point .check p span:nth-child(3) b {
        font-size: 32px;
    }
}
@media only screen and (max-width:468px){
    #toppage .point { padding: 50px 0 95px;}
    #toppage .point .intro { margin-bottom:12%; }
    #toppage .point .intro h4 { margin-bottom: 10px;}
    #toppage .point .intro h4 span {
        margin:0 auto 15px;
        font-size:16px;
        line-height: 35px;
        background-size: 140% auto;
    }
    #toppage .point .intro h4 b {
        margin-bottom: 20px;
        font-size: 35px;
        line-height:46px;
    }
    #toppage .point .intro .come {
        padding-bottom:300px;
        font-size: 15px;
    }
    #toppage .point .intro::before { top:400px;}
}
@media only screen and (max-width:320px){
    #toppage .point .intro h4 span {
        font-size:18px;
    }
    #toppage .point .intro h4 b {
        font-size:36px;
    }
    #toppage .point .intro .come {
        padding-bottom:160px;
        font-size: 13px;
    }
    #toppage .point .intro::before {
        top: 350px;
    }
}



/* RECOMEND */
#toppage .recomend {}
#toppage .recomend .tit_box {
    position: relative;
    padding: 144px 0 160px;
    background:url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/tit_bg.webp") no-repeat center bottom;
}
#toppage .recomend .tit_box .fukidasi {
    position: absolute; top:-40px; left: 0; right:0;
    margin: auto;
    width: 100%; height: auto; max-width: 720px; aspect-ratio: 1441 / 191;
    font-size: 218.8%;
    font-weight: 800;
    color: #0039a7;
    line-height: 75px;
    text-align: center;
    background:url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/fukidasi.webp") no-repeat;
    background-size: 100% auto;
}
#toppage .recomend .tit_box .box {
    position: relative;
    margin: auto;
    width: 70%; max-width: 463px;
}
#toppage .recomend .tit_box .btn,
#toppage .recomend .tit_box .btn a {
    width: 100%; height: auto; max-width: 175px; aspect-ratio: 1 / 1;
}
#toppage .recomend .tit_box .btn {
    position: absolute; top:40px; left:-240px;
}
#toppage .recomend .tit_box .btn a {
    display: block;
    text-indent: -9999px;
    background: url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/kigyou_bana.webp") no-repeat;
    background-size: 100% auto;
    border-radius: 175px;
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.15);
}
#toppage .recomend .tit_box .dencyan {
    position: absolute; top: 20px; right: -380px;
    width: 360px; 
}
#toppage .recomend .tit_box .dencyan::before {
    display: block; clear: both; content:"";
    position: relative;
    width: 100%; height: auto; max-width: 214px; aspect-ratio: 214 / 426;
    background:url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/character1.webp") no-repeat;
    background-size: 100% auto;
}
#toppage .recomend .tit_box .dencyan p:nth-child(1) {
    position: absolute; top: -30px; right: 0;
    max-width: 177px;
}
#toppage .recomend .tit_box .dencyan p:nth-child(2) {
    position: absolute; top:200px; right: 50px;
    max-width: 136px;
}
#toppage .recomend .inner { padding: 75px 0 100px; width: 100%; max-width: inherit;}
#toppage .recomend .catch {
    margin-bottom: 100px;
    font-size: 50px;
    font-weight: 800;
    color: #0039a7;
    text-align: center;
    line-height: 150%;
    background:url("../images/recomend_bg_pc.webp") no-repeat top center;
}
#toppage .recomend .catch b { font-size: 130%; letter-spacing: -3px;}
#toppage .recomend .catch img {
    display: inline-block;
    position: relative; top: -10px;
    width: 100%; max-width: 260px; height: auto; aspect-ratio: 163 / 89;
}
#toppage .recomend .case { margin-bottom: 70px;}
#toppage .recomend .case .box_list { position: relative;}
#toppage .recomend .case .box_list {
    margin: auto;
    width: 100%; width: 840px !important;
    max-width:none;
}
#toppage .recomend .case .box_list .slick-list { overflow:visible;}
#toppage .recomend .case .box_list .box {
    position: relative;
    margin: 0 20px;
    background: #fff;
    box-shadow: 0px 7px 15px 0px rgba(31, 59, 143, 0.15);
}
#toppage .recomend .case .box_list .box .b_more { max-width: 235px;}
#toppage .recomend .b_more.arrow_l a { text-align: left; text-indent: 20px;}
#toppage .recomend .case .slick-prev,
#toppage .recomend .case .slick-next,
#toppage .recomend .case .slick-prev:before,
#toppage .recomend .case .slick-next:before{ width: 90px; height: 90px;}
#toppage .recomend .case .slick-prev{ left:-25%;}
#toppage .recomend .case [dir='rtl'] .slick-prev{ right:0; left: auto;}
#toppage .recomend .case .slick-next{ right:-25%;}
#toppage .recomend .case [dir='rtl'] .slick-next{ right: auto; left:0;}
@media only screen and (max-width:1360px){
    #toppage .recomend .case .slick-prev{ left:-27%;}
    #toppage .recomend .case [dir='rtl'] .slick-prev{ right:0; left: auto;}
    #toppage .recomend .case .slick-next{ right:-27%;}
    #toppage .recomend .case [dir='rtl'] .slick-next{ right: auto; left:0;}
}
@media only screen and (max-width:1180px){
    #toppage .recomend .obi { font-size:30px;}
    #toppage .recomend .tit_box h3 { max-width:350px;}
    #toppage .recomend .tit_box h3::before { bottom:-90px; right:-150px; width:180px; }
    #toppage .recomend .tit_box h3::after { top:27px; right: -240px; width: 120px; }
    #toppage .recomend .den_pop { bottom: -80px; right: -250px;}
}
@media only screen and (max-width:768px){
    #toppage .recomend .tit_box { 
        padding: 40px 0 100px;
        background:url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/tit_bg_sp.webp") no-repeat center bottom;
    }
    #toppage .recomend .tit_box .fukidasi { font-size: 112.5%; line-height: 40px;}
    #toppage .recomend .tit_box .btn { position: static; margin: auto;}
    #toppage .recomend .tit_box .btn,
    #toppage .recomend .tit_box .btn a { max-width: 160px;}
    #toppage .recomend .tit_box .dencyan {
        position: relative; top: 0; right: 0;  margin: 10px auto;
        width: 80%; width: 295px; 
    }    
    #toppage .recomend .tit_box .dencyan::before { z-index: 9; max-width: 150px; }
    #toppage .recomend .tit_box .dencyan p:nth-child(1) { top:30px; right: 0; max-width: 167px;}
    #toppage .recomend .tit_box .dencyan p:nth-child(2) { top:180px; right: 30px;}
    #toppage .recomend .inner { padding: 30px 0 70px;}
    #toppage .recomend .catch { margin-bottom:0; font-size: 25px;}
    #toppage .recomend .catch b { font-size: 130%;}
    #toppage .recomend .catch img { max-width: 161px;}
    #toppage .recomend .case { margin-bottom: 35px;}
    #toppage .recomend .case .box_list { display: block; margin: auto; padding:25px 0 35px; width: 305px !important;}
    #toppage .recomend .case .box_list .box { margin: 0 15px;}
    #toppage .recomend .b_more.arrow_l { max-width: 298px;}
    #toppage .recomend .b_more.arrow_l a { text-indent: 10px;}
}
@media only screen and (max-width:468px){
    #toppage .recomend .obi { font-size: 21px;  line-height: 42px;}
}
@media only screen and (max-width:375px){
    #toppage .recomend .tit_box h3::before { left:-40px;}
}
@media only screen and (max-width:320px){
    #toppage .recomend .obi { font-size:18px;}
    #toppage .recomend .tit_box h3::before { left:-50px;}
    #toppage .recomend .tit_box h3::after { right: -20px;}
    #toppage .recomend .den_pop { right: -20px;}
    #toppage .recomend .catch b { font-size: 120%;}
}



/* SERVICE */
#toppage .service { padding: 140px 0 70px; margin-bottom: 100px; overflow: hidden;}
#toppage .service h2.tit b,
#toppage .service h2.tit span { color: #fff; }
#toppage .service .catch {
    margin-bottom: 80px;
    font-size: 156.2%; line-height: 165%;
    color: #fff;
    text-align: center;
}
#toppage .service .renkei { background: #fff;}
#toppage .service .renkei .box {
    display: flex; flex-direction: row-reverse; align-items: center; gap:0 70px;
    margin: auto;
    padding: 55px 0;
    max-width: 1050px;
}
#toppage .service .renkei .box .pic { width: 55%;}
#toppage .service .renkei .box .txt { width: 47%;}
#toppage .service .renkei .box .txt img { width: 71%; max-width: 307px;}
#toppage .service .renkei .box .txt .mid { margin: 25px 0 15px; font-size: 162.5%; line-height:169%; font-weight: 800;}
#toppage .service .renkei .box .txt .come { margin-bottom: 30px; font-size: 100%; line-height: 186%;}
#toppage .service .renkei .box .txt .b_more { margin-left: 0;}
@media only screen and (max-width:768px){
    #toppage .service { padding: 40px 0 70px;}
    #toppage .service h2.tit { margin-bottom: 30px;}
    #toppage .service .catch { margin-bottom: 40px; font-size: 100%;}
    #toppage .service .renkei { background: #fff url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/top/bg1.webp") no-repeat top left; background-size: 100% auto;}
    #toppage .service .renkei .box { padding: 55px 30px; flex-direction: column;}
    #toppage .service .renkei .box .pic,
    #toppage .service .renkei .box .txt { width: 100%;}
    #toppage .service .renkei .box .txt img { margin: auto; width:80%; max-width: 256px;}
    #toppage .service .renkei .box .txt .mid { margin: 30px 0 20px; font-size: 131.2%;  text-align: center;}
    #toppage .service .renkei .box .txt .come { margin-bottom:40px;}
    #toppage .service .renkei .box .pic{ margin-bottom:40px;}
    #toppage .service .renkei .box .b_more { max-width: 298px;}
}
@media only screen and (max-width:320px){
    #toppage .service .renkei .box .txt .mid br.tbsp,
    #toppage .service .renkei .box .txt .come br.tbsp { display: none;}
}


#toppage .service .service_list {
    gap:50px 25px;
    margin: auto; padding: 70px 0 60px;
    max-width: 1230px;
}
#toppage .service .service_list .obi {
    padding: 15px 10px;
    font-size: 158.2%;
    font-weight: 800;
    letter-spacing: 2px;
}
#toppage .service .service_list .logo { 
    display: flex; flex-direction: column; justify-content: center;
    height:100px;
}
#toppage .service .service_list .logo img { margin: auto; max-width: 128px; }
#toppage .service .service_list .logo img.logo_kanna { max-width: 135px; }
#toppage .service .service_list .logo img.logo_photomanager { max-width: 170px; }
#toppage .service .service_list .logo img.logo_pickbuddy { max-width: 150px; }
#toppage .service .service_list .logo img.logo_manabiba { max-width: 110px; }
#toppage .service .service_list .txt { padding: 0 10px 30px;}
#toppage .service .service_list .mid2 {
    font-size: 118.8%;
    font-weight: 800;
    color: #0039a7;
    text-align: center;
}
#toppage .service .catch2 {
    position: relative;
    margin: auto; max-width: 750px;
    font-size: 187.8%;
    color: #fff;
    line-height: 78px;
    text-align: center;
    background-image:linear-gradient( 90deg, rgba(22, 146, 208, 0) 0%, rgba(22, 146, 208, 1) 30%, rgba(22, 146, 208, 1) 70%, rgba(22, 146, 208, 0) 100% );
}
#toppage .service .catch2::before {
    display: block; clear: both; content:"";
    position: absolute; bottom:-80px; right:-30px; z-index: 9;
    width: 100%; height: auto; max-width: 180px; aspect-ratio: 164 / 180;
    background: url("/build/releases/607d0f76b3dc0dbf0e4407ffb70c685ff85c4b83f243b8ac98fc5ac6bf97355a-db1ed39aae3506949bf15f550ff557ba0fb0acba9f9bab0e41764a9bb8e36033/images/denchan/dencyan4.webp") no-repeat;
    background-size: 100% auto;
}
@media only screen and (max-width:768px){
    #toppage .service .service_list { flex-direction: column; gao:30px; padding: 45px 0;}
    #toppage .service .service_list .box { margin: auto; width: 85%;}
    #toppage .service .service_list .logo { height: 110px;}
    #toppage .service .service_list .logo img { max-width: 160px; }
    #toppage .service .service_list .logo img.logo_kanna { max-width: 155px; }
    #toppage .service .service_list .logo img.logo_photomanager { max-width: 195px; }
    #toppage .service .service_list .logo img.logo_manabiba { max-width: 122px; }
    #toppage .service .catch2 { 
        padding: 20px 0; font-size: 143.8%; line-height: 150%; text-align:left;
        background-image:linear-gradient( -135deg, rgba(22, 146, 208, 0) 0%, rgba(22, 146, 208, 1) 50%, rgba(22, 146, 208, 0) 100%);
    }
    #toppage .service .catch2::before {
        bottom:-85px; right:15px; max-width: 130px; aspect-ratio: 108 / 170;
    }
    #toppage .service .catch2 span { display: block; margin: auto; width: 80%;}
}
@media only screen and (max-width:320px){
    #toppage .service .catch2::before { right:0; max-width: 100px;}
}