@charset "UTF-8";

#wrapper {
  position: relative;
  width: 100%;
  font-family: 'Noto Sans JP', sans-serif;
}

.clr01 {
	color: #d55d4a;
}

@media screen and (min-width: 768px) {

  #wrapper {
    min-width: 1150px;
  }

  #mv {
    position: relative;
    width: 100%;
    height: 480px;
  }

  #mv h2 {
    position: absolute;
    left: 6.4%;
    top: 250px;
  }

  #mv .photo {
    position: relative;
    float: right;
    width: 81.9%;
    height: 480px;
    background: url(../images/etc/faq_mv_bg.png) center center no-repeat;
    background-size: cover;
    border-radius: 0 0 0 20px;
  }

  #lnav {
    position: relative;
    width: 1110px;
    height: 91px;
    margin: 0 auto;
    transition: background 0.5s ease;
  }

  #lnav nav {
    display: block !important;
  }

  #lnav .lnavttl {
    display: none;
  }

  #lnav nav ul {
    z-index: 100;
    position: absolute;
    top: -23px;
    display: flex;
    width: 760px;
    padding: 54px 0 0 0;
    background: #fff;
    border-radius: 20px;
  }

  #lnav nav ul li {
    height: 14px;
    line-height: 1.0;
    padding: 0 30px;
    font-size: 14px;
    border-left: 1px solid #cecece;
  }

  #lnav nav ul li:first-child {
    padding-left: 0;
    border-left: none;
  }

  #lnav nav ul li a {
    color: #444444;
  }

  #lnav.is-animation {
    z-index: 110;
    position: fixed;
    top: 80px;
    background: #f5f5f5;
    width: 100%;
    height: 54px;
    transition: background 0.5s ease;
  }

  #lnav.is-animation nav ul {
    position: inherit;
    top: 0;
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 20px 0 0 0;
    background: none;
    border-radius: 0;
  }

  #lnav.is-animation nav ul li {
    height: 14px;
    line-height: 1.0;
    padding: 0 30px;
    font-size: 14px;
    border-left: 1px solid #cecece;
  }

  #lnav.is-animation nav ul li:first-child {
    padding-left: 30px;
    border-left: none;
  }

  #anc01 {
    margin-top: -150px;
    padding-top: 150px;
  }

  #anc02 {
    margin-top: -150px;
    padding-top: 150px;
  }

  #anc03 {
    margin-top: -150px;
    padding-top: 150px;
  }

  #anc04 {
    margin-top: -150px;
    padding-top: 150px;
  }

  #anc05 {
    margin-top: -150px;
    padding-top: 150px;
  }

}

@media screen and (max-width: 767px) {
  #cont07 .qa a {
    color: #ff6363;
  }

  #mv {
    position: relative;
  }

  #mv h2 {
		z-index: 4;
		position: absolute;
		left: 4%;
		top: 28vw;
		font-size: calc( 100vw * calc(60 / 750));
		font-weight: bold;
		letter-spacing: 0.06em;
	}

  #lnav {
    display: none;
  }

  #lnav.is-animation-sp {
    z-index: 110;
    display: block;
    position: fixed;
    top: 0;
    width: 100%;
    color: #444;
  }

  #lnav.is-animation-sp .lnavttl {
    position: relative;
    width: 100%;
    padding-bottom: 8.5%;
    margin-top: 12.5%;
    background: #f5f5f5;
  }

  #lnav.is-animation-sp .lnavttl .ttl {
    position: absolute;
    left: 4%;
    top: 0;
    margin-top: 2%;
    font-size: calc(100vw * calc(20 / 750));
    font-weight: bold;
  }

  #lnav.is-animation-sp .lnavttl .btn {
    position: absolute;
    right: 4%;
    top: 0;
    margin-top: 2.4%;
    width: 5.07%;
    padding-bottom: 3.73%;
    background: url(../images/common/sp/lnav_btn01.png) center top no-repeat;
    background-size: 100% auto;
  }

  #lnav.is-animation-sp .lnavttl.tasu .btn {
    position: absolute;
    right: 4%;
    top: 0;
    margin-top: 2.4%;
    width: 5.07%;
    padding-bottom: 3.73%;
    background: url(../images/common/sp/lnav_btn02.png) center top no-repeat;
    background-size: 100% auto;
  }

  #lnav nav {
    display: none;
    width: 100%;
    padding: 6.7% 4%;
    background: #dddddd;
  }

  #lnav nav ul {
  }

  #lnav nav ul li {
    margin-bottom: 5.3vw;
    padding-left: 4vw;
    font-size: calc(100vw * calc(20 / 750));
    background: url(../images/common/sp/arrow_4.png) left center no-repeat;
    background-size: 1.6vw auto;
  }

  #lnav nav ul li:last-child {
    margin-bottom: 0;
  }

  #lnav nav ul li a {
    color: #444444;
  }

  #anc01 {
    margin-top: -26%;
    padding-top: 26%;
  }

  #anc02 {
    margin-top: -26%;
    padding-top: 26%;
  }

  #anc03 {
    margin-top: -37.3% !important;
    padding-top: 26%;
  }

  #anc04 {
    margin-top: -26%;
    padding-top: 26%;
  }

  #anc05 {
    margin-top: -26%;
    padding-top: 26%;
  }

}

@media screen and (min-width: 768px) {
  #contents {
    /* padding: 0 0 80px; */
  }

  #topicpath {
    padding: 30px 0 0 30px;
    font-size: 11px;
    color: #666666;
  }

  #topicpath a {
    color: #666666;
    text-decoration: underline;
  }

  .wrap01 {
    position: relative;
    min-width: 1150px;
    /* background: linear-gradient(90deg, #f5f5f5 50%, #ffffff 50%); */
    background-color: #f5f5f5;
  }

  .wrap01 .cont01_bg {
    z-index: 2;
    position: absolute;
    right: 0px;
    top: -91px;
  }

  .wrap01_inner {
    z-index: 1;
    position: relative;
    width: 1110px;
    /* height: 836px; */
    margin: 0 auto;
    /*margin-left: calc( ( 100vw - 1150px  ) / 2 );*/
    background: #ffffff;
  }

  #cont01 {
    z-index: 2;
    position: relative;
    box-sizing: border-box;
    height: 1092px;
    padding: 50px 0 0 160px
  }

  #cont01 .ttl .subttl {
    position: relative;
    margin-bottom: 30px;
    padding-left: 18px;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.0;
  }

  #cont01 .ttl h3 {
    margin-bottom: 50px;
    font-size: 46px;
    font-weight: bold;
    color: #f4af6a;
    line-height: 1.36;
    letter-spacing: 0.06em;
  }

  #cont01 p {
    font-size: 16px;
    line-height: 2.375;
    letter-spacing: 0.06em;
    color: #444444;
  }

}

@media screen and (max-width: 767px) {
  .bg_area {
    background: #f5f5f5;
    padding-bottom: 3.7%;
  }

  .wrap01 {
    position: relative;
    min-width: 100%;
    /* background: linear-gradient(90deg, #f5f5f5 0%, #f5f5f5 10%, #ffffff 10%, #ffffff 100%); */
    background-color: #f5f5f5;
  }

  .wrap01_inner .cont01_bg01 {
    z-index: 2;
    position: absolute;
    left: -13.3%;
    top: 0;
    width: 95%;
    margin-top: 23.6%;
  }

  #topicpath {
    padding: 5% 0 0 16.5%;
    font-size: calc(100vw * calc(16 / 750));
    color: #666666;
  }

  #topicpath a {
    color: #666666;
    text-decoration: underline;
  }

  #cont01 {
    z-index: 2;
    position: relative;
    box-sizing: border-box;
    padding: 8% 0 0 16.5%;
  }

  #cont01 .ttl .subttl {
    position: relative;
    margin-bottom: 4vw;
    padding-left: 2.2vw;
    font-family: 'Lato', sans-serif;
    font-size: calc(100vw * calc(20 / 750));
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.0;
  }


  #cont01 .ttl h3 {
    margin-bottom: 9%;
    font-size: calc(100vw * calc(60 / 750));
    font-weight: bold;
    line-height: 1.36;
    letter-spacing: 0.06em;
    color: #ff6363;
  }

  #cont01 p {
    padding-bottom: 5%;
    font-size: calc(100vw * calc(24 / 750));
    line-height: 2.22;
    letter-spacing: 0.02em;
    color: #444444;
  }

  .wrap01_inner .cont01_bg0201 {
    z-index: 1;
    position: absolute;
    right: 0;
    top: 0;
    width: 41.8% !important;
    margin-top: 2.3%;
  }

  .wrap01_inner .cont01_bg0202 {
    padding-bottom: 8%;
  }

}


@media screen and (min-width: 768px) {
  #cont02 {
    background: #f7f3eb;
  }

  #cont02 .inner {
    width: 1110px;
    margin: 0 auto;
    padding-bottom: 60px;
  }

  #cont02 h3 {
    z-index: 3;
    position: relative;
  }

  #cont02 h3 img {
    margin-top: -77px;
  }

  #cont02 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 1110px;
  }

  #cont02 ul li {
    margin-bottom: 20px;
  }

  #cont02 ul li .arrow_box {
    position: relative;
    box-sizing: border-box;
    width: 540px;
    height: 156px;
    padding: 25px 30px 25px;
    border-radius: 10px;
    background: #ffffff;
    /*box-shadow: 3px 5px 0px 0px rgba(0,0,0,0.3);*/
    -webkit-filter: drop-shadow(3px 4px 0px rgba(0, 0, 0, 0.3));

    margin-bottom: 10px;
    font-size: 14px;
    color: #444;
    line-height: 1.86;
  }

  #cont02 ul li .arrow_box:after {
    position: absolute;
    content: "";
    left: 50px;
    bottom: -15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 0 0 15px;
    border-color: transparent transparent transparent #ffffff;
    transform: rotate(180deg);
  }

  #cont02 ul li .name {
    text-align: right;
    font-size: 11px;
    color: #4e493e;
  }

}

@media screen and (max-width: 767px) {

  #cont02 {
    background: #f7f3eb;
  }

  #cont02 .inner {
    padding-bottom: 10%;
  }

  #cont02 h3 {
    z-index: 3;
    position: relative;
  }

  #cont02 h3 img {
    margin-top: -6.3%;
  }

  #cont02 ul {
    padding: 0 4%;
  }

  #cont02 ul li {
    margin-bottom: 20px;
  }

  #cont02 ul li .arrow_box {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    padding: 4%;
    border-radius: 10px;
    background: #ffffff;
    /*box-shadow: 3px 5px 0px 0px rgba(0,0,0,0.3);*/
    -webkit-filter: drop-shadow(3px 4px 0px rgba(0, 0, 0, 0.3));

    margin-bottom: 10px;
    font-size: 10px;
    color: #444;
    line-height: 1.86;
  }

  #cont02 ul li .arrow_box:after {
    position: absolute;
    content: "";
    left: 50px;
    bottom: -15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 0 0 15px;
    border-color: transparent transparent transparent #ffffff;
    transform: rotate(180deg);
  }

  #cont02 ul li .name {
    text-align: right;
    font-size: 9px;
    color: #4e493e;
  }

}


@media screen and (min-width: 768px) {

  #cont03 {
    background: url(../images/ryori/cont03_bg01.png) center bottom repeat-x;
  }

  #cont03 .inner {
    position: relative;
    width: 1110px;
    margin: 0 auto;
    padding: 75px 0;
    background: url(../images/ryori/cont03_bg02.png) right 24px no-repeat;
  }

  #cont03 .ttl {
    text-align: center;
  }

  #cont03 .ttl .subttl {
    position: relative;
    margin-bottom: 12px;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.0;
  }

  #cont03 .ttl .subttl:after {
    content: "";
    display: block;
    width: 8px;
    margin: 13px auto 0;
    border-top: 2px solid #ff6363;
    transition: all 0.1s ease;
  }

  #cont03 .ttl h3 {
    margin-bottom: 40px;
    font-size: 46px;
    font-weight: bold;
    color: #ff6363;
    line-height: 1.36;
    letter-spacing: 0.06em;
  }

  #cont03 .menu {
    display: flex;
    width: 600px;
    height: 44px;
    margin: 0 auto 50px;
    border: 1px solid #ff6363;
    border-radius: 22px;
  }

  #cont03 .menu li {
    width: 200px;
    height: 44px;
    border-left: 1px solid #ff6363;
  }

  #cont03 .menu li:first-child {
    border-left: none;
  }

  #cont03 .menu li span {
    display: block;
    width: 200px;
    height: 44px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    line-height: 44px;
    color: #ff6363;
    cursor: pointer;
  }

  #cont03 .menu li.is-active span {
    background: #ff6363;
    color: #fff;
  }

  #cont03 .menu li.is-active:first-child span {
    border-radius: 22px 0 0 22px;
  }

  #cont03 .menu li.is-active:last-child span {
    border-radius: 0 22px 22px 0;
  }

  .ChangeElem_Panel {
    display: none;
  }

  #cont03 .cont {
    width: 1020px;
    margin: 0 auto;
  }

  #cont03 .cont .ttlbox {
    box-sizing: border-box;
    width: 980px;
    margin: 0 auto;
    padding: 24px 48px 24px;
    background: #ff6363;
    border-radius: 20px 20px 0 0;
  }

  #cont03 .cont .ttlbox h4 {
    float: left;
    width: 184px;
    padding-top: 43px;
  }

  #cont03 .cont .ttlbox p.wline {
    float: right;
    position: relative;
    box-sizing: border-box;
    width: 700px;
    min-height: 110px;
    padding: 20px 25px;
    border-radius: 18px;
    background: #ffffff;

    margin-bottom: 25px;
    font-size: 24px;
    font-weight: bold;
    color: #ff6363;
    line-height: 1.5;
  }

  #cont03 .cont .ttlbox p.wline:after {
    position: absolute;
    content: "";
    left: 42px;
    bottom: -15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 0 0 15px;
    border-color: transparent transparent transparent #ffffff;
    transform: rotate(180deg);
  }

  #cont03 .cont .ttlbox p {
    float: right;
    width: 700px;
    font-size: 16px;
    color: #ffffff;
    line-height: 1.875;
  }

  #cont03 .cont .contbox {
    box-sizing: border-box;
    width: 1020px;
    min-height: 540px;
    margin-top: -10px;
    padding: 50px;
    border-radius: 30px;
    background: linear-gradient(90deg, #ffffff 0%, #ffffff 59%, #fbf9f5 59%, #fbf9f5 100%);
    box-shadow: 0px 15px 24px 0px rgba(0, 0, 0, 0.1);
  }

  #cont03 .cont .contbox .lcont {
    float: left;
    width: 520px;
  }

  #cont03 .cont .contbox .rcont {
    float: right;
    width: 340px;
  }

  #cont03 .cont .contbox h5 {
    margin-bottom: 15px;
    font-size: 18px;
    font-weight: bold;
    color: #ff6363;
  }

  #cont03 .cont .contbox .lcont > P {
    margin-bottom: 20px;
  }

  #cont03 .cont .contbox p {
    margin-bottom: 40px;
    font-size: 16px;
    color: #444444;
    line-height: 1.875;
  }

  #cont03 .cont .contbox .sub {
    padding-left: 20px;
    border-left: 4px solid #d9d9d9;
  }

  #cont03 .cont .contbox .sub h6 {
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: bold;
    color: #b63c3c;
  }

  #cont03 .cont .contbox .sub p {
    margin-bottom: 28px;
    font-size: 14px;
    color: #444444;
  }

}

@media screen and (max-width: 767px) {

  #cont03 {
    background: url(../images/ryori/cont03_bg01.png) center bottom repeat-x;
  }

  #cont03 .inner {
    position: relative;
    margin: 0 auto;
    padding: 13% 4%;
    background: url(../images/ryori/cont03_bg02.png) 123% 7.2% no-repeat;
    background-size: 40% auto;
  }

  #cont03 .ttl {
    text-align: center;
  }

  #cont03 .ttl .subttl {
    position: relative;
    margin-bottom: 3vw;
    padding-left: 2.2vw;
    font-family: 'Lato', sans-serif;
    font-size: calc(100vw * calc(20 / 750));
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.0;
  }

  #cont03 .ttl .subttl:after {
    content: "";
    display: block;
    width: 1vw;
    margin: 2.2vw auto 0;
    border-top: 1px solid #ff6363;
    transition: all 0.1s ease;
  }

  #cont03 .ttl h3 {
    margin-bottom: 5%;
    font-size: calc(100vw * calc(60 / 750));
    font-weight: bold;
    color: #ff6363;
    line-height: 1.36;
    letter-spacing: 0.06em;
  }

  #cont03 .menu {
    display: flex;
    width: 86vw;
    height: 30px;
    margin: 0 auto 5%;
    border: 1px solid #ff6363;
    border-radius: 22px;
    background: #fff;
  }

  #cont03 .menu li {
    width: calc(86vw / 3);
    height: 30px;
    border-left: 1px solid #ff6363;
  }

  #cont03 .menu li:first-child {
    border-left: none;
  }

  #cont03 .menu li span {
    display: block;
    width: 100%;
    height: 30px;
    text-align: center;
    font-size: calc(100vw * calc(20 / 750));
    font-weight: bold;
    line-height: 30px;
    color: #ff6363;
  }

  #cont03 .menu li span:hover {
    background: #ff6363;
    color: #fff;
  }

  #cont03 .menu li.is-active span {
    background: #ff6363;
    color: #fff;
  }

  #cont03 .menu li:first-child span:hover {
    border-radius: 22px 0 0 22px;
  }

  #cont03 .menu li:last-child span:hover {
    border-radius: 0 22px 22px 0;
  }

  #cont03 .menu li.is-active:first-child span {
    border-radius: 22px 0 0 22px;
  }

  #cont03 .menu li.is-active:last-child span {
    border-radius: 0 22px 22px 0;
  }

  #cont03 .cont {
    margin: 0 auto;
  }

  #cont03 .cont .ttlbox {
    box-sizing: border-box;
    width: 86vw;
    margin: 0 auto;
    padding: 6%;
    background: #ff6363;
    border-radius: 10px 10px 0 0;
  }

  #cont03 .cont .ttlbox h4 {
    float: left;
    width: 26.7%;
    padding-top: 5.3%;
  }

  #cont03 .cont .ttlbox p.wline {
    position: relative;
    box-sizing: border-box;
    float: right;
    width: 66%;
    margin-bottom: 10px;
    padding: 3.5%;
    line-height: 1.28;
    border-radius: 8px;
    background: #ffffff;
    font-size: calc(100vw * calc(28 / 750));
    font-weight: bold;
    color: #ff6363;
  }

  #cont03 .cont .ttlbox p.wline:after {
    position: absolute;
    content: "";
    left: 11.4%;
    bottom: -8px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 0 0 8px;
    border-color: transparent transparent transparent #ffffff;
    transform: rotate(180deg);
  }

  #cont03 .cont .ttlbox p.txt {
    clear: both;
    margin-top: 4%;
    font-size: calc(100vw * calc(24 / 750));
    color: #ffffff;
    line-height: 1.875;
  }

  #cont03 .cont .contbox {
    box-sizing: border-box;
    width: 100%;
    margin-top: -10px;
    border-radius: 25px;
    background: #fff;
    box-shadow: 0px 15px 24px 0px rgba(0, 0, 0, 0.1);
  }

  #cont03 .cont .contbox .lcont {
    border-radius: 25px 25px 0 0;
    padding: 8.5% 6.5% 2%;
    background: #fff;
  }

  #cont03 .cont .contbox .rcont {
    border-radius: 0 0 25px 25px;
    padding: 6.5% 6.5%;
    background: #fbf9f5;
  }

  #cont03 .cont .contbox h5 {
    margin-bottom: 12px;
    font-size: 19px;
    font-weight: bold;
    color: #ff6363;
  }

  #cont03 .cont .contbox p {
    margin-bottom: 20px;
    font-size: 12px;
    color: #444444;
  }

  #cont03 .cont .contbox .sub {
    padding-left: 18px;
    border-left: 2px solid #d9d9d9;
  }

  #cont03 .cont .contbox .sub h6 {
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: bold;
    color: #b63c3c;
  }

  #cont03 .cont .contbox .sub p {
    margin-bottom: 20px;
    font-size: 11px;
    color: #444444;
  }
}

@media screen and (min-width: 768px) {

  #cont04 {
    position: relative;
    width: 100%;
    background: #fff;
  }

  #cont04 .inner {
    position: relative;
    width: 1110px;
    margin: 0 auto;
    padding: 110px 0 70px;
    text-align: center;
    background: url(../images/ryori/cont04_bg01.png) center top no-repeat;
  }

  #cont04 h3 {
    margin-bottom: 20px;
    font-size: 32px;
    font-weight: bold;
    color: #4e493e;
    letter-spacing: 0.04em;
  }

  #cont04 p.rebon {
    margin-bottom: 15px;
  }

  #cont04 p.txt {
    margin-bottom: 35px;
    font-size: 16px;
    color: #444444;
    line-height: 1.875;
  }

  #cont04 p.card {
    margin-bottom: 35px;
  }

  #cont04 .bg02 {
    z-index: 3;
    position: absolute;
    left: -60px;
    bottom: -31px;

  }

  #cont04 .scholarship {
    position: relative;
  }

  #cont04 .scholarship .btn01{
    position: absolute;
    bottom: 53px;
    left: 50%;
    transform: translateX(-50%);
  }

  #cont04 .btn01 a {
    border: 1px solid #ff6363;
    color: #ff6363;
  }

  #cont04 .btn01 a:hover {
    border: 1px solid #ff6363;
    color: #fff;
    background: #ff6363;
  }

  #cont04 .btn01 a:before {
    border-top: 1px solid #ff6363;
  }

  #cont04 .btn01 a:after {
    border-color: transparent transparent transparent #ff6363;
  }

  #cont04 .btn01.gray span {
    background: #cccccc;
    border: 1px solid #cccccc;
    color: #ffffff;
  }

}

@media screen and (max-width: 767px) {

  #cont04 {
    position: relative;
    width: 100%;
    background: #fff;
  }

  #cont04 .inner {
    position: relative;
    padding: 15% 4% 10%;
    text-align: center;
    background: url(../images/ryori/cont04_bg01.png) center top no-repeat;
    background-size: 16.8% auto;
  }

  #cont04 h3 {
    margin-bottom: 15px;
    font-size: calc(100vw * calc(38 / 750));
    font-weight: bold;
    color: #4e493e;
    letter-spacing: 0.04em;
  }

  #cont04 p.rebon {
    margin-bottom: 10px;
  }

  #cont04 p.txt {
    margin-bottom: 25px;
    font-size: calc(100vw * calc(24 / 750));
    color: #444444;
    line-height: 1.875;
  }

  #cont04 p.card {
    margin-bottom: 10px;
  }

  #cont04 .bg02 {
    display: none;

  }

  #cont04 .scholarship {
    position: relative;
  }

  #cont04 .scholarship .btn01{
    position: absolute;
    bottom: 12%;
    left: 50%;
    transform: translateX(-50%);
  }

  #cont04 .btn01 a {
    border: 1px solid #ff6363;
    color: #ff6363;
  }

  #cont04 .btn01 a:hover {
    border: 1px solid #ff6363;
    color: #fff;
    background: #ff6363;
  }

  #cont04 .btn01 a:before {
    border-top: 1px solid #ff6363;
  }

  #cont04 .btn01 a:after {
    border-color: transparent transparent transparent #ff6363;
  }

  #cont04 .btn01.gray span {
    background: #cccccc;
    border: 1px solid #cccccc;
    color: #ffffff;
  }
}

@media screen and (min-width: 768px) {

  #cont05 {
    position: relative;
    width: 100%;
    min-width: 1110px;
    padding-top: 155px;
    background: url(../images/ryori/cont05_bg01.png) center top no-repeat,
    url(../images/ryori/cont05_bg03.png) left bottom repeat-x,
    linear-gradient(90deg, #f7f3eb 50%, #ffffff 50%);
  }

  #cont05 .wrap {
    position: relative;

    /*width: calc( 980px + ( 100vw - 980px ) / 2);*/
    width: calc(970px + (100vw - 980px) / 2);
    min-width: 1110px;
    /*margin-left: calc( ( 100vw - 980px ) / 2 );*/
    margin-left: auto;

    padding: 40px 0 50px;
    background: #fff;
    border-radius: 20px 0 0 20px;
    box-shadow: 0px 15px 24px 0px rgba(0, 0, 0, 0.1);
  }

  #cont05 .inner {
  }

  #cont05 .ttl {
    position: absolute;
    left: -65px;
    top: -74px;
  }

  #cont05 .ttl .subttl {
    position: relative;
    margin-bottom: 18px;
    padding-left: 18px;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.0;
  }

  #cont05 .ttl .subttl:before {
    content: "";
    display: inline-block;
    width: 8px;
    border-top: 2px solid #ff6363;
    position: absolute;
    left: 0;
    top: 7px;
    transition: all 0.1s ease;
  }

  #cont05 .ttl h3 {
    margin-bottom: 50px;
    font-size: 46px;
    font-weight: bold;
    color: #ff6363;
    line-height: 1.36;
    letter-spacing: 0.06em;
  }

  #cont05 .table01 {
    margin-left: 95px;
  }

}

@media screen and (max-width: 767px) {

  #cont05 {
    position: relative;
    width: 100%;
    padding-top: 20%;
    background: url(../images/ryori/sp/cont05_bg01.png) center top no-repeat,
    url(../images/ryori/cont05_bg03.png) left bottom repeat-x #f7f3eb;
    background-size: 100% auto,
    auto 150px;
  }

  #cont05 .wrap {
    position: relative;
    box-sizing: border-box;
    width: 90%;
    margin-left: 10%;
    padding: 6% 7.4%;
    background: #fff;
    border-radius: 20px 0 0 20px;
    box-shadow: 0px 15px 24px 0px rgba(0, 0, 0, 0.1);
  }

  #cont05 .inner {
  }

  #cont05 .ttl {
    position: absolute;
    left: -6.5%;
    top: 0;
    margin-top: -11.3%;
  }

  #cont05 .ttl .subttl {
    position: relative;
    margin-bottom: 3vw;
    padding-left: 2.2vw;
    font-family: 'Lato', sans-serif;
    font-size: calc(100vw * calc(20 / 750));
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.0;
  }

  #cont05 .ttl .subttl:before {
    content: "";
    display: inline-block;
    width: 1vw;
    border-top: 1px solid #ff6363;
    position: absolute;
    left: 0;
    top: 1vw;
  }

  #cont05 .ttl h3 {
    margin-bottom: 9%;
    font-size: calc(100vw * calc(60 / 750));
    font-weight: bold;
    line-height: 1.36;
    letter-spacing: 0.06em;
    color: #ff6363;
  }

  #cont05 .table01 {
    margin-left: 0;
  }
}


@media screen and (min-width: 768px) {

  #cont07 {
    background: #ffffff;
  }

  #cont07 .inner {
    width: 1110px;
    margin: 0 auto;
    padding: 65px 0 107px;
  }

  #cont07 .ttl h3 {
    margin-bottom: 25px;
    font-size: 32px;
    font-weight: bold;
    color: #f4af6a;
    line-height: 1.36;
    letter-spacing: 0.06em;
  }

  #cont07 .qa {
    width: 790px;
    margin: 0 auto;

  }

  #cont07 .qa dl {
    border-bottom: 1px solid #dadada;
    color: #444;
  }

  #cont07 .qa dl:first-child {
    border-top: 1px solid #dadada;
  }

  #cont07 .qa dl dt {
    box-sizing: border-box;
    min-height: 93px;
    cursor: pointer;
    padding: 35px 40px 38px 70px;
    background: url(../images/ryori/cont07_icon_q.png) left center no-repeat;
    font-size: 18px;
    font-weight: bold;
  }

  #cont07 .qa dl dt.tasu {
    background: url(../images/ryori/cont07_icon_q.png) left center no-repeat,
    url(../images/ryori/cont07_icon_minus.png) right center no-repeat;
  }

  #cont07 .qa dl dt.hiku {
    background: url(../images/ryori/cont07_icon_q.png) left center no-repeat,
    url(../images/ryori/cont07_icon_plus.png) right center no-repeat;
  }

  #cont07 .qa dl dd {
    box-sizing: border-box;
    cursor: pointer;
    padding: 10px 90px 70px 70px;
    background: url(../images/ryori/cont07_icon_a.png) left top no-repeat;
    font-size: 18px;
    line-height: 1.875;
  }

  #cont07 .qa a {
    color: #ff6363;

  }

}

@media screen and (max-width: 767px) {
  #cont07 {
    background: #ffffff;
  }

  #cont07 .inner {
    margin: 0 auto;
    padding: 10% 4%;
  }

  #cont07 .ttl h3 {
    margin-bottom: 5%;
    font-size: calc(100vw * calc(32 / 750));
    font-weight: bold;
    color: #f4af6a;
    line-height: 1.36;
    letter-spacing: 0.06em;
  }

  #cont07 .qa {
    width: 100%;
    margin: 0 auto;
  }

  #cont07 .qa dl {
    border-bottom: 1px solid #dadada;
    color: #444;
  }

  #cont07 .qa dl:first-child {
    border-top: 1px solid #dadada;
  }

  #cont07 .qa dl dt {
    box-sizing: border-box;
    min-height: 57px;
    cursor: pointer;
    padding: 27px 35px 27px 35px;
    background: url(../images/ryori/cont07_icon_q.png) left center no-repeat;
    background-size: 27px auto;
    font-size: 12px;
    font-weight: bold;
  }

  #cont07 .qa dl dt.tasu {
    background: url(../images/ryori/cont07_icon_q.png) left center no-repeat,
    url(../images/ryori/cont07_icon_minus.png) right center no-repeat;
    background-size: auto 27px,
    auto 27px;
  }

  #cont07 .qa dl dt.hiku {
    background: url(../images/ryori/cont07_icon_q.png) left center no-repeat,
    url(../images/ryori/cont07_icon_plus.png) right center no-repeat;
    background-size: auto 27px,
    auto 27px;
  }

  #cont07 .qa dl dd {
    box-sizing: border-box;
    cursor: pointer;
    padding: 2px 35px 27px 35px;
    background: url(../images/ryori/cont07_icon_a.png) left top no-repeat;
    background-size: 27px auto;
    font-size: 12px;
    line-height: 1.875;
  }

}




@media screen and (min-width: 768px) {
	
#cont_group {
	background: #ffffff;
}
#cont_group .inner {
	width: 790px;
	margin: 0 auto;
	padding: 75px 0 80px;
}
#cont_group h3 {
	margin-bottom: 50px;
	font-size: 36px;
	font-weight: bold;
	letter-spacing: 0.06em;
	color: #000000;
}
#cont_group .ttl h3 {
  margin-bottom: 25px;
  font-size: 32px;
  font-weight: bold;
  color: #f4af6a;
  line-height: 1.36;
  letter-spacing: 0.06em;
}
#cont_group h4{
	margin-bottom: 20px;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0.06em;
	color: #d55d4a;
}
#cont_group .qa {
	width: 790px;
	margin: 0 auto 60px;
}
#cont_group .qa:last-child {
	margin-bottom: 0px;
}
#cont_group .qa dl {
	border-bottom: 1px solid #dadada;
	color: #444;
}
#cont_group .qa dl:first-child {
	border-top: 1px solid #dadada;
}
#cont_group .qa dl dt {
	box-sizing: border-box;
	min-height: 93px;
	cursor: pointer;
	padding: 35px 40px 38px 70px;
	background: url(../images/app/cont05_icon_q.png) left center no-repeat;
	font-size: 18px;
	font-weight: bold;
}
#cont_group .qa dl dt.tasu {
	background:
	url(../images/app/cont05_icon_q.png) left center no-repeat,
	url(../images/app/cont05_icon_minus.png) right center no-repeat
	;
}
#cont_group .qa dl dt.hiku {
	background:
	url(../images/app/cont05_icon_q.png) left center no-repeat,
	url(../images/app/cont05_icon_plus.png) right center no-repeat
	;
}
#cont_group .qa dl dd {
	box-sizing: border-box;
	cursor: pointer;
	padding: 10px 90px 35px 70px;
	background: url(../images/app/cont05_icon_a.png) left top no-repeat;
	font-size: 16px;
	line-height: 1.875;
}
#cont_group .qa dl dd a {
	color: #d55d4a;
}
#cont_group .qa dl dd .small {
	color: #777777;
	font-size: 14px;
}

}

@media screen and (max-width: 767px) {
	
	#cont_group {
		background: #ffffff;
	}
	#cont_group .inner {
		margin: 0 auto;
		padding: 40px 4% 10px;
	}
	#cont_group .ttl h3 {
    margin-bottom: 5%;
    font-size: calc(100vw * calc(32 / 750));
    font-weight: bold;
    color: #f4af6a;
    line-height: 1.36;
    letter-spacing: 0.06em;
  }
	#cont_group h4{
		margin-bottom: 15px;
		font-size: 16px;
		font-weight: bold;
		letter-spacing: 0.06em;
		color: #d55d4a;
	}
	#cont_group .qa {
		width: 100%;
		margin: 0 auto 30px;
	}
	#cont_group .qa dl {
		border-bottom: 1px solid #dadada;
		color: #444;
	}
	#cont_group .qa dl:first-child {
		border-top: 1px solid #dadada;
	}
	#cont_group .qa dl dt {
		box-sizing: border-box;
		min-height: 57px;
		cursor: pointer;
		padding: 27px 35px 27px 35px;
		background: url(../images/app/cont05_icon_q.png) left center no-repeat;
		background-size: 27px auto;
		font-size: 12px;
		font-weight: bold;
	}
	#cont_group .qa dl dt.tasu {
		background:
		url(../images/app/cont05_icon_q.png) left center no-repeat,
		url(../images/app/cont05_icon_minus.png) right center no-repeat
		;
		background-size:
			auto 27px,
			auto 27px 
		;
	}
	#cont_group .qa dl dt.hiku {
		background:
		url(../images/app/cont05_icon_q.png) left center no-repeat,
		url(../images/app/cont05_icon_plus.png) right center no-repeat
		;
		background-size:
			auto 27px,
			auto 27px 
		;
	}
	#cont_group .qa dl dd {
		box-sizing: border-box;
		cursor: pointer;
		padding: 2px 35px 27px 35px;
		background: url(../images/app/cont05_icon_a.png) left top no-repeat;
		background-size: 27px auto;
		font-size: 12px;
		line-height: 1.875;
	}
	#cont_group .qa dl dd a {
		color: #d55d4a;
	}
	#cont_group .qa dl dd .small {
		color: #777777;
		font-size: 10px;
	}

}


@media screen and (min-width: 768px) {
	
  #cont_personal {
    background: #ffffff;
  }
  #cont_personal .inner {
    width: 790px;
    margin: 0 auto;
    padding: 75px 0 80px;
  }
  #cont_personal .ttl h3 {
    margin-bottom: 25px;
    font-size: 32px;
    font-weight: bold;
    color: #f4af6a;
    line-height: 1.36;
    letter-spacing: 0.06em;
  }
  #cont_personal h4{
    margin-bottom: 20px;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 0.06em;
    color: #d55d4a;
  }
  #cont_personal .qa {
    width: 790px;
    margin: 0 auto 60px;
  }
  #cont_personal .qa:last-child {
    margin-bottom: 0px;
  }
  #cont_personal .qa dl {
    border-bottom: 1px solid #dadada;
    color: #444;
  }
  #cont_personal .qa dl:first-child {
    border-top: 1px solid #dadada;
  }
  #cont_personal .qa dl dt {
    box-sizing: border-box;
    min-height: 93px;
    cursor: pointer;
    padding: 35px 40px 38px 70px;
    background: url(../images/app/cont05_icon_q.png) left center no-repeat;
    font-size: 18px;
    font-weight: bold;
  }
  #cont_personal .qa dl dt.tasu {
    background:
    url(../images/app/cont05_icon_q.png) left center no-repeat,
    url(../images/app/cont05_icon_minus.png) right center no-repeat
    ;
  }
  #cont_personal .qa dl dt.hiku {
    background:
    url(../images/app/cont05_icon_q.png) left center no-repeat,
    url(../images/app/cont05_icon_plus.png) right center no-repeat
    ;
  }
  #cont_personal .qa dl dd {
    box-sizing: border-box;
    cursor: pointer;
    padding: 10px 90px 35px 70px;
    background: url(../images/app/cont05_icon_a.png) left top no-repeat;
    font-size: 16px;
    line-height: 1.875;
  }
  #cont_personal .qa dl dd a {
    color: #d55d4a;
  }
  #cont_personal .qa dl dd .small {
    color: #777777;
    font-size: 14px;
  }
  #cont_personal .qa dl dd a.gray{
    color: #777;
    pointer-events: none;
    
  }
  
  }
  
  @media screen and (max-width: 767px) {
    #cont_personal {
      background: #ffffff;
    }
    #cont_personal .inner {
      margin: 0 auto;
      padding: 40px 4% 10px;
    }
    #cont_personal .ttl h3 {
      margin-bottom: 5%;
      font-size: calc(100vw * calc(32 / 750));
      font-weight: bold;
      color: #f4af6a;
      line-height: 1.36;
      letter-spacing: 0.06em;
    }
    #cont_personal h4{
      margin-bottom: 15px;
      font-size: 16px;
      font-weight: bold;
      letter-spacing: 0.06em;
      color: #d55d4a;
    }
    #cont_personal .qa {
      width: 100%;
      margin: 0 auto 30px;
    }
    #cont_personal .qa dl {
      border-bottom: 1px solid #dadada;
      color: #444;
    }
    #cont_personal .qa dl:first-child {
      border-top: 1px solid #dadada;
    }
    #cont_personal .qa dl dt {
      box-sizing: border-box;
      min-height: 57px;
      cursor: pointer;
      padding: 27px 35px 27px 35px;
      background: url(../images/app/cont05_icon_q.png) left center no-repeat;
      background-size: 27px auto;
      font-size: 12px;
      font-weight: bold;
    }
    #cont_personal .qa dl dt.tasu {
      background:
      url(../images/app/cont05_icon_q.png) left center no-repeat,
      url(../images/app/cont05_icon_minus.png) right center no-repeat
      ;
      background-size:
        auto 27px,
        auto 27px 
      ;
    }
    #cont_personal .qa dl dt.hiku {
      background:
      url(../images/app/cont05_icon_q.png) left center no-repeat,
      url(../images/app/cont05_icon_plus.png) right center no-repeat
      ;
      background-size:
        auto 27px,
        auto 27px 
      ;
    }
    #cont_personal .qa dl dd {
      box-sizing: border-box;
      cursor: pointer;
      padding: 2px 35px 27px 35px;
      background: url(../images/app/cont05_icon_a.png) left top no-repeat;
      background-size: 27px auto;
      font-size: 12px;
      line-height: 1.875;
    }
    #cont_personal .qa dl dd a {
      color: #d55d4a;
    }
    #cont_personal .qa dl dd .small {
      color: #777777;
      font-size: 10px;
    }
    #cont_personal .qa dl dd a.gray{
      color: #777;
      pointer-events: none;
      
    }
  
  }


  @media screen and (min-width: 768px) {
	
    #cont_app {
      background: #fff;
    }
    #cont_app .inner {
      width: 1110px;
      margin: 0 auto;
      padding: 70px 0 90px;
    }
    #cont_app .ttl .subttl {
      position: relative;
      margin-bottom: 12px;
      font-family: 'Lato', sans-serif;
      font-size: 14px;
      font-weight: bold;
      letter-spacing: 0.1em;	
      line-height: 1.0;
    }
    #cont_app .ttl .subttl:after {
      content:"";
      display:block;
      width: 8px;
      margin: 13px auto 0;
      border-top: 2px solid #f4af6a;
      /*position: absolute;
      left: 0;
      bottom: 7px;*/
      transition: all 0.1s ease;
    }
    #cont_app .ttl h3 {
      margin-bottom: 25px;
      font-size: 32px;
      font-weight: bold;
      color: #f4af6a;
      line-height: 1.36;
      letter-spacing: 0.06em;
    }
    #cont_app .qa {
      width: 790px;
      margin: 0 auto;
    }
    #cont_app .qa dl {
      border-bottom: 1px solid #dadada;
      color: #444;
    }
    #cont_app .qa dl:first-child {
      border-top: 1px solid #dadada;
    }
    #cont_app .qa dl dt {
      box-sizing: border-box;
      min-height: 93px;
      cursor: pointer;
      padding: 35px 40px 38px 70px;
      background: url(../images/app/cont05_icon_q.png) left center no-repeat;
      font-size: 18px;
      font-weight: bold;
    }
    #cont_app .qa dl dt.tasu {
      background:
      url(../images/app/cont05_icon_q.png) left center no-repeat,
      url(../images/app/cont05_icon_minus.png) right center no-repeat
      ;
    }
    #cont_app .qa dl dt.hiku {
      background:
      url(../images/app/cont05_icon_q.png) left center no-repeat,
      url(../images/app/cont05_icon_plus.png) right center no-repeat
      ;
    }
    #cont_app .qa dl dd {
      box-sizing: border-box;
      cursor: pointer;
      padding: 10px 90px 70px 70px;
      background: url(../images/app/cont05_icon_a.png) left top no-repeat;
      font-size: 18px;
      line-height: 1.875;
    }
    
    }
    
    @media screen and (max-width: 767px) {
      
      #cont_app {
        background: #fff;
      }
      #cont_app .inner {
        margin: 0 auto;
        padding: 13% 4% 12%;
      }
      #cont_app .ttl .subttl {
        position: relative;
        margin-bottom: 3vw;
        padding-left: 2.2vw;
        font-family: 'Lato', sans-serif;
        font-size: calc( 100vw * calc(20 / 750));
        font-weight: bold;
        letter-spacing: 0.1em;	
        line-height: 1.0;
      }
      #cont_app .ttl .subttl:after {
        content:"";
        display:block;
        width: 1vw;
        margin: 2.2vw auto 0;
        border-top: 1px solid #f4af6a;
        transition: all 0.1s ease;
      }
      #cont_personal .ttl h3 {
        margin-bottom: 5%;
        font-size: calc(100vw * calc(32 / 750));
        font-weight: bold;
        color: #f4af6a;
        line-height: 1.36;
        letter-spacing: 0.06em;
      }
      #cont_app .qa {
        width: 100%;
        margin: 0 auto;
      }
      #cont_app .qa dl {
        border-bottom: 1px solid #dadada;
        color: #444;
      }
      #cont_app .qa dl:first-child {
        border-top: 1px solid #dadada;
      }
      #cont_app .qa dl dt {
        box-sizing: border-box;
        min-height: 57px;
        cursor: pointer;
        padding: 27px 35px 27px 35px;
        background: url(../images/app/cont05_icon_q.png) left center no-repeat;
        background-size: 27px auto;
        font-size: 12px;
        font-weight: bold;
      }
      #cont_app .qa dl dt.tasu {
        background:
        url(../images/app/cont05_icon_q.png) left center no-repeat,
        url(../images/app/cont05_icon_minus.png) right center no-repeat
        ;
        background-size:
          auto 27px,
          auto 27px 
        ;
      }
      #cont_app .qa dl dt.hiku {
        background:
        url(../images/app/cont05_icon_q.png) left center no-repeat,
        url(../images/app/cont05_icon_plus.png) right center no-repeat
        ;
        background-size:
          auto 27px,
          auto 27px 
        ;
      }
      #cont_app .qa dl dd {
        box-sizing: border-box;
        cursor: pointer;
        padding: 2px 35px 27px 35px;
        background: url(../images/app/cont05_icon_a.png) left top no-repeat;
        background-size: 27px auto;
        font-size: 12px;
        line-height: 1.875;
      }
    
    }



    
@media screen and (min-width: 768px) {

	  .table_wrap {
		position: relative;
    min-width: 666px;
	  }

	  .table_wrap .fukidashi {
		display: inline-block;
		color: #fff;
		background-color: #ff6363;
		border-radius: 20px;
		font-size: 16px;
		text-align: center;
		padding: 5px 20px;
		font-weight: bold;
		margin: 25px 0 20px 200px;
		position: relative;
	  }
	  .table_wrap .fukidashi:after {
		content: "";
		position: absolute;
		bottom: -25px;
		left: 50%;
		margin-left: -15px;
		border: 15px solid transparent;
		border-top: 15px solid #ff6363;
		z-index: 0;
	  }
	
	  .table03 {
		border-collapse: collapse;
		width: initial;
	  }
	
	  .table03 thead th {
		border-collapse: collapse;
		width: initial;
		padding: initial;
		font-size: 14px;
		font-weight: bold;
		line-height: 1.875;
		color: #444;
		background-color: #f5f5f5;
		vertical-align: top;
		border: none;
		text-align: center;
	  }
	
	  .table03 tbody th {
		color: #444;
		font-size: 14px;
		text-align: center;
		border-left: 1px solid #dadada;
		border-bottom: 1px solid #dadada;
    width: 125px;
    padding: 40px 0;
	  }
	
	  .table03 td {
		border-collapse: collapse;
		width: initial;
		padding: 0 20px;
		font-size: 14px;
		color: #444444;
		line-height: 1.4;
		vertical-align: middle;
		border: 1px solid #dadada;
	  }
	
	  .table03 td span {
		font-size: 14px;
		color: #777777;
	  }
	
	  .table03 td a {
		color: #ff6363;
	  }
	
	  .table03 tr:first-child th,
	  .table03 tr:first-child td {
		border-top: 1px solid #dadada;
		border-right: 1px solid #dadada;
		border-bottom: 1px solid #dadada;
	  }
}

@media screen and (max-width: 767px) {
	  .table_wrap {
	  }

	  .table_wrap .fukidashi {
		display: inline-block;
		color: #fff;
		background-color: #ff6363;
		border-radius: 20px;
		font-size: 12px;
		text-align: center;
		padding: 3px 15px 5px;
		font-weight: bold;
		margin: 25px 0 15px;
		position: relative;
		margin-left: 47%;
	  }
	  .table_wrap .fukidashi:after {
		content: "";
		position: absolute;
		bottom: -15px;
		left: 50%;
		margin-left: -10px;
		border: 10px solid transparent;
		border-top: 10px solid #ff6363;
		z-index: 0;
	  }
	
	  .table03 {
		border-collapse: collapse;
		margin-bottom: 20px;
	  }
	
	  .table03 thead th {
		display: table-cell;
		width: initial;
		padding: initial;
		font-size: 12px;
		font-weight: bold;
		line-height: 1.875;
		color: #444;
		vertical-align: top;
		text-align: center;
		border-top: 1px solid #dadada;
		background-color: #f5f5f5;
		
	  }
	
	  .table03 tbody th {
		display: table-cell;
		width: initial;
		padding: 5px;
		color: #444;
		font-size: 12px;
		text-align: center;
		border-left: 1px solid #dadada;
		border-bottom: 1px solid #dadada;
    white-space: nowrap;
	  }
	
	  .table03 td {
		display: table-cell;
		width: initial;
		padding: 5px 10px 5px 5px;
		font-size: 12px;
		color: #444444;
		line-height: 1.875;
		vertical-align: middle;
		border: 1px solid #dadada;
	  }
	
	  .table03 td span {
		font-size: 10px;
		color: #777777;
	  }
	
	  .table03 td a {
		color: #ff6363;
	  }
	
	  .table03 tr:first-child th {
		/* border-top: none; */
		border-right: 1px solid #dadada;
		border-bottom: 1px solid #dadada;
		border-top: 1px solid #dadada;
	  }
	
}