@charset "utf-8";
* {
    margin: 0;
    padding: 0;
}

html {
    height: 100%;
    font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "Lucida Grande", sans-serif;
}

* html body {
    min-height: 100%;
}

body {
    background: #FFF;
    text-align: center;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    color: #333;
    letter-spacing: 1px;
    min-width: inherit;
    color: #333333;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.8;
    font-family: "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

a {
    color: #333;
}

p,
h1,
h2,
h3,
ul,
li {
    margin: 0;
    padding: 0;
    display: block;
}

img {
    max-width: 100%;
    vertical-align: bottom;
}

strong {
    color: #5c6db5;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

#container {
    position: relative;
    width: min(calc(1200 * 100vw / 1200), 1200px);
    box-shadow: 0 0 min(calc(10 * 100vw / 1200), 10px) rgba(0, 0, 0, .16);
    margin: 0 auto;
}
@media screen and (max-width: 750px) {
    #container {
        width: calc(750 * 100vw / 750);
    }
}

img.img_medal{
    width: min(calc(220 * 100vw / 1200), 220px);
}
@media screen and (max-width: 750px) {
    img.img_medal{
        width: calc(186 * 100vw / 750);
        position: relative;
        z-index: 1;
    }
}


.pc {
    display: inherit;
}
.sp {
    display: none;
}
@media screen and (max-width: 750px) {
    .pc {
        display: none;
    }
    .sp {
        display: inherit;
    }
}
/* top ---------------------------------------------- */

#top {
    position: relative;
    text-align: left;
    overflow: hidden;
}
#top .logo a {
    text-decoration: none;
}
.header_title {
    font-size: min(calc(11 * 100vw / 1200), 11px);
    text-align: left;
    color: #333333;
    font-weight: normal;
}
#top .logo {
    position: absolute;
    top: min(calc(16 * 100vw / 1200), 16px);
    left: min(calc(40 * 100vw / 1200), 40px);
}
#top .logo img{
    width: min(calc(300 * 100vw / 1200), 300px);
    height: auto;
}

@media screen and (max-width: 750px) {
    .header_title {
        font-size: calc(18 * 100vw / 750);
    }
    #top .logo {
        position: absolute;
        top: calc(24 * 100vw / 750);
        left: calc(24 * 100vw / 750);
    }
    #top .logo img{
        width: calc(440 * 100vw / 750);
    }
}



/* gnavi ---------------------------------------- */

#gnavi {
    width: 100%;
    overflow: hidden;
    position: absolute;
    left: 50%;
    top: min(calc(800 * 100vw / 1200), 800px);
    z-index: 10;
    transform: translateX(-50%);
}
#gnavi.fixed {
    width: auto;
    position: fixed;
    top: 0;
    left: 50%;
    z-index: 10;
    transform: translateX(-50%);
}

#gnavi ul {
    width: min(calc(1200 * 100vw / 1200), 1200px);
    height: auto;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 0px;
    background: #4F5784;
}

#gnavi li {
    float: left;
}

#gnavi li#bt_sohyo {
    width: min(calc(300 * 100vw / 1200), 300px);
}

#gnavi li#bt_jyusho {
    width: min(calc(300 * 100vw / 1200), 300px);
}

#gnavi li#bt_history {
    width: min(calc(300 * 100vw / 1200), 300px);
}

#gnavi li#bt_kokuchi {
    width: min(calc(300 * 100vw / 1200), 300px);
}

#gnavi a {
    display: block;
    line-height: 76px;
    background: #E34491;
}

#gnavi a:hover {
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    -moz-opacity: 0.7;
    opacity: 0.7;
    color: #4F5784;
}
@media screen and (max-width: 750px) {
    #gnavi {
        top: calc(750 * 100vw / 750);
    }
    #gnavi ul {
        width: calc(750 * 100vw / 750);
    }
    #gnavi li#bt_sohyo {
        width: calc(188 * 100vw / 750);
    }

    #gnavi li#bt_jyusho {
        width: calc(188 * 100vw / 750);
    }

    #gnavi li#bt_history {
        width: calc(188 * 100vw / 750);
    }

    #gnavi li#bt_kokuchi {
        width: calc(186 * 100vw / 750);
    }

}


/* sohyo ---------------------------------------- */

#sohyo {
    margin-top: min(calc(168 * 100vw / 1200), 168px);
    margin-bottom: min(calc(140 * 100vw / 1200), 140px);
}

#sohyo .box_sohyo{
    display: flex;
    flex-direction: column;
}

#sohyo .sohyo_image{
    display: flex;
    flex-direction: column;
}

#sohyo img.sohyo_image_compe {
    height: auto;
    width: min(calc(762 * 100vw / 1200), 762px);
    margin: 0 auto min(calc(40 * 100vw / 1200), 40px);
}

#sohyo img.sohyo_image_happyo {
    height: auto;
    width: min(calc(414 * 100vw / 1200), 414px);
    margin: 0 auto  min(calc(64 * 100vw / 1200), 64px);
}

#sohyo .txt_sohyo{
    font-size: min(calc(20 * 100vw / 1200), 20px);
}
@media screen and (max-width: 750px) {

    #top .logo {
        position: absolute;
        top: calc(24 * 100vw / 750);
        left: calc(24 * 100vw / 750);
    }
    #sohyo {
        margin-top: calc(160 * 100vw / 750);
        margin-bottom: calc(94 * 100vw / 750);
        padding-top: calc(72 * 100vw / 750); /* gnavi調整 */
    }
    #top .logo img{
        width: calc(310 * 100vw / 750);
    }
    #sohyo img.sohyo_image_compe {
        height: auto;
        width: calc(639 * 100vw / 750);
        margin: calc(35 * 100vw / 750);
        margin: 0 auto calc(35 * 100vw / 750);
    }

    #sohyo img.sohyo_image_happyo {
        height: auto;
        width: calc(414 * 100vw / 750);
        margin: 0 auto calc(72 * 100vw / 750);
    }

    #sohyo .txt_sohyo{
        font-size: calc(32 * 100vw / 750);
    }

}


/* main ---------------------------------------- */

#main {
    text-align: center;
}
@media screen and (max-width: 750px) {
    #main {
        padding-top: calc(70 * 100vw / 750); /* gnavi調整*/
        margin-bottom: calc(-70 * 100vw / 750); /* gnavi調整*/
    }
}

/* obi ---------------------------------------- */

#obi {
    position: absolute;
    top: min(calc(-20 * 100vw / 1200), -20px);
}
@media screen and (max-width: 750px) {
    #obi {
        top: calc(-24 * 100vw / 750);
    }
    #obi img{
        padding-top: calc(70 * 100vw / 750);
    }
}

/* saiyusyu ---------------------------------------- */
#saiyusyu {
    padding-top: min(calc(140 * 100vw / 1200), 140px);
    background: #E7C17B59;
}
@media screen and (max-width: 750px) {
    #saiyusyu {
        padding-top: calc(184 * 100vw / 750);
        background: #E7C17B59;
    }
}

/* yusyu ---------------------------------------- */

#yusyu {
    background: #C6C6C640;
}

/* aisatsujo ---------------------------------------- */

#aisatsujo {
    background: #EAA98359;
}

/* kasaku ---------------------------------------- */

#kasaku {
    background: #FDEEC7;
}

/* メダルの位置 ---------------------------------------- */

.jyusho_medal_position {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.jyusho_medal_position .yusyu_medal {
    position: absolute;
    top: -6.4%;
}

.jyusho_medal_position .aisatsujo_medal {
    position: absolute;
    top: -11.2%;
}

.jyusho_medal_position .kasaku_medal {
    position: absolute;
    top: -0.43%;
}

@media screen and (max-width: 750px) {
    .jyusho_medal_position .yusyu_medal {
        top: -2.21%;
        z-index: 1;
    }
    .jyusho_medal_position .aisatsujo_medal {
        top: -4.24%;
        z-index: 1;
    }
    .jyusho_medal_position .kasaku_medal {
        top: -0.135%;
        z-index: 1;
    }
}


/* 作品一覧 ---------------------------------------- */
@media screen and (min-width: 751px) {
    .hagaki_block {
        position: relative;
        padding-bottom: min(calc(350* 100vw / 1200), 350px);
    }
    .hagaki_block > div:last-child{
        display: flex;
        flex-direction: row-reverse;
        align-items: flex-end;
        position: absolute;
        height: min(calc(360* 100vw / 1200), 360px);
        justify-content: space-between;
        margin: 0 min(calc(160* 100vw / 1200), 160px) 0 min(calc(80* 100vw / 1200), 80px);
    }
    .hagaki_block_y {
        position: relative;
        padding-bottom: min(calc(500* 100vw / 1200), 500px);
    }
    .hagaki_block_y > div:last-child{
        display: flex;
        flex-direction: row-reverse;
        position: absolute;
        height: min(calc(360* 100vw / 1200), 360px);
        justify-content: space-between;
        margin: 0 min(calc(160* 100vw / 1200), 160px) 0 min(calc(80* 100vw / 1200), 80px);
    }
    .hagaki_block_y .box_txt, .box_sakuhin_c_y_last .box_txt{ 
        margin-top: min(calc(40* 100vw / 1200), 40px);
    }
    .box_sakuhin_c .box_txt::before{
        content: '';
        position: absolute;
        top: 74%;
        left: -9%;
        transform: translateY(-50%);
        border-top: min(calc(48 * 100vw / 1200), 48px) solid transparent;
        border-bottom: 0px solid transparent;
        border-right: min(calc(46 * 100vw / 1200), 46px) solid #FFFFFF;
        border-radius: 10%;
    }
    .hagaki_block > div:last-child .box_txt::before{
        content: '';
        position: absolute;
        top: 19%;
        left: 99%;
        transform: translateY(-50%);
        border-top: 0 solid transparent;
        border-bottom: min(calc(48* 100vw / 1200), 48px) solid transparent;
        border-right: 0;
        border-left: min(calc(46* 100vw / 1200), 46px) solid #FFFFFF;
        border-radius: 10%;
    }
    .hagaki_block_y > div:last-child .box_txt::before{
        content: '';
        position: absolute;
        top: 74%;
        left: 99%;
        transform: translateY(-50%);
        border-top: min(calc(48* 100vw / 1200), 48px) solid transparent;
        border-bottom: 0;
        border-right: 0;
        border-left: min(calc(46* 100vw / 1200), 46px) solid #FFFFFF;
        border-radius: 10%;
    }
}
.box_sakuhin_c {
    padding: min(calc(16 * 100vw / 1200), 16px) 0 min(calc(72 * 100vw / 1200), 72px);
    display: inline-block;
    position: relative;
}
.box_sakuhin_c_last {
    padding: min(calc(16 * 100vw / 1200), 16px) 0 min(calc(189 * 100vw / 1200), 189px);
}
.box_sakuhin_c_t {
    width: min(calc(955 * 100vw / 1200), 955px);
    margin: 0 min(calc(80 * 100vw / 1200), 80px) 0 min(calc(160 * 100vw / 1200), 160px);
}
.box_sakuhin_c_y {
    width: min(calc(1039 * 100vw / 1200), 1039px);
    margin: 0 min(calc(80 * 100vw / 1200), 80px);
}
.hagaki_block_y .box_sakuhin_c_y {
    width: min(calc(1039 * 100vw / 1200), 1039px);
    margin: 0 min(calc(80 * 100vw / 1200), 80px);
    padding: min(calc(16* 100vw / 1200), 16px) 0 min(calc(30* 100vw / 1200), 30px);
}
.box_sakuhin_c_y_last {
    padding: min(calc(16 * 100vw / 1200), 16px) 0 min(calc(140 * 100vw / 1200), 140px);
}

.box_hagaki {
    float: left;
}
.design {
    text-align: center;
    margin-bottom: min(calc(32 * 100vw / 1200), 32px);
}
.design_t img {
    height: min(calc(518 * 100vw / 1200), 518px);
    width: auto;
    box-shadow: 8px 8px 24px 0px #00000029;
}
.design_y img {
    height: min(calc(350 * 100vw / 1200), 350px);
    width: auto;
    box-shadow: 8px 8px 24px 0px #00000029;
}
/* 詳細棒ボタン */
.box_sakuhin_c .btn_detail {
    width: min(calc(260 * 100vw / 1200), 260px);
    margin: 0 auto 0;
    text-align: center;
}

.btn_detail a {
    display: flex;
    justify-content: center;
    font-weight: bold;
    line-height: 0.8;
    border-radius: min(calc(8 * 100vw / 1200), 8px);
    color: #FFFFFF;
    text-decoration: none;
    font-size: min(calc(24 * 100vw / 1200), 24px);
    background-color: #EE9B28;
    letter-spacing: 0.05em;
    padding: min(calc(20 * 100vw / 1200), 20px) 0 min(calc(14 * 100vw / 1200), 14px);
    margin: 0 auto;
    box-sizing: border-box;
    transition: background 300ms ease-in-out;
    background-position: 100%;
    background-image: linear-gradient(135deg, #46B29C 50%, transparent 50%);
    background-size: 300%;
}
.btn_detail a:hover {
    background-position: 0;
}
.detail-btn-arrow {
    position: relative;
    width: min(calc(24 * 100vw / 1200), 24px);
    height: min(calc(24 * 100vw / 1200), 24px);
    border-radius: 50%;
    background: #fff;
    top: 0;
    right: min(calc(-3 * 100vw / 1200), -3px);
}
.detail-btn-arrow::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 35%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-top: min(calc(5.5 * 100vw / 1200), 5.5px) solid transparent;
    border-bottom: min(calc(5.5 * 100vw / 1200), 5.5px) solid transparent;
    border-left: min(calc(9 * 100vw / 1200), 9px) solid #EE9B28;
    border-right: 0;
    transition-delay: 0.15s;
}
.btn_detail a:hover span.detail-btn-arrow::after {
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    -moz-opacity: 0.7;
    border-top: min(calc(5.5 * 100vw / 1200), 5.5px) solid transparent;
    border-bottom: min(calc(5.5 * 100vw / 1200), 5.5px) solid transparent;
    border-left: min(calc(9 * 100vw / 1200), 9px) solid #46B29C;
    background-position: 0;
}

.sakuhin_pt{
    padding: min(calc(200* 100vw / 1200), 200px) 0 min(calc(72* 100vw / 1200), 72px);
}
.sakuhin_pt_last{
    padding: min(calc(180 * 100vw / 1200), 180px) 0 min(calc(160 * 100vw / 1200), 160px);
}

/* .box_sakuhin_c:after {
    content: '';
    display: block;
    clear: both;
    height: 0;
} */

.box_sakuhin_c .box_txt {
    width: min(calc(457 * 100vw / 1200), 457px);
    height: fit-content;
    float: right;
    text-align: left;
    background: #FFFFFF;
    border-radius: min(calc(12 * 100vw / 1200), 12px);
    padding: min(calc(32 * 100vw / 1200), 32px);
    position: relative;
}
.box_txt p{
    font-family: Noto Sans JP;
    letter-spacing: initial;
}
.box_title_name{
    display: flex;
    flex-direction: column;
    padding-bottom: min(calc(11 * 100vw / 1200), 12px);
    border-bottom: 1px dotted #BABABA;
}
.title_name{
    display: flex;
    margin-bottom: min(calc(9 * 100vw / 1200), 11px);
}
.btn{
    background: #E34491;
    width: min(calc(112 * 100vw / 1200), 112px);
    height: min(calc(28 * 100vw / 1200), 28px);
    text-align: center;
    border-radius: min(calc(4 * 100vw / 1200), 4px);
    color: #FFFFFF;
    font-size: min(calc(16 * 100vw / 1200), 16px);
    margin-right: min(calc(12 * 100vw / 1200), 12px);
}
.sakuhin_name{
    font-size: min(calc(20 * 100vw / 1200), 20px);
    line-height: 1.5;
    font-weight: bold;
}
.name_sub {
    font-size: min(calc(18 * 100vw / 1200), 18px);
    font-weight: normal;
}
.box_sakuhin_c .cmt {
    padding: 0 0 0;
    font-size: min(calc(16 * 100vw / 1200), 16px);
    margin-bottom: 0;
    line-height: 1.7;
}
.cmt_cap {
    font-weight: bold;
    font-size: min(calc(18 * 100vw / 1200), 18px);
    color: #E34491;
    padding: min(calc(12 * 100vw / 1200), 12px) 0 min(calc(6 * 100vw / 1200), 6px);
}
.u_border_bottom {
    border-bottom: 1px dotted #BABABA;
    padding-bottom :min(calc(18 * 100vw / 1200), 18px);
}

@media screen and (max-width: 750px) {
    .hagaki_block {
        width: 100%;
        padding: 0;
    }
    .hagaki_block > div:last-child {
        margin: 0;
    }
    .box_sakuhin_c {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        position: unset !important;
    }
    .box_sakuhin_c_last {
        padding: 0 0 calc(177 * 100vw / 750);
    }
    .box_sakuhin_c_t {
        width: calc(750 * 100vw / 750);
        margin: 0;
    }
    .box_sakuhin_c_y {
        width: calc(750 * 100vw / 750);
        margin: 0;
    }
    .sakuhin_top_sp{
        margin: calc(-25 * 100vw / 750) 0 0;
    }
    .design {
        margin-bottom: calc(48 * 100vw / 750);
    }
    .design_t img {
        height: calc(592 * 100vw / 750);
        width: auto;
        box-shadow: 8px 8px 32px 0px #00000029;
    }
    .design_y img {
        height: calc(400 * 100vw / 750);
        width: auto;
        box-shadow: 8px 8px 32px 0px #00000029;
    }
    .box_sakuhin_c .btn_detail {
        width: calc(400 * 100vw / 750);
        margin-bottom: calc(56 * 100vw / 750);
    }
    .btn_detail a {
        border-radius: calc(16 * 100vw / 750);
        font-size: calc(36 * 100vw / 750);
        padding: calc(32 * 100vw / 750) 0 calc(26 * 100vw / 750);
        background-color: #56886B;
    }
    .btn_detail a:hover {
        /* background-color: #BE3824; */
    }
    .detail-btn-arrow {
        width: calc(36 * 100vw / 750);
        height: calc(36 * 100vw / 750);
        right: calc(-4 * 100vw / 750);
    }
    .detail-btn-arrow::after {
        border-top: calc(8.5 * 100vw / 750) solid transparent;
        border-bottom: calc(8.5 * 100vw / 750) solid transparent;
        border-left: calc(13.5 * 100vw / 750) solid #56886B;
    }
    .btn_detail a:hover span.detail-btn-arrow::after {
        border-top: calc(8.5 * 100vw / 750) solid transparent;
        border-bottom: calc(8.5 * 100vw / 750) solid transparent;
        border-left: calc(13.5 * 100vw / 750) solid #56886B;
    }
    .box_sakuhin_c .box_txt {
        width: calc(702 * 100vw / 750);
        border-radius: calc(24 * 100vw / 750);
        padding: calc(40 * 100vw / 750);
        margin: 0 auto;
    }
    .box_title_name{
        padding-bottom: calc(44 * 100vw / 750);
        border-bottom: 2px dotted #BABABA;
    }
    .title_name{
        margin-bottom: calc(17 * 100vw / 750);
    }

    .btn{
        background: #E34491;
        width: calc(212 * 100vw / 750);
        height: calc(48 * 100vw / 750);
        border-radius: calc(8 * 100vw / 750);
        font-size: calc(28 * 100vw / 750);
        margin-right: calc(18 * 100vw / 750);
    }
    .sakuhin_name{
        font-size: calc(34 * 100vw / 750);
        white-space: nowrap;
    }
    .name_sub {
        font-size: calc(28 * 100vw / 750);
        font-weight: normal;
    }
    .box_sakuhin_c .cmt {
        font-size: calc(28 * 100vw / 750);
    }
    .cmt_cap {
        font-size: calc(32 * 100vw / 750);
        color: #E34491;
        padding: calc(40 * 100vw / 750) 0 calc(24 * 100vw / 750);
    }
    .u_border_bottom {
        border-bottom: 2px dotted #BABABA;
        padding-bottom: calc(47 * 100vw / 750);
    }
}


/* histores ---------------------------------------- */

#histores {
    position: relative;
}
#history_box {
    background: #F0F2F5;
}
#history_box .box_boshu {
    padding: min(calc(136 * 100vw / 1200), 136px) 0 min(calc(140 * 100vw / 1200), 140px);
}
#history_box .box_boshu ul.boshu_ul{
    display: flex;
    justify-content: space-evenly;
}
#history_box .box_boshu ul.boshu_ul a{
    text-decoration: none;
}
#history_box a:hover {
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    -moz-opacity: 0.7;
    opacity: 0.7;
}
#history_box .box_boshu li.boshu_li{
    background: #FFFFFF;
    height: min(calc(314 * 100vw / 1200), 314px);
    width: min(calc(314 * 100vw / 1200), 314px);
}
#history_box .box_boshu img{
    width: 100%
}

@media screen and (max-width: 750px) {
    #histores {
        padding-top: calc(70 * 100vw / 750); /* gnavi調整*/
        margin-bottom: calc(-74 * 100vw / 750); /* gnavi調整*/
    }
    #history_box {
        margin-top: calc(70 * 100vw / 750); /* gnavi調整*/
        padding-bottom: calc(70 * 100vw / 750); /* gnavi調整*/
    }
    #history_box .box_boshu {
        padding: calc(180 * 100vw / 750) 0 0;
    }
    #history_box .box_boshu ul.boshu_ul{
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: space-evenly;
    }
    #history_box .box_boshu li.boshu_li{
        background: #FFFFFF;
        height: calc(702 * 100vw / 750);
        width: calc(702 * 100vw / 750);
        margin: 0 auto calc(96 * 100vw / 750);
    }
    #history_box .box_boshu img{
        width: 100%;
        height: auto;
    }
}



/* kokuchi ---------------------------------------- */

#kokuchi_2025 {
    position: relative;
}
#kokuchi_box .kokuchi_box{
    padding: min(calc(160 * 100vw / 1200), 160px) 0 min(calc(56 * 100vw / 1200), 56px);
}
#kokuchi_box p.kokuchi_text, #kokuchi_box p.recruiting_text {
    text-align: center;
    font-size: min(calc(24 * 100vw / 1200), 24px);
    line-height: 2;
    color: #E34491;
    font-weight: bold;
}
#kokuchi_box p.recruiting_text {
    margin-bottom: min(calc(10 * 100vw / 1200), 20px);
}
#kokuchi_box img {
    width:  min(calc(800 * 100vw / 1200), 800px);
    height: auto;
}
#kokuchi_box rt p{
    font-size: min(calc(10 * 100vw / 1200), 10px);
}

@media screen and (max-width: 750px) {
    #kokuchi_2025 {
        padding-top: calc(170 * 100vw / 750);
    }
    #kokuchi_box .kokuchi_box {
        padding: calc(90 * 100vw / 750) 0 calc(72 * 100vw / 750);
        margin: 0 calc(28 * 100vw / 750);
    }
    #kokuchi_box p.kokuchi_text, #kokuchi_box p.recruiting_text {
        font-size: calc(34 * 100vw / 750);
        line-height: calc(47 * 100vw / 750);
    }
    #kokuchi_box p.recruiting_text {
        margin-bottom: calc(10 * 100vw / 750);
    }
    #kokuchi_box img {
        width: calc(702 * 100vw / 750);
        height: auto;
    }
}
/* info ---------------------------------------- */
#info {
    margin: 0 min(calc(100 * 100vw / 1200), 100px) min(calc(120 * 100vw / 1200), 120px);
}
#info .info_box{
    text-align: justify;
    display: flex;
}

#info .info_mb{
    margin-bottom: min(calc(45 * 100vw / 1200), 45px);
}

#info .box_title p{
    width: min(calc(128 * 100vw / 1200), 128px);
    color: #E34491;
    font-size: min(calc(19 * 100vw / 1200), 19px);
    -moz-text-align-last: justify;
    text-align-last: justify;
    line-height: min(calc(25 * 100vw / 1200), 25px);
}
#info p.ditail_mt{
    margin-top:  min(calc(17 * 100vw / 1200), 17px);
}
#info .box_ditail{
    margin-left: min(calc(32 * 100vw / 1200), 32px);
    display: flex;
    flex-direction: column;
}
#info .box_ditail img{
    width: min(calc(246 * 100vw / 1200), 246px);
    height: auto;
}
#info .box_ditail p{
    font-size: min(calc(14 * 100vw / 1200), 14px);
    letter-spacing: 0.12px;
    text-align: initial;
}

@media screen and (max-width: 750px) {
    #info {
        margin: 0 calc(48 * 100vw / 750) calc(120 * 100vw / 750);
    }
    #info .info_box{
        text-align: justify;
        display: flex;
        flex-direction: column;
    }
    #info .info_mb{
        margin-bottom: calc(66 * 100vw / 750);
    }

    #info .box_title p{
        width: auto;
        font-size: calc(40 * 100vw / 750);
        line-height: calc(25 * 100vw / 750);
        margin-bottom: calc(35 * 100vw / 750);
        text-align-last: inherit;
    }
    #info p.ditail_mt{
        margin-top: calc(24 * 100vw / 750);
    }
    #info .box_ditail{
        margin-left: 0;
    }
    #info .box_ditail img{
        width: calc(294 * 100vw / 750);
        height: auto;
    }
    #info .box_ditail p{
        font-size: calc(28 * 100vw / 750);
    }
}


/* kikaku ---------------------------------------- */
#kikaku {
    width: min(calc(688 * 100vw / 1200), 688px);
    margin: 0 auto min(calc(120 * 100vw / 1200), 120px);
}
#kikaku .kikaku_title{
    margin-bottom: min(calc(45 * 100vw / 1200), 45px);
}
#kikaku .kikaku_title p{
    font-size: min(calc(32 * 100vw / 1200), 32px);
    font-weight: bold;
}
#kikaku .kikaku_bnr{
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    justify-content: space-between;
    /* height: min(calc(360 * 100vw / 1200), 360px); */
    gap: min(calc(16 * 100vw / 1200), 16px);
}
#kikaku img{
    width: min(calc(336 * 100vw / 1200), 336px);
    height: auto;
}

#kikaku a:hover {
    display: block;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    -moz-opacity: 0.7;
    opacity: 0.7;
}
@media screen and (max-width: 750px) {
    #kikaku {
        width: calc(686 * 100vw / 750);
        margin: 0 auto  calc(120 * 100vw / 750);
    }
    #kikaku .kikaku_title{
        margin-bottom:  calc(64 * 100vw / 750);
    }
    #kikaku .kikaku_title p{
        font-size:  calc(40 * 100vw / 750);
    }
    #kikaku .kikaku_bnr{
        /* height: calc(440 * 100vw / 750); */
        gap: calc(16 * 100vw / 750);
    }
    #kikaku img{
        width: calc(327 * 100vw / 750);
    }
}

/* アイス棒ボタン ---------------------------------------- */

.feature_bottom-btn a {
    background-color: #D70C18 !important;
}
.feature_btn-arrow::after {
    border-left: calc(16* 100vw / 750) solid #D70C18 !important;
}

@media screen and (min-width: 751px) {
    .feature_btn-arrow::after {
        border-left: min(calc(12* 100vw / 1200), 12px) solid #D70C18 !important;
    }
}

/* design_intro ---------------------------------------- */

#design_intro {
    margin: min(calc(160 * 100vw / 1200), 160px) auto;
}
#design_intro .design_intro_title{
    margin: 0 auto min(calc(48 * 100vw / 1200), 48px);
}
#design_intro .design_intro_title p{
    text-align: center;
    font-size: min(calc(32 * 100vw / 1200), 32px);
    font-weight: bold;
}

@media screen and (max-width: 750px) {
    #design_intro {
        margin: calc(160 * 100vw / 750) auto;
    }
    #design_intro .design_intro_title{
        margin: 0 auto calc(64 * 100vw / 750);
    }
    #design_intro .design_intro_title p{
        font-size: calc(40 * 100vw / 750);
    }
}

/* リンク一覧 ---------------------------------------- */

#btm_link {
    font-size: min(calc(12 * 100vw / 1200), 12px);
    line-height: 1.6;
    text-align: center;
    margin: 0 auto min(calc(160 * 100vw / 1200), 160px);
    font-family: Noto Sans JP;
}
#btm_link a {
    text-decoration: underline;
}

#btm_link dd {
    margin-bottom: min(calc(32 * 100vw / 1200), 32px);
}
#btm_link .link_box {
    text-align: left;
    display: inline-block;
}
@media screen and (max-width: 750px) {
    #btm_link {
        font-size: calc(28 * 100vw / 750);
        margin: 0 calc(48 * 100vw / 750) calc(160 * 100vw / 750);
    }
    #btm_link dd {
        margin-bottom: calc(48 * 100vw / 750);
    }
}

/* footer ---------------------------------------- */
#footer {
    margin: 0 auto;
    clear: both;
    color: #ffffff;
    background: #E34491;
    font-family: Noto Sans JP;
}

#cr {
    padding:  min(calc(20 * 100vw / 1200), 20px) 0;
    font-size: min(calc(14 * 100vw / 1200), 14px);
    text-align: center;
}
#cr span{
    font-size: min(calc(10 * 100vw / 1200), 10px);
}
#cr a {
    color: #ffffff;
}
#cr a:hover {
    color: #ffff9b;
}
.deco_no {
    text-decoration: none;
}
@media screen and (max-width: 750px) {
    #cr {
        padding: calc(17 * 100vw / 750);
        font-size: calc(24 * 100vw / 750);
        text-align: center;
    }
    #cr span{
        font-size: calc(24 * 100vw / 750);
    }
}