@charset "utf-8";
/*------------------------------------------------------------------------------------------
*
*
    index_sp.css
*
*
------------------------------------------------------------------------------------------ */
/*------------------------------------------------------------------------------------------
*
*
    max-width: 640px
*
*
------------------------------------------------------------------------------------------ */
@media screen and (max-width: 640px) {

#contents_area{
    margin: 0 auto;
    overflow: hidden;
}


.logo_hobo{
    padding: 8px 0;
    text-align: center;
    background-color: #000;
}

.logo_hobo img{
    width: 120px;
}

/* --------------------------------------------------
*
    #mv
*
-------------------------------------------------- */
#mv{
    padding: 30px 0 0 0;
    text-align: center;
}

#mv h1{
    margin: 0 auto 25px auto;
    position: relative;
}

#mv h1 img{
    max-width: 360px;
    width: 83%;
}

#mv .sec_yodogawa{
    margin: 0 0 20px 0;
    padding: 0 8%;
}

#mv .sec_yodogawa p{
    font-size: 15px;
    font-weight: bold;
    text-align: left;
    line-height: 1.875em;
}

#mv .sec_yodogawa p a{
    padding: 0 0 3px 0;
    border-bottom: 1px solid #231815;
    transition: border .1s ease 0s;
}

.is_pc #mv .sec_yodogawa p a:hover,
.is_sp #mv .sec_yodogawa p a.touch{
    border-bottom: 1px solid transparent;
    transition: border .15s ease .05s;
}

.banner_gakkou{
    padding: 0 15px;
    margin: 10px 0 30px 0;
    text-align: center;
}

.banner_gakkou img{
    width: 100%;
    max-width: 320px;
}

/* --------------------------------------------------
*
    #section_profile
*
-------------------------------------------------- */
#section_profile{
    text-align: center;
    overflow: hidden;
}

#section_profile .btn_profile{
    margin: 0 0 55px 0;
    height: 56px;
    display: inline-block;
}

#section_profile .btn_profile img{
    width: 260px;
    opacity: 0;
}

#section_profile .btn_profile{
    display: inline-block;
    border-radius: 8px;
    background-image:url(../images/parts_bg_y.png);
    position: relative;
    cursor: pointer;
    transition: transform .1s ease .0s, opacity .1s ease .0s;
}

.is_pc #section_profile .btn_profile:hover,
.is_sp #section_profile .btn_profile.touch{
    opacity: .8;
    transition: transform .15s ease .05s, opacity .15s ease .05s;
}

#section_profile .btn_profile:before{
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    background-image:url(../images/parts_arrow_btm.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px;
    position: absolute;
    top: 16px;
    left: 12px;
    transition: transform .1s ease .0s, opacity .1s ease .0s;
}

.is_pc #section_profile .btn_profile:hover:before,
.is_sp #section_profile .btn_profile.touch:before{
    transform: rotate(-90deg);
    transition: transform .15s ease .05s, opacity .15s ease .05s;
    -webkit-transform: rotate(-90deg);
	-webkit-transition: transform .15s ease .05s, opacity .15s ease .05s;
}

#section_profile .btn_profile.on:before{
    transform: rotate(-180deg) !important;
    transition: transform .15s ease 0, opacity .15s ease 0;
    -webkit-transform: rotate(-180deg) !important;
	-webkit-transition: transform .15s ease 0, opacity .15s ease 0;
}

#section_profile .btn_profile:after{
    content: '';
    display: block;
    width: 181px;
    height: 100%;
    background-image:url(../images/txt_profile_kono.png);
    background-repeat: no-repeat;
    background-size: 181px;
    background-position: center;
    position: absolute;
    top: 0;
    right: 27px;
}

#section_profile .profile_inner{
    height: 0;
    margin: -25px 0 0 0;
    padding: 0 10%;
    box-sizing: border-box;
    text-align: left;
    overflow: hidden;
    transition: height .45s ease, margin .45s ease !important;
}

#section_profile .profile_inner.on{
    margin-bottom: 40px;
    transition: height .45s ease, margin .45s ease !important;
}

#section_profile .profile_inner h3{
    margin: 0 0 15px 0;
    font-size: 20px;
    font-family: 'ヒラギノ角ゴ W6 JIS2004' !important;
}

#section_profile .profile_inner h3 .s{
    font-size: 15px;
    line-height: 1.8em;
}

#section_profile .profile_inner p{
    font-size: 15px;
    line-height: 1.875em;
}

#section_profile .content_list{
    padding: 30px 0 0 0;
    font-size: 15px;
    line-height: 1.875em;
}

#section_profile .content_list h4{
    font-family: 'ヒラギノ角ゴ W6 JIS2004' !important;
}

#section_profile .content_list ul{ margin: 0 0 30px 0;}
#section_profile .content_list ul:last-child{ margin: 0;}

#section_profile .content_list li{
    margin: 0 0 10px 0;
    text-indent: -1em;
    padding-left: 1em;
    font-size: 13px;
}

#section_profile .content_list li:last-child{
    margin: 0;
}

#section_profile .content_list a{
    padding: 0 0 3px 0;
    border-bottom: 1px solid #231815;
    transition: border .1s ease .0s;
    position: relative;
}

.is_pc #section_profile .content_list a:hover,
.is_sp #section_profile .content_list a.touch{
    border-bottom: 1px solid transparent;
    transition: border .15s ease .05s;
}


/* --------------------------------------------------
*
    #sec_body_wrap
*
-------------------------------------------------- */
#sec_index_wrap,
#sec_body_wrap{
    margin: 10px 3% 45px 3%;
    background-color: #07592e;
    position: relative;
}

#sec_index_wrap:before,
#sec_index_wrap:after,
#sec_body_wrap:before,
#sec_body_wrap:after{
    content: '';
    width: 100%;
    height: 10px;
    display: block;
    background-repeat: no-repeat;
    background-image:url(../images/parts_board_top.jpg);
    background-size: cover;
    background-position: center;
    position: absolute;
    top: -10px;
    left: 0;
}

#sec_index_wrap:after,
#sec_body_wrap:after{
    top: auto;
    bottom: -10px;
}

#foreword{
    margin: 0 0 30px 0;
    padding: 25px 0 0 0;
    color: #fff;
    text-align: center;
}

#foreword h2{
    width: 90%;
    margin: 0 0 30px 0;
    padding: 0 5px;
    box-sizing: border-box;
    font-family: 'UD新ゴ M' !important;
    font-size: 23px;
    letter-spacing: .05em;
    text-align: center;
    display: inline-block;
    position: relative;
}

#foreword h2:after{
    clear: both;
    content: '';
    width: 100%;
    height: 14px;
    display: block;
    background-image:url(../images/parts_line.png);
    background-position: center;
    background-size: cover;
    position: absolute;
    bottom: -16px;
    left: 0;
}

#foreword h2 span{
    margin: 10px 0 5px 0;
    font-size: 15px;
    display: block;
}

#foreword h3{
    margin: 20px 0 30px 0;
    font-family: 'A1明朝', serif !important;
    font-size: 130%;
    text-align: center;
}

#foreword .desc{
    padding: 0 10%;
    font-family: 'A1明朝', serif !important;
    text-align: left;
    font-size: 15px;
    line-height: 1.875em;
}

#foreword.newyear .pic{
    text-align: center;
}

#foreword.newyear .pic img{
    width: 100%;
}

#foreword .desc p{
    margin: 0 0 20px 0;
}

#foreword .desc p.s{
    font-size: 13px;
}

#foreword .desc p.quote{
    width: calc(100% + 40px) !important;
    padding: 15px 10px;
    margin-top: -25px !important;
    left: -20px !important;
    box-sizing: border-box;
    display: inline-block;
    background-color: rgba(0, 0, 0, .15) !important;
}

#foreword .desc p .face{
    width: 44px;
    height: 47px;
    padding: 2px 5px 5px 5px;
    margin: 5px 5px 0 5px;
    background-color: #fff;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    bottom: -3px;
}

#foreword .desc p img{
    width: 46px;
    text-align: center;
    display: block;
    position: relative;
    left: -2px;
}

#foreword .desc .photo img{
    width: 100%;
    position: relative;
}

#foreword .desc .photo.v{
    padding: 0;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    left: 0;
}
#foreword .desc .photo.v img{
    max-width: 330px;
    margin: 0 auto;
    display: block;
    left: 0;
}

.photo.v.col2 img {
  max-width: calc((100% - 10px) / 2);
  width: auto;
  display: inline;
  margin: 5px auto;
  vertical-align: middle;
}
.photo.v.col3 img {
  max-width: calc((100% - 10px) / 3);
  width: auto;
  display: inline;
  margin: 5px auto;
  vertical-align: middle;
}

#foreword .desc .photo.v_s img{
    max-width: 250px;
    margin: 0 auto;
    display: block !important;
    left: 0;
}
#foreword .desc .photo.v_s img + img{
    margin: 25px auto 0 !important;
}

#foreword .desc p a{
    padding: 0 0 2px 0;
    color: #fcf988;
    border-bottom: 1px solid #fcf988;
    transition: border .1s ease 0s;
}

.is_pc #foreword .desc p a:hover,
.is_sp #foreword .desc p a.touch{
    border-bottom: 1px solid transparent;
    transition: border .15s ease .05s;
}

#foreword .desc.box p{
    width: 100%;
    text-justfy: inter-ideograph;
    text-align: justify;
    line-break: strict;
}

#foreword .desc .bg{
    margin: 30px 0 30px 0;
    padding: 15px;
    border: 1px dashed #fff;
    background-color: rgba(0, 0, 0, .2);
    font-size: 13px;
}

#foreword .desc .bg p{
    width: 100%;
    margin: 0;
}

#foreword p.ti{
    width: calc(100% - 2em) !important;
    position: relative;
    left: 1em;
}

.indent_box{
    margin: 0 0 25px 0;
}

.indent_box p{
    width: calc(100% - 2em) !important;
    margin: 0 0 0 1em !important;
    text-indent: -1em !important;
    padding-left: 1em !important;
    box-sizing: border-box;
}

#foreword .desc .box_w{
    width: calc(100% + 20px);
    margin: 30px 0 30px -20px;
    padding: 15px 10px;
    background-color: #fff;;
}

#foreword .desc .box_w p{
    width: 100%;
    font-size: 13px;
    color: #07592e;
    margin: 0;
}

#foreword .desc .box_w p .s{
    margin: 10px 0 0 0;
    text-indent: -.5em;;
    display: block;
    font-size: 85%;
    line-height: 1.8em;
}


#foreword .talk{
    overflow: hidden;
    margin: 40px 0 15px 0;
}

#foreword .talk dl{
    position: relative;
    box-sizing: border-box;
}

#foreword .talk dl:after{
    content: '';
    display: block;
    clear: both;
}

#foreword .talk dt{
    clear: both;
}

#foreword .talk dd{
    padding: 0 10px;
    margin: 0 0 20px 0;
}

#foreword .talk.conv dl{
    padding: 0 1em;
    box-sizing: border-box;
}

#foreword .talk.conv a{
    padding: 0 0 2px 0;
    color: #fcf988;
    border-bottom: 1px solid #fcf988;
    transition: border .1s ease 0s;
}

.is_pc #foreword .talk.conv a:hover,
.is_sp #foreword .talk.conv a.touch{
    border-bottom: 1px solid transparent;
    transition: border .15s ease .05s;
}


#greeting{
    width: 94%;
    margin: 0 auto;
    padding: 35px 0 0 0;
    box-sizing: border-box;
    background-color: #fff;
    position: relative;
}

#greeting .section_inner{
    padding: 0 0 20px 0;
    position: relative;
}

#greeting h3{
    margin: 0 0 20px 0;
    padding: 0 5%;
    font-family: '光朝', serif !important;
    font-size: 16px;
    color: #ec5a0c;
    white-space: nowrap;
}

#greeting .desc{
    padding: 0 5%;
    font-size: 14px;
    line-height: 1.875em;
    overflow: hidden;
}

#greeting:before,
#greeting:after,
#greeting .section_inner:before,
#greeting .section_inner:after{
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 8px;
    background-color: #ec5a0c;
    position: absolute;
}

#greeting:before{ top: 6px; left: 6px;}
#greeting:after{ top: 6px; right: 6px;}
#greeting .section_inner:before{ bottom: 6px; left: 6px;}
#greeting .section_inner:after{ bottom: 6px; right: 6px;}

#greeting .name{
    padding: 10px 0 0 0;
    float: right;
}

#greeting .name:after{
    content: '';
    font-size: 0;
    display: block;
    clear: both;
}

#afterword{
    margin: 0 0 35px 0;
    padding: 25px 10% 0 10%;
    color: #fff;
    text-align: center;
}

#afterword p{
    margin: 0 0 20px 0;
    font-family: 'A1明朝', serif !important;
    font-size: 14px;
    line-height: 1.875em;
    color: #fff;
    text-align: left;
}

#afterword .sign{
    padding: 0 0 20px 0;
    margin: 0 -10px 0 0;
}

#afterword .sign p{
    margin: 0;
    text-align: right;
}

#afterword .sign .date{
    margin: 0px 0 5px 0;
    font-size: 13px;
}

#afterword .sign img{
    width: 100px;
}

#btm_date{
    margin: 0 0 30px 0;
    padding: 0 10%;
    color: #fff;
    text-align: right;
}

#btm_date p{
    margin: 0 0 5px 0;
    font-size: 13px;
    line-height: 2.3em;
    color: #fff;
    text-align: right;
}

#btm_date .sign p{
    margin: 0;
    text-align: right;
}

#btm_date .sign .date{
    margin: -15px 0 5px 0;
}

#btm_date .sign img{
    width: 100px;
}

#ps{
    font-family: 'A1明朝', serif !important;
    padding: 0 10%;
    margin: -10px 0 30px 0;
}

#ps p{
    color: #fff;
    line-height: 2em;
    text-justfy: inter-ideograph;
    text-align: justify;
    line-break: strict;
    word-break: break-word;
}

#ps p a{
    padding: 0 0 2px 0;
    color: #fcf988;
    border-bottom: 1px solid #fcf988;
    transition: border .1s ease 0s;
}

#ps .photo img{
    width: 100%;
    position: relative;
}

.is_pc #ps p a:hover,
.is_sp #ps p a.touch{
    border-bottom: 1px solid transparent;
    transition: border .15s ease .05s;
}

#ps .s{
    font-size: 85%;
}

/* --------------------------------------------------
*
    .talk_nav
*
-------------------------------------------------- */
.talk_nav{
    width: 90%;
    box-sizing: border-box;
    margin: 0 auto 40px auto;
    padding: 15px 0;
    position: relative;
}

.talk_nav:before,
.talk_nav:after{
    clear: both;
    content: '';
    width: 100%;
    height: 14px;
    display: block;
    background-image:url(../images/parts_line.png);
    background-position: center;
    background-size: cover;
    position: absolute;
    left: 0;
}

.talk_nav:before{ top: -14px;}
.talk_nav:after{ bottom: -14px;}

.talk_nav ul{
    text-align: center;
}

.talk_nav li{
    display: inline-block;
}

.talk_nav li.prev{
    position: absolute;
    top: 14px;
    left: 0;
}

.talk_nav li.next{
    position: absolute;
    top: 14px;
    right: 0;
}

.talk_nav li img{
    width: auto;
    height: 19px;
    transform: translate3d(0, 0, 0);
}

/* --------------------------------------------------
*
    .index_nav
*
-------------------------------------------------- */
.index_nav{
    color: #fff;
    text-align: center;
    overflow: hidden;
}

.index_nav a{
    color: #fff;
}

.index_nav h4{
    margin: 30px 0 30px 0;
    font-size: 18px;
    font-family: 'UD新ゴ M' !important;
    color: #fcf988;
    white-space: nowrap;
}

.index_nav li{
    margin: 0 0 40px 0;
}

.index_nav dl{
    display: inline-block;
    text-align: left;
}

.index_nav dl dt{
    margin: 0 0 8px 0;
    font-family: 'UD新ゴ M' !important;
    clear: both;
    font-size: 14px;
    text-align: center;
}

.index_nav dl dd{
    font-family: 'A1明朝', serif !important;
    float: left;
    font-size: 16px;
}

.index_nav dl dd .a{
    padding: 0 0 3px 0;
    text-indent: -.5em;
    display: block;
    border-bottom: 1px solid #fff;
    transition: border .1s ease .0s, color .1s ease .0s;
}

.is_pc .index_nav a:hover dd .a,
.is_sp .index_nav a.touch dd .a{
    color: #fcf988;
    border-bottom: 1px solid #fcf988;
    transition: border .15s ease .05s, color .15s ease .05s;
}

.index_nav dl dd .date{
    margin: 10px 0 0 0;
    color: #f9f68c;
    font-size: 12px;
    display: block;
    text-align: center;
}


/* --------------------------------------------------
*
    #mail_magazine
*
-------------------------------------------------- */
#mail_magazine{
    padding: 0px 5% 0 5%;
    margin: 0 0 5px 0;
    overflow: hidden;
}

#mail_magazine p{
    margin: 0 5% 20px 5%;
    font-family: 'ヒラギノUD角ゴ W3 JIS2004' !important;
    font-size: 14px;
    line-height: 1.875em;
}

#mail_magazine .sec_form{
    width: 100%;
    margin: 30px 0 40px 0;
    padding: 20px 4% 15px 4%;
    border-radius: 10px;
    box-sizing: border-box;
    background-image:url(../images/parts_bg_y.png);
    overflow: hidden;
}

#mail_magazine .sec_form li{ clear: both; margin: 0 0 30px 0;}
#mail_magazine .sec_form li:last-child{ margin: 0;}


#mail_magazine .sec_form h5{
    margin: 0 0 10px 0;
    font-family: 'UD新ゴ M' !important;
    font-size: 15px;
}

#mail_magazine .sec_form .notes{
    margin: 4px 0 0 0;
    font-size: 12px;
    white-space: nowrap;
}

#mail_magazine .sec_form input{
    width: 75%;
    height: 30px;
    padding: 0 5px;
    font-size: 14px;
    box-sizing: border-box;
    border: 1px solid #9b9b9b;
    background-color: #fff;
    transition: border .1s ease;
}

#mail_magazine .sec_form input:hover,
#mail_magazine .sec_form input:focus{
    border: 1px solid #333;
}

#mail_magazine button{
    width: 20%;
    height: 30px;
    float: right;
    margin: 0 0 0 10px;
    padding: 0 5px;
    box-sizing: border-box;
    font-size: 14px;
    border-radius: 5px;
    color: #fff;
    border: none;
    background-color: #ec5a0c;
    position: relative;
    top: 1px;
    cursor: pointer;
    transition: opacity .1s ease .0s;
}

.is_pc #mail_magazine button:hover,
.is_sp #mail_magazine button.touch{
    opacity: .7;
    transition: opacity .15s ease .05s;
}

#mail_magazine .unsubscribe button{
    background-color:#60a9bd;
}

#mail_magazine .mes_submit{
    margin: 20px 0 0 0;
    padding: 15px;
    border-radius: 5px;
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, .85);
    display: none;
}

#mail_magazine .mes_submit p{
    margin: 0;
    font-size: 13px;
}

#mail_magazine .btm_info li{
    margin: 0 0 25px 0;
}

#mail_magazine .btm_info h5{
    margin: 0 0 10px 0;
    font-family: 'A1明朝', serif !important;
    font-size: 16px;
    color: #ec5a0c;
}

#mail_magazine .btm_info p{
    margin: 0;
    font-size: 14px;
}

#mail_magazine .btm_info li a{
}

#mail_magazine .btm_info li a:hover{
    text-decoration: underline;
}

#mail_magazine .result_mes{
    margin: 0 0 20px 0;
    padding: 10px;
    border-radius: 5px;
    box-sizing: border-box;
    background-color: #07592e;
    opacity: 0;
    display: none;
}

#mail_magazine .result_mes p{
    font-size: 12px;
    color: #fff;
    margin: 0;
}


/* --------------------------------------------------
*
    #footer
*
-------------------------------------------------- */
#footer{
    padding: 25px 0 15px 0;
    clear: both;
    overflow: hidden;
    text-align: center;
    position: relative;
    color: #fff;
    background-color: #000;
}

#sns_share ul{
    max-width: 360px;
    padding: 0 10px;
    box-sizing: border-box;
    letter-spacing: -.40em;
    margin: 0 auto;
}

#sns_share li{
    width: 25%;
    margin: 0 0 35px 0;
    letter-spacing: normal;
    display: inline-block;
    vertical-align: top;
}

#sns_share li img{
    width: auto;
    height: 43px;
}

.balloon2-right {
  position: relative;
  right: 0px;
  display: inline-block;
  margin: 1em 10px 1em 0;
  padding: 14px 0 14px 20px;
  min-width: 120px;
  max-width: 100%;
  color: #FFF;
  font-size: 14px;
  background: transparent;
  border: solid 2px #FFF;
  box-sizing: border-box;
  border-radius: 62px;
  line-height: 1.4em;
  text-align:left;
}

.balloon2-right:before{
  content: "";
  position: absolute;
  top: 50%;
  right: -22px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-left: 14px solid #07592E;
  z-index: 2;
}

.balloon2-right:after{
  content: "";
  position: absolute;
  top: 50%;
  right: -22px;
  margin-top: -11px;
  border: 11px solid transparent;
  border-left: 11px solid #FFF;
  z-index: 1;
}

.balloon2-right p {
  margin: 0;
  padding: 0;
}

.master_comment {
  max-width:360px;
  margin:auto;
  text-align:center;
  background-image:url(/gakkou_ml/common/images/img_illust_master_white.png);
  background-position:right 20px top 0;
  background-repeat:no-repeat;
  background-size:100px auto;
}

.share li{
    margin: 0 12px 20px 12px;
    display: inline-block;
    vertical-align: top;
}

.share li img{
    width: auto;
    height: 50px;
}

#footer .copyright{
    clear: both;
}

#footer .copyright img{
    width: 180px;
}



} /* ----- min-width : 641px ----- */
