@charset "UTF-8";

/* view
************************************** */
@media (min-width: 768px) {
.sp { display: none; }
}
@media (max-width: 767px) {
.pc { display: none; }
}

/* body
************************************** */
body.is-overflow { overflow: hidden; }

/* main
************************************** */
#main { margin-top: 0; }

/* fr_content
************************************** */
.fr_loading { background-color: #fff; display: flex; align-items: center; justify-content: center; position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; z-index: 2000; }

/* fr_content
************************************** */
.fr_content { font-family: 'Noto Sans JP', sans-serif; }
.fr_content img { vertical-align: top; width: 100%; max-width: 100%; height: auto; image-rendering: -webkit-optimize-contrast; }

/* fr_container
************************************** */
.fr_container { box-sizing: border-box; position: relative; text-align: left; margin-right: auto; margin-left: auto; padding-left: 13px; padding-right: 13px; max-width: 1226px; }
@media (max-width: 767px) {
.fr_container { margin-right: 0; margin-left: 0; padding-left: 30px; padding-right: 30px; max-width: none; }
}

/* fr_heading
************************************** */
.fr_heading--A { font-family: 'Noto Serif JP', serif; font-size: 2.25em; font-weight: 700; letter-spacing: 0.2em; line-height: 1.7777; } /* 36px */
.fr_heading--A span { display: block; text-align: center; letter-spacing: 0.07em; } /* 36px */
.fr_heading--A small { display: block; font-size: 0.5em; text-align: center; letter-spacing: normal; margin-top: 5px; } /* 18px */
.fr_heading--B { font-family: 'Noto Serif JP', serif; font-size: 1.5em; font-weight: 700; letter-spacing: 0.1em; line-height: 1.75; } /* 24px */
.fr_heading--C { font-family: 'Noto Serif JP', serif; font-size: 1.375em; font-weight: 700; letter-spacing: 0.1em; line-height: 1.5909; } /* 22px */
@media (max-width: 767px) {
.fr_heading--A { font-size: 1.1875em; line-height: 1.7894; } /* 19px */
.fr_heading--A span { font-size: 1.2105em; line-height: 1.3043; } /* 23px */
.fr_heading--A small { font-size: 0.6315em; } /* 12px */
.fr_heading--B { font-size: 1.0625em; line-height: 1.8823; } /* 17px */
.fr_heading--C { font-size: 1em; line-height: 1.5909; letter-spacing: 0.05em; text-align: center; } /* 16px */
}

/* fr_btn
************************************** */
a.fr_btn--A { background-color: #fff; color: #333; display: block; text-align: center; position: relative; }
a.fr_btn--A:hover { text-decoration: none; }
a.fr_btn--A::before { background-color: #333; content: ""; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px; }
a.fr_btn--A::after { background-color: #333; content: ""; position: absolute; top: 0px; right: 0px; width: 1px; height: 100%; }
a.fr_btn--A > span { display: block; position: relative; padding: 25px 31px; }
a.fr_btn--A > span::before { background-color: #333; content: ""; position: absolute; bottom: 0px; right: 0px; width: 100%; height: 1px; }
a.fr_btn--A > span::after { background-color: #333; content: ""; position: absolute; bottom: 0px; left: 0px; width: 1px; height: 100%; }
a.fr_btn--A > span > span { background: url("/home/suihanki/special/firmer_rice/img/icon_blank.png") right center/18px 18px no-repeat; display: block; padding: 0 25px; }

@media (min-width: 768px) {
a.fr_btn--A { transition: background-color 0.3s ease, color 0.3s ease; }
a.fr_btn--A:hover { background-color: #333; color: #fff; transition: background-color 1s 0.5s ease, color 1s 0.5s ease; }
a.fr_btn--A::before { transition: width 0.3s 0.3s ease; }
a.fr_btn--A:hover::before { width: 0%; transition: width 0.3s 0.2s ease-in; }
a.fr_btn--A::after { transition: height 0.2s 0.3s ease; }
a.fr_btn--A:hover::after { height: 0%; transition: height 0.2s ease; }
a.fr_btn--A > span::before { width: 100%; transition: width 0.3s 0.3s ease; }
a.fr_btn--A:hover > span::before { width: 0%; transition: width 0.3s 0.2s ease-in; }
a.fr_btn--A > span::after { transition: height 0.2s 0.3s ease; }
a.fr_btn--A:hover > span::after { height: 0%; transition: height 0.2s ease; }
a.fr_btn--A > span > span { transition: background-image 0.3s ease; }
a.fr_btn--A:hover > span > span { background-image: url("/home/suihanki/special/firmer_rice/img/icon_blank_w.png"); transition: background-image 1s 0.5s ease; }

}
@media (max-width: 767px) {
a.fr_btn--A { font-size: 0.8125em; }
a.fr_btn--A > span { padding: 15px 20px; }
a.fr_btn--A > span > span { background: url("/home/suihanki/special/firmer_rice/img/icon_blank_sp.png") right center/12px 12px no-repeat; padding: 0 20px; }
}

/* fr_caption
************************************** */
.fr_caption > li { position: relative; padding-left: 1.2em; }
.fr_caption > li > span { position: absolute; top: 0px; left: 0px; }
@media (max-width: 767px) {
}

/* fr_title
************************************** */
.fr_title { position: relative; height: 540px; }
.fr_title .fr_container { height: 100%; }
.fr_title__bg { overflow: hidden; position: absolute; left: 0px; top: 0px; width: 100%; height: 540px; }
.fr_title__bg span { display: block; position: absolute; left: 0px; bottom: 0px; width: 100%; height: 840px; }
.fr_title__bg img { display: none; }
.fr_title__point { position: absolute; bottom: -33px; left: 13px; width: 16px; }
.fr_title__review { position: absolute; bottom: -32px; left: 13px; width: 16px; }
.fr_title__bg.title-01 span { background: url(/home/suihanki/special/firmer_rice/img/bg_point_01.jpg) center center/cover no-repeat; }
.fr_title__bg.title-02 span { background: url(/home/suihanki/special/firmer_rice/img/bg_point_02.jpg) center center/cover no-repeat; }
.fr_title__bg.title-03 span { background: url(/home/suihanki/special/firmer_rice/img/bg_review.jpg) center center/cover no-repeat; }
@media (max-width: 767px) {
.fr_title { height: 185px; }
.fr_title__bg { height: 185px; }
.fr_title__bg span { height: 260px; }
.fr_title__point { bottom: -23px; left: 30px; width: 11px; }
.fr_title__review { bottom: -22px; left: 30px; width: 11px; }
.fr_title__bg.title-01 span { background: url(/home/suihanki/special/firmer_rice/img/bg_point_sp_01.jpg) center center/cover no-repeat; }
.fr_title__bg.title-02 span { background: url(/home/suihanki/special/firmer_rice/img/bg_point_sp_02.jpg) center center/cover no-repeat; }
.fr_title__bg.title-03 span { background: url(/home/suihanki/special/firmer_rice/img/bg_review_sp.jpg) center center/cover no-repeat; }
}

/* fr_mv
************************************** */
.fr_mv { color: #fff; position: relative; overflow: hidden; height: 700px; }
.fr_mv__bg { background: url(/home/suihanki/special/firmer_rice/img/bg_main.jpg) center center/cover no-repeat; position: absolute; left: 0px; bottom: 0px; width: 100%; height: 700px; }
.fr_mv__bg img { display: none; }
.fr_mv__heading { display: block; font-size: 100%; padding: 92px 0 0 43px; }
.fr_mv__heading span { display: block; font-family: 'Noto Serif JP', serif; font-size: 3.3412em; font-weight: 500; line-height: 1.346; letter-spacing: -0.04em; text-shadow: 0 0 7px rgba(0,0,0,1); margin-left: -10px; }
.fr_mv__heading span em{font-weight: 500}
.fr_mv__heading small { display: block; font-size: 1.375em; line-height: 1.909; letter-spacing: 0.15em; text-shadow: 0 0 7px rgba(0,0,0,1); margin-top: 33px; margin-left: -12px; }

.fr_mv.is-init .fr_mv__heading span { opacity: 0; }
.fr_mv.is-init.is-play .fr_mv__heading span { opacity: 1; transition: opacity 1.5s ease-out; }
.fr_mv.is-init .fr_mv__heading small { opacity: 0; }
.fr_mv.is-init.is-play .fr_mv__heading small { opacity: 1; transition: opacity 1.5s 1s ease-out; }

.fr_mv__product{position: relative;z-index: 1;}
.fr_mv__product-wrap{ position: absolute; bottom: -30px; right: 13px; display: flex; justify-content: space-between; align-items: center; }
.fr_mv__product-logo{ margin: 12px 35px 0 0; }
.fr_mv__product-item{ display: flex; justify-content: space-between; }
.fr_mv__product-col{ display: flex; flex-direction: column-reverse; align-items: center; }
.fr_mv__product-col+.fr_mv__product-col{ margin-left: 30px; }
.fr_mv__product-caption{ font-size: 112.5%; text-shadow: 0 0 7px rgba(0,0,0,1),0 0 7px rgba(0,0,0,1),0 0 7px rgba(0,0,0,1); color:#fff; margin-bottom: 14px; letter-spacing: 0.02em; }

.fr_point__content{ margin-top: 72px; }
.fr_point__content-wrap {border-bottom: 1px solid #333;padding-bottom: 56px;}
.fr_point__content .fr_border__title{font-size: calc((20 / 16) * 100%); font-weight: 500; position: relative;margin-bottom: 40px;letter-spacing: 0.2em;}
.fr_point__content .fr_border__title span{display: inline-block;position: relative;z-index: 2;background-color: #fff;padding-right: 7px;}
.fr_point__content .fr_border__title:after {content: "";display: block;height: 1px;width: 100%;position: absolute;top: 50%;background-color: #333;z-index: 1;}
.fr_point__content .fr_point__list{padding: 0 32px;}
.fr_point__content .fr_point__list li+li{border-top: 1px solid #d9d9d9;margin-top: 25px;padding-top: 25px;}
.fr_point__content .fr_point__list dl{display: flex;align-items: center;}
.fr_point__content .fr_point__list dt{margin-right: 30px;font-size: 0;line-height: 0;}
.fr_point__content .fr_point__list dd {flex:1;font-family: 'Noto Serif JP', serif;font-size: 1.125em;font-weight: 500;letter-spacing: 0.167em;}

@media (max-width: 767px) {
.fr_mv { height: 405px; }
.fr_mv__bg { height: 550px; }
.fr_mv__heading { padding: 25px 0 0 10px; }
.fr_mv__heading span { font-size: 1.7em; line-height: 1.47427; text-shadow: 0 0 4px rgba(0,0,0,1); margin-left: -5px;letter-spacing: -0.05em; }
.fr_mv__heading small { font-size: 0.875em; line-height: 1.5714; text-shadow: 0 0 4px rgba(0,0,0,1); margin-top: 12px; margin-left: 0; }
.fr_mv__heading em{ font-weight: bold; }

.fr_mv__product-wrap{ position: absolute; bottom: -60px; right: 0; width: 100%; display: block; text-align: center; }
.fr_mv__product-logo{ margin: 0; }
.fr_mv__product-logo img{ width: 120px; }
.fr_mv__product-item{ justify-content: center; }
.fr_mv__product-item img{ width: 95px; }
.fr_mv__product-col{ display: block; }
.fr_mv__product-col+.fr_mv__product-col{ margin-left: 15px; }
.fr_mv__product-caption{ font-size: calc((11 / 15.96) * 100%); text-shadow: none; color:#333; margin-bottom: 0; }

.fr_point__content{ margin-top: 45px; }
.fr_point__content-wrap {padding-bottom: 20px;}
.fr_point__content .fr_border__title{font-size: calc((15 / 15.96) * 100%);margin-bottom: 20px;letter-spacing: 0.15em;}
.fr_point__content .fr_point__list{padding: 0 13px;}
.fr_point__content .fr_point__list li+li{border-top: 1px solid #d9d9d9;margin-top: 20px;padding-top: 20px;}
.fr_point__content .fr_point__list dl{display: block;}
.fr_point__content .fr_point__list dt{margin-right: 0;}
.fr_point__content .fr_point__list dt img{width: 83px;}
.fr_point__content .fr_point__list dd {flex:initial;font-size: calc((13 / 15.96) * 100%);line-height: calc(36 / 26);letter-spacing: 0.08em;margin-top: 7px;}
}

/* fr_movie
************************************** */
.fr_movie { margin-top: 80px; }
.fr_movie__wrap { margin: 0 auto; width: 100%; max-width: 750px; }
.fr_movie__inner { position: relative; padding-bottom: 56.25%; }
.fr_movie__inner > * { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; }
/*.fr_movie__inner .video-js .vjs-big-play-button { background: rgba(0,0,0,0.5) url("/home/suihanki/special/firmer_rice/img/icon_movie_play.png") center center/109px 109px no-repeat; top: 50%; left: 50%; margin: -56px 0 0 -56px; width: 111px; height: 111px; }
.fr_movie__inner .video-js .vjs-big-play-button .vjs-icon-placeholder:before {content: "";}*/
@media (min-width: 768px) {
.fr_movie__inner .video-js .vjs-big-play-button { transition: opacity 0.3s ease; }
.fr_movie__inner .video-js:hover .vjs-big-play-button { opacity: 0.5; }
}
@media (max-width: 767px) {
.fr_movie { margin-top: 38px; }
/*.fr_movie__inner .video-js .vjs-big-play-button { background: rgba(0,0,0,0.5) url("/home/suihanki/special/firmer_rice/img/icon_movie_play_sp.png") center center/46px 46px no-repeat; margin: -23px 0 0 -23px; width: 48px; height: 48px; }*/
}

/* fr_lead
************************************** */
.fr_lead { background-color: #f0efeb; position: relative; height: 757px; }
.fr_lead > img { display: none; }
.fr_lead__yuge{ overflow: hidden; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; }
.fr_lead__yuge .yuge--01{ position: absolute; top: 300px; left: calc(50% - 780px); width: 606px; }
.fr_lead__yuge .yuge--02{ position: absolute; top: 160px; left: calc(50% + 350px); width: 599px; }
.fr_lead__yuge .yuge--03{ position: absolute; top: -170px; left: calc(50% - 250px); width: 486px; }
.fr_lead__bg { position: absolute; left: calc(50% - 194px); top: calc(100% - 185px); width: 388px; }
.fr_lead__text { display: flex; flex-direction: row-reverse; justify-content: center; font-family: 'Noto Serif JP', serif; font-size: 1.25em; font-weight: 500; letter-spacing: 0.2em; line-height: 1; padding: 150px 65px 0 0; }
.fr_lead__text li { width: 1em; }
.fr_lead__text li + li { margin-right: 60px; }
.fr_lead__text li > span.tx-vertical { -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
.fr_lead__text li > span.tx-no { display: block; line-height: 1.2; margin: -0.2em 0 0.2em 0.25em; }
.fr_lead__text li > span.tx-dot-r { display: block; text-align: right; margin: 0 -1em -0.5em 0; }
.fr_lead__text li > span.tx-dot-l { display: block; margin: -0.2em 0 0 -0.5em; }
.fr_lead__text li > span.tx-caption { display: block; font-size: 0.7em; text-align: center; margin-right: -0.3em; }

.fr_lead__text.is-init li { opacity: 0; }
.fr_lead__text.is-init.is-play li { animation: text-in 1.5s ease-in-out forwards; }
.fr_lead__text.is-init.is-play li:nth-of-type(2) { animation-delay: 0.1s; }
.fr_lead__text.is-init.is-play li:nth-of-type(3) { animation-delay: 0.2s; }
.fr_lead__text.is-init.is-play li:nth-of-type(4) { animation-delay: 0.3s; }
.fr_lead__text.is-init.is-play li:nth-of-type(5) { animation-delay: 0.4s; }
.fr_lead__text.is-init.is-play li:nth-of-type(6) { animation-delay: 0.5s; }
.fr_lead__text.is-init.is-play li:nth-of-type(7) { animation-delay: 0.6s; }
.fr_lead__text.is-init.is-play li:nth-of-type(8) { animation-delay: 0.7s; }
.fr_lead__text.is-init.is-play li:nth-of-type(9) { animation-delay: 0.8s; }
.fr_lead__text.is-init.is-play li:nth-of-type(10) { animation-delay: 0.9s; }
.fr_lead__yuge.is-init .yuge--01{ transform: translateY(100px); opacity: 0; }
.fr_lead__yuge.is-init .yuge--02{ transform: translateY(100px); opacity: 0; }
.fr_lead__yuge.is-init .yuge--03{ transform: translateY(100px); opacity: 0; }
.fr_lead__yuge.is-init.is-play .yuge--01{ transform: translateY(0px); opacity: 1; transition: transform 3s cubic-bezier(.38,.96,.7,.99), opacity 3s cubic-bezier(.38,.96,.7,.99);}
.fr_lead__yuge.is-init.is-play .yuge--02{ transform: translateY(0px); opacity: 1; transition: transform 3s 0.5s cubic-bezier(.38,.96,.7,.99), opacity 3s 0.5s cubic-bezier(.38,.96,.7,.99);}
.fr_lead__yuge.is-init.is-play .yuge--03{ transform: translateY(0px); opacity: 1; transition: transform 3s 1s cubic-bezier(.38,.96,.7,.99), opacity 3s 1s cubic-bezier(.38,.96,.7,.99);}
@media (min-width: 768px) and (max-width: 950px) {
.fr_lead__text { padding: 150px 40px 0 0; }
.fr_lead__text li + li { margin-right: 40px; }
}
@media (max-width: 767px) {
.fr_lead { height: 562px; }
.fr_lead__yuge .yuge--01{ top: 180px; left: auto; right: calc(50% + 20px); width: 290px; }
.fr_lead__yuge .yuge--02{ top: 285px; left: calc(50% + 15px); width: 290px; }
.fr_lead__yuge .yuge--03{ top: -80px; left: calc(50% - 110px); width: 235px; }
.fr_lead__bg { position: absolute; left: calc(50% - 113px); top: calc(100% - 85px); width: 226px; }
.fr_lead__text { justify-content: space-between; font-size: 0.875em; margin: 0 auto; padding: 130px 0 0 0; width: 100%; max-width: 450px; }
.fr_lead__text li + li { margin-right: 0; }
.fr_lead__text li:last-of-type { display: none; }
.fr_lead__caption { font-family: 'Noto Serif JP', serif;  font-size: 0.75em; font-weight: 500; letter-spacing: 0.1em; text-align: center; margin-top: 38px; }
}
@keyframes text-in {
0% { filter: blur(50px); transform: translate(0,150px) scale(1.3); opacity: 0; }
100% { filter: blur(0px); opacity: 1; transform: translate(0,0) scale(1); }
}

/* fr_copy
************************************** */
.fr_copy { margin-top: 280px; }
.fr_copy p { font-family: 'Noto Serif JP', serif; font-size: 1.75em; font-weight: 700; line-height: 2.0714; letter-spacing: 0.25em; text-align: center; }
@media (max-width: 767px) {
.fr_copy { margin-top: 180px; }
.fr_copy .fr_container { padding: 0; }
.fr_copy p { font-size: 1.25em; line-height: 1.9; letter-spacing: 0.1em; }
}

/* fr_point
************************************** */
.fr_point { overflow: hidden; margin-top: 100px; }
.fr_point__block { margin-top: 140px; }
.fr_point__section { border-top: 1px solid #cfcfcf; margin-top: 100px; padding-top: 80px; }
.fr_point__column { display: flex; justify-content: space-between; margin-top: 80px; }
.fr_point__text { width: 45%; }
.fr_point__text p { font-size: 0.875em; letter-spacing: 0.1em; line-height: 2.5; }
.fr_point__text p + p { margin-top: 30px; }
.fr_point__caption { font-size: 0.75em; letter-spacing: 0.1em; line-height: 1.8333; margin-top: 25px; }
.fr_point__img { width: 48.3333%; }
.fr_point__link { margin-top: 50px; }
.fr_point__link a.fr_btn--A > span { padding: 25px 30px; }
@media (min-width: 768px) {
.fr_point__column--reverse .fr_point__text { order: 2; }
.fr_point__column--reverse .fr_point__img { order: 1; }
}
@media (max-width: 767px) {
.fr_point { margin-top: 60px; }
.fr_point__block { margin-top: 60px; }
.fr_point__section { margin-top: 40px; padding-top: 40px; }
.fr_point__section + .fr_point__section { margin-top: 60px; }
.fr_point__column { display: block; margin-top: 30px; }
.fr_point__text { width: auto; }
.fr_point__text p { line-height: 2.2857; }
.fr_point__caption { line-height: 2; }
.fr_point__img { margin-top: 30px; width: auto; }
.fr_point__link { margin-top: 30px; }
.fr_point__link a.fr_btn--A > span { padding: 15px 20px; }
}

/* fr_review
************************************** */
.fr_review { overflow: hidden; margin-top: 200px; }
.fr_review__block { margin-top: 140px; }
.fr_review__section { border-bottom: 1px solid #cfcfcf; border-top: 1px solid #cfcfcf; margin-top: 100px; padding-bottom: 80px; }
.fr_review__column { display: flex; align-items: center; justify-content: space-between; position: relative; margin: 0 auto; padding-top: 100px; width: 100%; max-width: 1000px; z-index: +1; }
.fr_review__column + .fr_review__column {  border-top: 1px solid #cfcfcf; margin-top: 80px; padding-top: 80px; }
.fr_review__img { align-self: flex-start; position: relative; width: 23%; }
.fr_review__img > span { display: block;position: absolute; top: 0px; left: 93.4782%; margin-top: 2.1739%; width: 105.2173%; z-index: -1; }
.fr_review__text { width: 71%; }
.fr_review__text p:nth-of-type(1) { font-size: 0.875em; letter-spacing: 0.1em; line-height: 2.1428; }
.fr_review__text p:nth-of-type(2) { font-weight: 700; letter-spacing: 0.1em; line-height: 2.1875; margin-top: 10px; }
@media (max-width: 767px) {
.fr_review { margin-top: 80px; }
.fr_review__block { margin-top: 60px; }
.fr_review__section { margin-top: 40px; padding-bottom: 40px; }
.fr_review__column { display: block; padding-top: 40px; }
.fr_review__column + .fr_review__column {  margin-top: 40px; padding-top: 40px; }
.fr_review__img { display: flex; align-items: center; width:auto; }
.fr_review__img > img { margin-right: 20px; width: 115px; }
.fr_review__img > span { top: -2px; left: 105px; margin-top: 0; width: 131px; }
.fr_review__img > p { flex: 1; font-size: 0.875em; font-weight: 700; line-height: 1.6428; }
.fr_review__text { margin-top: 20px; width: auto; }
.fr_review__text p:nth-of-type(1) { line-height: 1.7857; }
}

/* fr_product
************************************** */
.fr_product { background-color: #f0efeb; margin-top: 103px; padding: 140px 0 150px 0; }
.fr_product__heading { font-family: 'Noto Serif JP', serif; font-size: 1em; font-weight: 700; text-align: center; }
.fr_product__heading span { display: block; font-size: 2.625em; letter-spacing: 0.07em; }
.fr_product__heading small { display: block; font-size: 1.625em; letter-spacing: 0.07em; margin-top: 10px; }
.fr_product__column { display: flex; align-items: center; justify-content: space-between; margin: 0 auto; padding-top: 80px; width: 100%; max-width: 1000px; }
.fr_product__img { align-self: flex-start; margin-left: 7.5%; width: 27.5%; }
.fr_product__text { width: 51%; }
.fr_product__text p { font-size:  1.125em; line-height: 2.2222; margin-top: 30px; }
.fr_product__link { margin-top: 40px; }
.fr_product__link .fr_btn--A { background-color: #f0efeb; }
.fr_product__bnr { border-top: 1px solid #cfcfcf; margin-top: 100px; padding-top: 60px; }
@media (max-width: 767px) {
.fr_product { margin-top: 70px; padding: 70px 0 80px 0; }
.fr_product__heading span { font-size: 1.5625em; }
.fr_product__heading small { font-size: 1.125em; margin-top: 3px; }
.fr_product__column { display: block; margin: 0; padding-top: 40px; }
.fr_product__img { text-align: center; margin-left: 0; width: auto; }
.fr_product__img img { width: 145px; }
.fr_product__text { margin-top: 30px; width: auto; }
.fr_product__text p { font-size:  0.875em; line-height: 2; text-align: center; margin-top: 15px; }
.fr_product__link { margin-top: 20px; }
.fr_product__bnr { margin-top: 30px; padding-top: 30px; }
.fr_product__wrap{ width: 100%; margin-top: -138px; text-align: center;}
.fr_product__wrap .fr_product__logo{ width: 100%; margin-bottom: 5px;  margin-top: 0; }
.fr_product__wrap .fr_product__logo img{ max-width: 116px; }
.fr_product__wrap .fr_product__item{ width: 65.334%; margin: -6px auto 0; }
.fr_product__wrap .fr_product__col + .fr_product__col{ margin-left: 10px; }
.fr_product__wrap .fr_product__col{ flex-direction: column; }
.fr_product__wrap .fr_product__caption{ font-size: 68.922%; color: #333; text-shadow: none; margin-top: 3px; margin-bottom: 0; }
}

/* fr_lineup
************************************** */
.fr_lineup { margin-top: 130px; }
.fr_lineup__list { display: flex; justify-content: center; margin-top: 50px; }
.fr_lineup__list li { box-sizing: border-box; background-color: #f0efeb; padding: 4.1666%; width: 32.5%; }
.fr_lineup__list li+li{margin-left: 1.25%;}
.fr_lineup__heading { font-size: 1em; text-align: center; }
.fr_lineup__heading span { display: block; font-family: 'Noto Serif JP', serif; font-size: 1.625em; font-weight: 700; line-height: 1.3461; }
.fr_lineup__heading small { display: block; font-size: 1em; font-weight: 400; line-height: 2.1875; }
.fr_lineup__img { text-align: center; margin-top: 60px; }
.fr_lineup__img img { width: 174px; }
.fr_lineup__link { margin-top: 60px; }
.fr_lineup__link .fr_btn--A { background-color: #f0efeb; font-size: 0.875em; }
.fr_lineup__link .fr_btn--A > span { padding: 18px 20px; }
.fr_lineup__link .fr_btn--A > span > span { background-size: 16px 16px; }
@media (max-width: 767px) {
.fr_lineup { margin-top: 75px; }
.fr_lineup__list { display: block; margin-top: 30px; }
.fr_lineup__list li { padding: 30px; width: auto; }
.fr_lineup__list li + li { margin-top: 30px; margin-left: 0;}
.fr_lineup__heading span { font-size: 1em; }
.fr_lineup__heading small { font-size: 0.6875em; line-height: 1.5909; margin-top: 5px; }
.fr_lineup__img { margin-top: 15px; }
.fr_lineup__img img { width: 118px; }
.fr_lineup__link { margin-top: 20px; }
.fr_lineup__link .fr_btn--A { font-size: 0.8125em; }
.fr_lineup__link .fr_btn--A > span { padding: 15px 20px; }
.fr_lineup__link .fr_btn--A > span > span { background-size: 12px 12px; }
}

/* fr_chronology
************************************** */
.fr_chronology { overflow: hidden; margin-top: 140px; }
.fr_chronology__heading--A { font-size: 1em; text-align: center; position: relative; font-family: 'Noto Serif JP', serif; font-weight: 700; }
.fr_chronology__heading--A small { display: block; font-size: 1.125em; line-height: 1.2; }
.fr_chronology__heading--A span { color: #9b8659; display: block; font-size: 1em; font-weight: 500; line-height: 1.2; margin-top: 40px; }
.fr_chronology__heading--B { font-size: 1em; font-family: 'Noto Serif JP', serif; font-weight: 700; }
.fr_chronology__heading--B small { display: block; font-size: 1.125em; line-height: 1.2; }
.fr_chronology__heading--B span { color: #9b8659; display: block; font-size: 1.25em; font-weight: 500; line-height: 1.2; margin-top: 5px; }
.fr_chronology__wrap { border-top: 1px solid #cfcfcf; padding-top: 100px; }
.fr_chronology__lead { line-height: 1.875; text-align: center; margin-top: 30px; }
.fr_chronology__caption { display: flex; flex-wrap: wrap; justify-content: center; font-size: 0.75em; margin-top: 65px; }
.fr_chronology__caption + .fr_chronology__caption { margin-top: 0; }
.fr_chronology__caption li { position: relative; margin: 8px 1em 0 0; padding-left: 2.5em; }
.fr_chronology__caption li span { position: absolute; top: 0px; left: 0px; }
.fr_chronology__list { display: flex; flex-wrap: wrap; margin: 80px auto 0 auto; width: 100%; max-width: 1072px; }
.fr_chronology__list > li { box-sizing: border-box; position: relative; padding: 0 5px; width: 20%; }
.fr_chronology__img { text-align: center; margin-top: 13px; }
.fr_chronology__img img { width: 96px; }
.fr_chronology__text { font-size: 0.75em; line-height: 1.5; text-align: center; margin-top: 13px; }
.fr_chronology__50th { display: flex; align-items: center; position: relative; margin-top: -26px; padding-left: 70px; }
.fr_chronology__50th > p { align-self: flex-start; position: relative; margin-right: 10%; width: 140px; z-index: +1; }
.fr_chronology__50th-body { flex: 1; }
.fr_chronology__50th-body > p { font-size: 0.8125em; line-height: 1.5384; margin-top: 25px; }
.fr_chronology__50th-link { margin-top: 25px; }
.fr_chronology__50th-link .fr_btn--A { font-size: 0.875em; }
.fr_chronology__50th-link .fr_btn--A > span { padding: 18px 20px; }
.fr_chronology__50th-link .fr_btn--A > span > span { background-size: 16px 16px; }
.fr_chronology__more { border-top: 1px solid #cfcfcf; margin-top: 90px; padding-top: 60px; }
.fr_chronology__more p { margin: 0 auto; width: 100%; max-width: 780px; }
@media (min-width: 768px) {
.fr_chronology__heading--A::before { background-color: #222222; border-radius: 50%; content: ""; position: absolute; top: 35px; left: calc(50% - 3px); width: 7px; height: 7px; }
.fr_chronology__list > li .line--width { position: absolute; top: 38px; left: 0px; width: 100%; }
.fr_chronology__list > li .line--width span { background-color: #222222; display: block; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px; }
.fr_chronology__list > li .line--height { position: absolute; top: 38px; right: 0px; width: 1px; height: calc(100% + 60px); }
.fr_chronology__list > li .line--height span { background-color: #222222; display: block; width: 1px; height: 100%; }
.fr_chronology__list > li:nth-of-type(n+6) { margin-top: 60px; }
.fr_chronology__list > li:nth-of-type(1) .line--width { left: 50%; width: 50%; }
.fr_chronology__list > li:nth-of-type(12) .line--width { width: calc(100% + 90px); }
.fr_chronology__list > li:nth-of-type(10) .line--height { left: 0px; right: auto; }
.fr_chronology__list > li:nth-of-type(1) { order: 1; }
.fr_chronology__list > li:nth-of-type(2) { order: 2; }
.fr_chronology__list > li:nth-of-type(3) { order: 3; }
.fr_chronology__list > li:nth-of-type(4) { order: 4; }
.fr_chronology__list > li:nth-of-type(5) { order: 5; }
.fr_chronology__list > li:nth-of-type(6) { order: 10; }
.fr_chronology__list > li:nth-of-type(7) { order: 9; }
.fr_chronology__list > li:nth-of-type(8) { order: 8; }
.fr_chronology__list > li:nth-of-type(9) { order: 7; }
.fr_chronology__list > li:nth-of-type(10) { order: 6; }
.fr_chronology__list > li:nth-of-type(6) .line--width span,
.fr_chronology__list > li:nth-of-type(7) .line--width span,
.fr_chronology__list > li:nth-of-type(8) .line--width span,
.fr_chronology__list > li:nth-of-type(9) .line--width span,
.fr_chronology__list > li:nth-of-type(10) .line--width span { left: auto; right: 0px; }
.fr_chronology__list > li:nth-of-type(11) { order: 11; }
.fr_chronology__list > li:nth-of-type(12) { order: 12; }
.fr_chronology__list > li:nth-of-type(13) { order: 13; width: 60%; }
.is-init > li .line--width span {width: 0%;}
.is-init > li .line--height span {height: 0%;}
.is-init.is-play > li .line--width span {width: 100%; transition: width 0.15s linear;}
.is-init.is-play > li .line--height span {height: 100%; transition: height 0.15s linear;}
.is-init.is-play > li:nth-of-type(1) .line--width span {transition: width 0.1s linear;}
.is-init .fr_chronology__heading--A::before { opacity: 0; }
.is-init.is-play .fr_chronology__heading--A::before { opacity: 1; transition: opacity 0.15s; }
.is-init .fr_chronology__heading--A small,
.is-init .fr_chronology__heading--A span,
.is-init .fr_chronology__img,
.is-init .fr_chronology__text { transform: translateY(15px); opacity: 0; }
.is-init.is-play .fr_chronology__heading--A small,
.is-init.is-play .fr_chronology__heading--A span,
.is-init.is-play .fr_chronology__img,
.is-init.is-play .fr_chronology__text { transform: translateY(0px); opacity: 1; transition: transform 0.5s cubic-bezier(.38,.96,.7,.99), opacity 0.5s cubic-bezier(.38,.96,.7,.99); }
.is-init .fr_chronology__50th { transform: translateX(50px); opacity: 0; }
.is-init.is-play .fr_chronology__50th { transform: translateX(0px); opacity: 1; transition: transform 0.5s cubic-bezier(.38,.96,.7,.99), opacity 0.5s cubic-bezier(.38,.96,.7,.99); }

.fr_chronology__list.is-init.is-play > li:nth-of-type(2) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(2) *{transition-delay: 0.1s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(3) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(3) *{transition-delay: 0.25s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(4) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(4) *{transition-delay: 0.4s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(5) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(5) *{transition-delay: 0.55s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(5) .line--height span {transition-delay: 0.7s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(6) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(6) *{transition-delay: 0.85s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(7) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(7) *{transition-delay: 1s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(8) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(8) *{transition-delay: 1.15s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(9) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(9) *{transition-delay: 1.3s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(10) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(10) *{transition-delay: 1.45s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(10) .line--height span {transition-delay: 1.6s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(11) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(11) *{transition-delay: 1.75s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(12) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(12) *{transition-delay: 1.9s;}
.fr_chronology__list.is-init.is-play > li .fr_chronology__50th{transition-delay: 1.9s;}
}
@media (min-width: 768px) and (max-width: 860px) {
.fr_chronology__50th { padding-left: 30px; }
.fr_chronology__list > li:nth-of-type(12) .line--width { width: calc(100% + 50px); }
}
@media (max-width: 767px) {
.fr_chronology { margin-top: 70px; }
.fr_chronology__heading--A { text-align: left; }
.fr_chronology__heading--A small { font-size: 0.75em; width: 50px; }
.fr_chronology__heading--A span { display: none; }
.fr_chronology__heading--B small { font-size: 0.75em; }
.fr_chronology__heading--B span { font-size: 0.875em; margin-top: 3px; }
.fr_chronology__wrap { padding-top: 60px; }
.fr_chronology__lead { font-size: 0.875em; line-height: 2; text-align: left; margin-top: 15px; }
.fr_chronology__caption { display: block; line-height: 1.8333; margin-top: 30px; }
.fr_chronology__caption li { margin: 3px 1em 0 0; }
.fr_chronology__list { display: block; margin: 30px 0 0 0; }
.fr_chronology__list > li { display: flex; align-items: center; padding: 0; width: auto; }
.fr_chronology__list > li + li { margin-top: 35px; }
.fr_chronology__img { margin: 0 10px 0 0; }
.fr_chronology__img img { width: 67px; }
.fr_chronology__text { flex: 1; text-align: left; margin-top: 0; }
.fr_chronology__text > span { color: #9b8659; display: block; font-family: 'Noto Serif JP', serif; font-size: 1.1666em; font-weight: 500; line-height: 1.2; margin-bottom: 5px; }
.fr_chronology__50th { margin-top: 0; padding-left: 0; }
.fr_chronology__50th > p { margin: 0 30px 0 3px; width: 75px; }
.fr_chronology__50th-body { flex: inherit; width: calc(100% - 108px); }
.fr_chronology__50th-body > p { font-size: 0.75em; line-height: 1.5; margin-top: 10px; }
.fr_chronology__50th-link { margin-top: 15px; }
.fr_chronology__50th-link .fr_btn--A { font-size: 0.8125em; }
.fr_chronology__50th-link .fr_btn--A > span { padding: 15px 20px; }
.fr_chronology__50th-link .fr_btn--A > span > span { background-size: 12px 12px; }
.fr_chronology__more { margin-top: 40px; padding-top: 30px; }
.fr_chronology__more p { margin: 0; }
.fr_chronology__heading--A::before { background-color: #222222; border-radius: 50%; content: ""; position: absolute; top: calc(50% - 2px); left: 35px; width: 5px; height: 5px; }
.fr_chronology__list > li .line--width { position: absolute; top: 0px; left: 37px; width: 1px; height: calc(100% + 37px); }
.fr_chronology__list > li .line--width span { background-color: #222222; display: block; position: absolute; top: 0px; left: 0px; width: 1px; height: 100%; }
.fr_chronology__list > li .line--height { display: none; }
.fr_chronology__list > li:nth-of-type(1) .line--width { top: calc(50% - 2px); height: calc(50% + 37px); }
.fr_chronology__list > li:nth-of-type(12) .line--width { height: calc(100% + 32px); }
.fr_chronology__list > li:nth-of-type(13) .line--width { display: none; }

.is-init > li .line--width span {height: 0%;}
.is-init.is-play > li .line--width span {height: 100%; transition: height 0.15s linear;}
.is-init.is-play > li:nth-of-type(1) .line--width span {transition: height 0.1s linear;}
.is-init .fr_chronology__heading--A::before { opacity: 0; }
.is-init.is-play .fr_chronology__heading--A::before { opacity: 1; transition: opacity 0.15s; }
.is-init .fr_chronology__heading--A small { transform: translateX(-15px); opacity: 0; }
.is-init .fr_chronology__img,
.is-init .fr_chronology__text { transform: translateX(15px); opacity: 0; }
.is-init.is-play .fr_chronology__heading--A small,
.is-init.is-play .fr_chronology__img,
.is-init.is-play .fr_chronology__text { transform: translateX(0px); opacity: 1; transition: transform 0.5s cubic-bezier(.38,.96,.7,.99), opacity 0.5s cubic-bezier(.38,.96,.7,.99); }
.is-init .fr_chronology__50th { transform: translateX(15px); opacity: 0; }
.is-init.is-play .fr_chronology__50th { transform: translateX(0px); opacity: 1; transition: transform 0.5s cubic-bezier(.38,.96,.7,.99), opacity 0.5s cubic-bezier(.38,.96,.7,.99); }

.fr_chronology__list.is-init.is-play > li:nth-of-type(2) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(2) *{transition-delay: 0.1s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(3) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(3) *{transition-delay: 0.25s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(4) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(4) *{transition-delay: 0.4s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(5) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(5) *{transition-delay: 0.55s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(6) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(6) *{transition-delay: 0.7s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(7) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(7) *{transition-delay: 0.85s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(8) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(8) *{transition-delay: 1s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(9) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(9) *{transition-delay: 1.15s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(10) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(10) *{transition-delay: 1.3s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(11) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(11) *{transition-delay: 1.45s;}
.fr_chronology__list.is-init.is-play > li:nth-of-type(12) .fr_chronology__heading--A::before,
.fr_chronology__list.is-init.is-play > li:nth-of-type(12) *{transition-delay: 1.6s;}
.fr_chronology__list.is-init.is-play > li .fr_chronology__50th{transition-delay: 1.6s;}
}

/* fr_project
************************************** */
.fr_project { background-color: #514d47; color: #fff; overflow: hidden; margin-top: 110px; padding: 130px 0 160px 0; }
.fr_project__heading { font-size: 1em; text-align: center; }
.fr_project__heading small { display: block; font-size: 1em; font-weight: 400; line-height: 2.625; letter-spacing: 0.07em; }
.fr_project__heading span { display: block; font-family: 'Noto Serif JP', serif; font-size: 1.75em; font-weight: 700; line-height: 1.5; letter-spacing: 0.07em; margin-top: 5px; }
.fr_project__rice { display: flex; justify-content: space-between; margin-top: 60px; }
.fr_project__rice dt { width: 40.8333%; }
.fr_project__rice dd { width: 55%; }
.fr_project__rice dd p { font-size: 0.875em; line-height: 2.5; }
.fr_project__rice dd p + p { margin-top: 30px; }
.fr_project__link { border-top: 1px solid #fff; display: flex; justify-content: space-between; margin-top: 70px; padding-top: 60px; }
.fr_project__link li { width: 48.3333%; }
.fr_project__link .fr_btn--A { background-color: #514d47; color: #fff; }
.fr_project__link .fr_btn--A::before { background-color: #fff; }
.fr_project__link .fr_btn--A::after { background-color: #fff; }
.fr_project__link .fr_btn--A > span::before { background-color: #fff; }
.fr_project__link .fr_btn--A > span::after { background-color: #fff; }
.fr_project__link .fr_btn--A > span > span { background-image: url("/home/suihanki/special/firmer_rice/img/icon_blank_w.png"); }
@media (min-width: 768px) {
.fr_project__link .fr_btn--A:hover { background-color: #fff; color: #333; }
.fr_project__link .fr_btn--A:hover > span > span { background-image: url("/home/suihanki/special/firmer_rice/img/icon_blank.png"); }
}
@media (max-width: 767px) {
.fr_project { margin-top: 60px; padding: 65px 0 70px 0; }
.fr_project__heading small { font-size: 0.75em; line-height: 1.5; }
.fr_project__heading span { font-size: 1.125em; margin-top: 8px; }
.fr_project__rice { display: block; margin-top: 30px; }
.fr_project__rice dt { width: auto; }
.fr_project__rice dd { margin-top: 35px; width: auto; }
.fr_project__rice dd p { line-height: 2.28575; }
.fr_project__rice dd p + p { margin-top: 0; }
.fr_project__link { display: block; margin-top: 30px; padding-top: 30px; }
.fr_project__link li { width: auto; }
.fr_project__link li + li { margin-top: 20px; }
.fr_project__link .fr_btn--A > span > span { background-image: url("/home/suihanki/special/firmer_rice/img/icon_blank_sp_w.png"); }
}

/* fr_back
************************************** */
.fr_back { padding: 60px 0; }
.fr_back p { margin: 0 auto; width: 100%; max-width: 540px; }
.fr_back p .fr_btn--A > span { padding: 23px; }
.fr_back p .fr_btn--A > span > span { background-image: none; padding: 0; }
@media (min-width: 768px) {
.fr_back p.fr_btn--A:hover > span > span { background-image: none; }
}
@media (max-width: 767px) {
.fr_back { padding: 40px 0; }
.fr_back p { margin: 0; max-width: none; }
.fr_back p .fr_btn--A > span { padding: 15px 20px; }
}

/* animation
************************************** */
.an__in-bottom.is-init { transform: translateY(50px); opacity: 0; }
.an__in-bottom.is-init.is-play { transform: translateY(0px); opacity: 1; transition: transform 1s cubic-bezier(.38,.96,.7,.99), opacity 1s cubic-bezier(.38,.96,.7,.99); }
@media (min-width: 768px) {
.an__in-left.is-init { transform: translateX(-50px); opacity: 0; }
.an__in-left.is-init.is-play { transform: translateX(0px); opacity: 1; transition: transform 1s cubic-bezier(.38,.96,.7,.99), opacity 1s cubic-bezier(.38,.96,.7,.99); }
.an__in-right.is-init { transform: translateX(50px); opacity: 0; }
.an__in-right.is-init.is-play { transform: translateX(0px); opacity: 1; transition: transform 1s cubic-bezier(.38,.96,.7,.99), opacity 1s cubic-bezier(.38,.96,.7,.99); }
.is-play.an__delay--1 { transition-delay: 0.3s !important; }
.is-play.an__delay--2 { transition-delay: 0.6s !important; }
}
@media (max-width: 767px) {
.an__in-left.is-init { transform: translateY(50px); opacity: 0; }
.an__in-left.is-init.is-play { transform: translateY(0px); opacity: 1; transition: transform 1s cubic-bezier(.38,.96,.7,.99), opacity 1s cubic-bezier(.38,.96,.7,.99); }
.an__in-right.is-init { transform: translateY(50px); opacity: 0; }
.an__in-right.is-init.is-play { transform: translateY(0px); opacity: 1; transition: transform 1s cubic-bezier(.38,.96,.7,.99), opacity 1s cubic-bezier(.38,.96,.7,.99); }
}









