@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@100;200;400;600;700&display=swap');

#page #main h1,#page #main h2,#page #main h3,#page #main h4,#page #main h5 {
	line-height: 1.5;  
}
#page #main p,#page #main table,#page #main li,#page #main {
	line-height: 1.8;  
}
.page_ttl .slide_img .img01 {
  position: relative;
  height: 18.75rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.page_ttl .slide_img .img01:before {
  content: "";
    background-image: url(../img/share/title1.png);
    background-size: 100%;
    background-repeat: no-repeat;
    width: 20%;
    height: 13.15rem;
    position: absolute;
    bottom: 0px;
    left: 3.571429%;
}
.page_ttl .slide_img .img01:after {
      content: "";
    background-image: url(../img/share/title2.png);
    background-size: 99%;
    background-repeat: no-repeat;
    width: 19.91629%;
    height: 18rem;
    position: absolute;
    top: 0px;
    right: 3.571429%;
}

.page_ttl h1 {
  color: rgba(251,251,251,1.00);
  font-weight: 900;
  font-size: 2.1875rem;
  text-align: center;
}
.page_ttl p {
  color: rgba(255,255,255,1.00);
  font: 100 .94rem "Josefin Sans", sans-serif;
  white-space: nowrap;
  padding-top: 20px;
  letter-spacing: 0.2em;
}
.smp {
  display: none;
}
.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex-start {
	justify-content: flex-start;
}
.flex-center {
	justify-content:center;
}
.flex-end {
	justify-content:flex-end;
}
.flex-around {
	justify-content:space-around;
}

.sec_wrap .wrap_sec:nth-of-type(odd)::after {
left: 0;
}
  .sec_wrap .wrap_sec::after {
    right: 20%;
  }

.sec_wrap .wrap_sec figure {
order: 1;
}
.sec_wrap .wrap_sec .inner {
}
.pNav {
}
#mv .mv_slider .slide_img {
  padding-bottom: 40px;  
}
.pNav ul {
  margin: 0;
  text-align: right;
  padding-bottom: 6.875rem;;
}
.pNav ul li {
  font-size: 1rem;
  margin-left: 20px;
  padding-left: 20px;
  display: inline;
}
.pNav ul li a {
  color: #009fac;
  position: relative;
}
.pNav ul li a::after {
  content: ">";
  position: absolute;
  right: -30px;
  color: #595757;
}
.target {
}
.target h2 {
	font-size: 1.75rem;
	letter-spacing: 0.098em;
	width: 32.0988%;
	margin: 0 auto 2.3125rem;
	padding: 1.875rem 0 4.5rem;
	text-align: center;
	font-weight: bold;
	background-image: url("../img/works/sec01-tit-bg_2.png");
	background-size: 100% 100%;
	background-repeat: no-repeat;
}
.ttl  {
  text-align: center;
  font-size: 2.81rem;
  font-weight: 900;
  color: #009fac;
  margin-bottom: 1.875rem;
}
.target p {
  text-align: center;
  font-size: 1.25rem;
  margin-bottom: 1.875rem;
  line-height: 1.5;
}
.target ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-bottom: 60px;
}
.target ul li {
  border-radius: 10px;
  padding: 1.875rem 2.83333%;
  background-color: #eff9fa;
  display: flex;
  justify-content: space-between;
  font-size: 1.38rem;
  font-weight: 900;
  align-items: center;
  width: 30.833333%;
  margin-bottom: 2.5rem;
}
.target ul li i {
  text-align: right;
}
.target ul li i img {
  width: 50%;
}
#scale {
  padding: 100px 0;
  background-color: #efefef;
}
#scale h2    {
}
#scale table {
  margin-bottom: 5px;
  background-color: #fff;
  width: 100%;
}
#scale table + p {
  margin-top: 40px;
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 40px;
}
#scale table th {
  padding: 18px 0px 18px 18px;
  color: #009FAC;
  text-align: left;
  width: 200px;
}
#scale table td {
  padding: 18px 18px 18px 0px;
  text-align: left;
}
#haccp {
  padding-top: 100px;
  padding-bottom: 100px;
}
#haccp h2 +p {
  line-height: 1.9;
  padding-bottom: 40px;
}
#haccp .inner .block {
  border-radius: 15px;
  padding: 30px;
  border: 2px solid #009fac;
  margin-bottom: 50px;
}
#haccp .inner .block h3 {
  color: rgba(0,159,172,1.00);
  font-size: 1.38rem;
  font-weight: 900;
  border-bottom: 2px solid rgba(0,159,172,1.00);
  margin-bottom: 20px;
  padding-bottom: 25px;
}
#haccp .inner .block p {
  line-height: 2;
}
#haccp .inner .btn_wrap a {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.txt .maru,
.block .maru {
  color: rgba(0,159,172,1.00);
  display: inline-block;
}
.flex.maru {
  color: rgba(0,159,172,1.00);
}
.maru::after {
    display: block;
    content:"";
    width: 22.897133%;
}
#mandatory {
  padding-top: 100px;
}
#mandatory h2 {
	font-size: 1.75rem;
	letter-spacing: 0.098em;
	width: 58.765467%;
	margin: 0 auto 2.3125rem;
	padding: 1.875rem 0 4.5rem;
	text-align: center;
	font-weight: bold;
	background-image: url("../img/works/sec02-tit-bg_1.png");
	background-size: 100% 100%;
	background-repeat: no-repeat;
}#mandatory h3 {
  margin-bottom: 36px;
}
#mandatory .big {
  text-align: center;
  font-size: 1.25rem;
  margin-bottom: 35px;
}
#mandatory p {
}

.sec_wrap .wrap_sec {
  position: relative;
}
.sec_wrap .wrap_sec::after {
  content: "";
  display: block;
  background-color: #e0f3f5;
  position: absolute;
  bottom: 0;
  z-index: -1;
}
.sec_wrap .box .tit {
  font-weight: bold;
  letter-spacing: 0.1em;
}
.sec_wrap .box .txt {
  letter-spacing: 0.1em;
}
@media print, screen and (min-width: 768px) {
  .sec_wrap {
    padding: 9.375rem 0;
  }
  .sec_wrap .wrap_sec {
    padding-bottom: 3.125rem;
  }
  .sec_wrap .wrap_sec::after {
    width: 80%;
    height: 88.4548308336%;
  }
  .sec_wrap .wrap_sec:not(:first-of-type) {
    margin-top: 5.3125rem;
  }
  .sec_wrap .wrap_sec:nth-of-type(even)::after {
    right: 20%;
  }
  .sec_wrap .wrap_sec:nth-of-type(even) figure {
    order: 1;
  }
  .sec_wrap .box {
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .sec_wrap .box figure {
    width: 47.5%;
  }
  .sec_wrap .box .txt_area {
    width: 47.5%;
  }
  .sec_wrap .box .tit {
    font-size: 1.5625rem;
    line-height: 1.4;
    margin-top: calc(0px - (((1em*1.4) - 1em)/2));
    margin-bottom: calc(2rem - (((1em*1.4) - 1em)/2));
  }
  .sec_wrap .box .txt {
    line-height: 1.875;
    margin-top: calc(0px - (((1em*1.875) - 1em)/2));
    margin-bottom: calc(3.875rem - (((1em*1.875) - 1em)/2));
  }
}
@media only screen and (max-width: 767px) {
  .sec_wrap {
    padding: 0 0 26.6666666667vw;
  }
  .sec_wrap .wrap_sec {
    padding-bottom: 10.6666666667vw;
  }
  .sec_wrap .wrap_sec::after {
    width: 78.6666666667vw;
    height: 94.5333333333%;
  }
  .sec_wrap .wrap_sec:not(:first-of-type) {
    margin-top: 16vw;
  }
  .sec_wrap .wrap_sec:nth-of-type(odd) figure {
    margin-left: auto;
  }
  .sec_wrap .wrap_sec:nth-of-type(odd)::after {
    right: 0;
  }
  .sec_wrap .wrap_sec:nth-of-type(even)::after {
    left: 0;
  }
  .sec_wrap .box figure {
    width: 89.3333333333vw;
    margin-bottom: 10.2666666667vw;
  }
  .sec_wrap .box .txt_area {
    width: 78.6666666667vw;
    margin: auto;
  }
  .sec_wrap .box .tit {
    font-size: 1.1785714286rem;
    line-height: 2.0606060606;
    margin-top: calc(0px - (((1em*2.0606060606) - 1em)/2));
    margin-bottom: calc(5.3333333333vw - (((1em*2.0606060606) - 1em)/2));
  }
  .sec_wrap .box .txt {
    line-height: 2.0714285714;
    margin-top: calc(0px - (((1em*2.0714285714) - 1em)/2));
    margin-bottom: calc(9.6vw - (((1em*2.0714285714) - 1em)/2));
  }
}
.sec_wrap {
  padding-top: 100px;
  padding-bottom: 0px;
}

.sec_wrap .box .txt {
	margin-bottom: 0.6rem;
}
.sec_wrap .box {
  padding-top: 78px;
}
.sec_wrap .box hr {
  border: 1px solid #fff;
  margin: 5rem 0;
}
.sec_wrap .wrap_sec::after {
  top: 0px;
  height: 71.45%;
}
.sec_wrap .wrap_sec:nth-of-type(odd) .inner::after {
    right: 12.75% !important;
    left: auto;
}
.sec_wrap .wrap_sec .inner::after {
    width: 100vw;
    height: 88.4548308336%;
}
.sec_wrap .wrap_sec .inner::after {
    content: "";
    display: block;
    background-color: #e0f3f5;
    position: absolute;
    bottom: 0;
    z-index: -1;
}
.example .sec_wrap .wrap_sec .inner::after {
    content: none;
}
.sec_wrap.block-b .wrap_sec::after {
  height: 99.4%;
}
#blockA {
    position: relative;
    padding: 6.25rem 0 0 !important;
}
#blockB {
    position: relative;
    padding: 9.375rem 0 0 !important;
}
#blockA .inner, #blockB .inner {
    position: static;
}
#blockA .box figure, #blockB .box figure {
    width: 33.671%;
    position: absolute;
    right: 0;
}
#blockA .box .txt_area {
    width: 65.2076%;
}
#blockA .wrap_sec::after {
    top: 0px;
    height: 92.8%;
}
#blockB h3 {
  font-size: 1.56rem;
  color: rgba(0,159,172,1.00);
  margin-bottom: 45px;
}
#blockB .box .txt_area {
    width: 79.166667%;
    margin-bottom: 3.125rem;
}
#blockB .box .txt_area .first-txt {
    width: 81.156968%;
}
#blockB .inner .block {
  border-radius: 15px;
  padding: 30px;
  border: 2px solid #009fac;
  margin-bottom: 50px;
  background-color: #FFFFFF;
}
#blockB .inner .block h4 {
  color: rgba(0,159,172,1.00);
  font-size: 1.38rem;
  font-weight: 900;
  border-bottom: 2px solid rgba(0,159,172,1.00);
  margin-bottom: 20px;
  padding-bottom: 25px;
  text-align: center;
}
#blockB .inner .block p {
  line-height: 2;
}
#blockB .inner .block .smp img {
  width: 90px;
}
#blockB .flex .block {
  width: 48.463867%;;  
}
.inbox p {
  width: 68%;
}
.inbox p.long {
  width: 85%;
}
.inbox figure {
  margin: 0 !important;
  width: 25% !important;
}
.inbox.long-block figure {
    margin: 0 !important;
    width: 12.5% !important;
}
#blockB .btn_wrap {
  text-align: center;
}
#blockB .btn_wrap a {
  margin-left: auto;
  margin-right: auto;
}
.seven   {
  padding-top: 100px;
}
.seven .t {
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.8;
  margin-bottom: 40px;
}
.seven .flex.maru .box {
  width: 22.897133%;
  margin-bottom: 2.5rem;
    position: relative;
}
.example .seven .flex.maru .box::after {
    content: '';
    width: 5.26%;
    height: 1.55493125rem;
    background: url(../img/works/arrow.png) no-repeat top center;
    background-size: 100% auto;
    position: absolute;
    top: 27%;
    right: -9%;
}
.example .seven .flex.maru.second-line .box::after {
    top: 23%;
}
.example .seven .flex.maru.last-line .box::after {
    top: 33%;
}
.haccp .seven .flex.maru .box::after {
    content: '';
    width: 5.26%;
    height: 1.55493125rem;
    background: url(../img/works/arrow.png) no-repeat top center;
    background-size: 100% auto;
    position: absolute;
    top: 31%;
    right: -9%;
}
.seven .flex.maru .box:nth-child(4)::after,
.seven .flex.maru .box:last-child::after{
    content: none !important;
}
.seven .flex.maru .box:last-child {
  background: none;
}
.flex.maru .box figure {
  width: 100%;
  margin-bottom: 1.25rem;  
}
.seven .inner .aftertxt {
  line-height: 1.8;
  padding-top: 40px;
}
.flex.maru .box p {
  color: #595757;
  font-size: 1rem;
  line-height: 1.8;
  width: 90%;
}

@media (max-width:767px) {
	.flex {
		display: block;
	}
  .page_ttl .slide_img .img01 {
    position: relative;
    height: 135px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .page_ttl .slide_img .img01:before {
    content: "";
    background-image: url(../img/share/title1.png);
    background-size: 92px 70px;
    background-repeat: no-repeat;
    width: 92px;
    height: 70px;
    position: absolute;
    bottom: 0px;
    left: 10px;
  }
  .page_ttl .slide_img .img01:after {
    content: "";
    background-image: url(../img/share/title2.png);
    background-size: 92px 70px;
    background-repeat: no-repeat;
    width: 92px;
    height: 70px;
    position: absolute;
    top: 0px;
    right: 0px;
  }

  .page_ttl h1 {
	color: rgba(251,251,251,1.00);
	font-weight: 900;
	font-size: 1.25rem;
	text-align: center;
	line-height: 1 !important;
  }
  .page_ttl p {
	font-weight: 100;
	font-size: .625rem;
	white-space: nowrap;
	padding-top: 0px;
	letter-spacing: 0.2em;
  }
  .scroll_btn_wrap {
    display: none;
  }
  .pNav {
    display: none;
  }
  .target h2 {
    font-size: 1rem;
    letter-spacing: 0.098em;
    width: 231px;
    margin: 0 auto;
    padding: .3rem 0 2.8rem;
    text-align: center;
    font-weight: bold;
    background-image: url("../img/top/balloon_bg.svg");
    background-size: 231px auto;
  }
  .ttl  {
    text-align: center;
    font-size: 1.41rem;
   font-weight: 900;
    color: #009fac;
    margin-bottom: 10.6666667vw;
  }
  .target p {
   text-align: center;
    font-size: 1rem;
    letter-spacing: -0.1em;
    margin-bottom: 10.6666667vw;
  }
  .target p .ls-minus {
    letter-spacing: -0.12em;
  }
  .target ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 30px;
  margin-right: -20px;
  }
  .target ul li {
	border-radius: 10px;
	padding: 25px 10px;
	background-color: #eff9fa;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	font-size: 1.13rem;
	font-weight: 900;
	align-items: center;
	width: 43%;
	margin-bottom: 20px;
	text-align: center;
	color: #009FAC;
	margin-left: 7px;
	margin-right: 7px;
  }
  .target ul li span {
    order: 2;
  }
  .target ul li i {
    text-align: center;
    order: 1;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .target ul li i img {
    width: 30%;
    margin-left: auto;
    margin-right: auto;
  }
  #scale {
    padding: 50px 0;
  }
  #scale h2 {
    margin-bottom: 40px;    
  }
  #scale table {
    margin-bottom: 5px;
    background-color: #fff;
    width: 100%;
  }
  #scale table + p {
    margin-top: 20px;
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 20px;
  }
  #scale table th {
    padding: 10px 10px 0px 10px;
    color: #009FAC;
    text-align: left;
    width: 100%;
    display: block;
  }
  #scale table td {
    padding: 10px 10px 10px 10px;
    text-align: left;
    display: block;
  }
  #haccp {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .inner {
    width: 78.666667%;
    margin: 0 auto;
  }
  #haccp h2 {
    margin-bottom: 40px;
  }
  #haccp h2 +p {
    line-height: 1.9;
    padding-bottom: 20px;
  }
  #haccp .inner .block {
    border-radius: 15px;
    padding: 20px;
    border: 2px solid #009fac;
    margin-bottom: 25px;
  }
  #haccp .inner .block h3 {
    color: rgba(0,159,172,1.00);
    font-size: 1.13rem;
    font-weight: 900;
    border-bottom: 2px solid rgba(0,159,172,1.00);
    margin-bottom: 20px;
    padding-bottom: 25px;
  }
  #haccp .inner .block p {
  line-height: 2;
    font-size: 1rem;
  }
  #haccp .inner .btn_wrap a {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  #mandatory {
    padding-top: 40px;
  }
  #mandatory h2 {
	font-size: 1.13rem;
	letter-spacing: 0.098em;
	width: 290px;
	margin: 0 auto 25px;
	padding: 10px 0 10px;
	text-align: center;
	font-weight: bold;
	background-image: url(../img/works/bg_title_long_smp.png);
	background-size: 290px 98px;
	height: 98px;
	background-repeat: no-repeat;
	line-height: 1.3;
  }
  #mandatory h3 {
    margin-bottom: 18px;
  }
  #mandatory .big {
    text-align: center;
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 17px;
          letter-spacing: -0.1em;
  }
  #mandatory p {
    font-size: 1rem;
    line-height: 1.8;
  }
  .sec_wrap .wrap_sec figure {
    order: 1;
    margin-right: 0;
    text-align: center;
  }
  .sec_wrap {
    padding-top: 100px;
    padding-bottom: 0px;
  }
  .sec_wrap .box .txt {
    margin-bottom: 1rem;
  }
  .sec_wrap .box {
    padding-top: 0;
    margin-top: -50px;
  }
  .sec_wrap .box hr {
    border: 1px solid #fff;
    margin-bottom: 25px;
  }
  .sec_wrap .wrap_sec::after {
    top: 25px;
    height: 84.45%;
  }
.sec_wrap.last-sec_wrap {
    padding-top: 0;
    padding-bottom:0 !important;
}
.sec_wrap.last-sec_wrap .wrap_sec::after {
    height: 27.037112rem !important;
}
  .tit_area {
  margin-bottom: 11.2vw;
  margin-left: 0;
  }
    .tit_area .sec_tit {
  font-size: 1.25rem;
      clear: both;
  }
  #blockA {
      padding-top: 32vw;
  }
  #blockB {
      padding-top: 19vw;
  }
  #blockA .wrap_sec {
    padding-bottom: 0;
}
#blockA .box figure {
    width: 84.745763%;
    position: unset;
    margin: -10.6666667vw 0 0 !important;
    right: 0;
}
#blockB .box figure {
    width: 84.745763%;
    position: unset;
    margin: -4.6666667vw 0 0 !important;
    right: 0;
}
#blockA .box figure img, 
#blockB .box figure img {
    margin-right: -32.33333%;
    margin-bottom: 10.6666667vw;
}
#blockB .box .txt_area {
    width: 100%;
}
#blockB .box .txt_area .first-txt {
    width: 100%;
}
  #blockB h3 {
    font-size: 1.25rem;
    margin-bottom: 25px;
      font-weight: bold;
  }
  #blockB .inner .block {
    border-radius: 15px;
    padding: 1.25rem;
    border: 2px solid #009fac;
    margin-bottom: 10.666667vw;
    background-color: #FFFFFF;
  }
  #blockB .inner .block figure {
    margin-bottom: 5.33333333vw;
  }
  #blockB .inner .block h4 {
    color: rgba(0,159,172,1.00);
    font-size: 1.25rem;
    font-weight: 900;
    border-bottom: 2px solid rgba(0,159,172,1.00);
    margin-bottom: 20px;
    padding-bottom: 25px;
    text-align: center;
    order: 2;
  }
  #blockB .inner .block p {
    line-height: 2;
  }

  #blockB .flex .block {
    width: 100%;  
  }

  #blockB .block .block-img {
      margin-bottom: 5.33333333vw;
  }
  #blockB .flex .block:first-child {
    margin-right: 0;
  }
    #blockA .box .txt_area {
    width: 100%;
}
    .txt-indent-block02 .list {
        padding-left: 1.2em;
        text-indent: -0.55em;
    }
    .txt-indent-block02 .list02 {
        padding-left: 1.1em;
        text-indent: -1.1em;
    }
  .inbox p {
    width: 100%;
    order: 3;
  }
  .inbox p.long {
    width: 100%;
  }
  figure.img {
    order: 1;
    margin: 0 0 20px !important;
    text-align: center;
  }
  .sec_wrap .box figure {
    width: 75vw;
    float: right;
  }
  .sec_wrap .box figure img {
    margin-right: -40px;
  }
  #blockB .btn_wrap {
    text-align: center;
  }
  #blockB .btn_wrap a {
    margin-left: auto;
    margin-right: auto;
  }
  .seven   {
    padding-top: 11.666666667vw;
  }
  .seven .ttl {
  }
  .seven .t {
    text-align: center;
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 30px;
  }
  .seven .flex.maru .box,
  .seven .flex.maru.first-line .box:last-child  {
  width: 100%;
  background-image: url(../img/works/arrow_smp.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 15px auto;
  padding-bottom: 20px;
  margin-bottom: 20px;
  }
  .seven .flex.maru.second-line .box:last-child {
    background: none;
  }
  .flex.maru .box figure {
  width: 69.8955661%;
  margin-bottom: 20px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  }
  .flex.maru .box figure img {}
  .seven .inner .aftertxt {
    line-height: 1.8;
    padding-top: 0px;
  }
  .flex.maru .box p {
    color: #595757;
    font-size: 1rem;
    line-height: 1.8;
    width: 100%;
  }
.seven .flex.maru .box::after {
    content: none !important;
}
}

@media (max-width:667px) {
  .smp {
    display: block;
  }
  .pc {
    display: none;
  }
}

/* 価格 -------------------------------------------------------------------------------------*/
.price h2 {
	font-size: 1.75rem;
	letter-spacing: 0.098em;
	width: 28.765467%;
	margin: 0 auto 2.3125rem;
	padding: 1.875rem 0 4.5rem;
	text-align: center;
	font-weight: bold;
	background-image: url("../img/price/sec01-tit-bg.png");
	background-size: 100% 100%;
	background-repeat: no-repeat;
}
.price h3 {
  font-size: 2.81rem;
  color: #009FAC;
  text-align: center;
  font-weight: 900;
  margin-bottom: 50px;
}
.price h3 small {
  font-size: 1.56rem;
  font-weight: 400;
}
.price ul li {
  width: 25%;
  padding-left: 18px;
  padding-right: 18px;
  margin-bottom: 40px;
}
.price ul {
}
.price .inner .cener {
  text-align: center;
  margin-bottom: 90px;
}
.price .inner p {
  color: #FFFFFF;
  font-size: 1.88rem;
  font-weight: 900;
  text-align: center;
  padding: 10px 60px;
  border-radius: 30px;
  background-color: #009FAC;
  margin-left: auto;
  margin-right: auto;
  letter-spacing: 0.2em;
  display: inline-block;
}
.txt-indent-block p {
        padding-left: 0.5rem;
    text-indent: -0.5rem;
}
.other {
  background-color: #efefef;
  padding-top: 100px;
  padding-bottom: 100px;
}
.other .box {
  background-color: #fff;
    text-align: center;
    width: 22.833333%;
    height: 16.9375rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-bottom: 1.25rem;
    border-radius: 15px;
    padding-top: 1.25rem;
}
.other .box i {
  width: 40.148916%;
    height: 6.875rem;
    margin-bottom: 2.1875rem;
    display: flex;
}
.other .box:nth-child(2) i {
  width: 40.148916%;
    height: 6.875rem;
  margin-bottom: 0.9375rem;
    display: flex;
}
.other .box:first-child i img {
  width: 76.363636%;
  height: 5.28125rem;
  margin: auto;
}
.other .box:nth-child(2) i img {
  width: 35.454545%;
  height: 6.84375rem;
  margin: auto;
}
.other .box:nth-child(3) i img {
  width: 49.090909%;
  height: 6.21875rem;
  margin: auto;
}
.other .box:last-child i img {
  width: 90.454545%;
  height: 4rem;
  margin: auto;
}
.other .box p {
  font-size: 1.44rem;
  font-weight: 900;
  line-height: 1.4;
}
.device {
  padding-top: 100px;
  padding-bottom: 100px;
}
.device .block {
  padding-bottom: 100px;
}
.device .block table {
  display: flex;
}
.device .inner .btn_wrap {
  text-align: center;
}
.device .inner .btn_wrap a {
  margin-left: auto;
  margin-right: auto;
}
.device p {
  line-height: 1.8;
}
.inner .block table {
  width: 580px;
  border-radius: 10px;
  background-color: #eff9fa;
  margin-bottom: 35px;
}
.inner .block table th {
  padding: 20px;
  color: #009fac;
  line-height: 1.8;
    width: 30%;
    min-width: 169px;
}
.inner .block table td {
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 20px;
  line-height: 1.875;
}
.inner .block table.iphone th,
.inner .block table.android th {
  padding: 30px 20px 20px;
}
.inner .block table.iphone td,
.inner .block table.android td {
  padding-top: 30px;
}
@media (max-width:1280px) {
  .other {
  padding-bottom: 60px;    
  }
  .other .box {
  margin-bottom: 2.5rem;;
  }
  .device .block table {
    width: 48%;
  }
}
@media (max-width:576px) {
	
  .price h2 {
    font-size: 1.2rem;
    letter-spacing: 0.098em;
    width: 70.20722%;
    margin: 0 auto 0;
    padding: 4vw 0 12vw;
    text-align: center;
    font-weight: bold;
    background-image: url("../img/price/sec01-tit_sp.png");
    background-size: 100% auto;
        margin-bottom: 4vw;
  }

  .price h3 {
    font-size: 1.38rem;
    color: #009FAC;
    text-align: center;
    font-weight: 900;
    margin-bottom: 10.6666667vw;
  }
  .price h3 small {
    font-size: 1.38rem;
    font-weight: 900;
  }
  .price ul li {
    width: 46.570475%;
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 4vw;
  }
    .price ul li img {
      width: 100%;
      height: auto;
    }
  .price ul {
    display: flex;
  }
  .price .inner .cener {
    text-align: center;
    margin-bottom: 40px;
  }
  .price .inner p {
    color: #FFFFFF;
    font-size: .94rem;
    font-weight: 900;
    text-align: center;
    padding: 10px 10px;
    border-radius: 15px;
    background-color: #009FAC;
    margin-left: auto;
    margin-right: auto;
    letter-spacing: 0.2em;
    display: inline-block;
    line-height: 1.8;
  }
  .other {
    background-color: #efefef;
    padding-top: 35px;
    padding-bottom: 25px;
  }
    .other h2 {
    margin-bottom: 35px;    
    }
    .other .flex {
      display: flex;
    }
  .other .box {
    background-color: #fff;
    text-align: center;
    width: 47%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-bottom: 25px;
    border-radius: 15px;
    padding-top: 15px;
    margin-bottom: 20px;
  }
.other .box:nth-child(2) {
    padding-bottom: 10px;
    border-radius: 15px;
    padding-top: 15px;
    margin-bottom: 20px;
}
  .other .box i {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 40.148916%;
    height: 4.963rem;
    margin-bottom: 0.99375rem;
  }
  
.other .box:nth-child(2) i {
  width: 40.148916%;
  height: 4.5rem;
  margin-bottom: 0.99375rem;
  display: flex;
}
.other .box:first-child i img {
  height: auto;
}
.other .box:nth-child(2) i img {
  height: auto;
}
.other .box:nth-child(3) i img {
  height: auto;
}
.other .box:last-child i img {
  height: auto;
}
  .other .box p {
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.2 !important;
  }
  .device {
    padding-top: 35px;
    padding-bottom: 0px;
  }
    .device h2 {
    margin-bottom: 35px;    
    }
  .device .block {
    padding-bottom: 30px;
  }
  .device .block.flex {
      display: flex !important;
  }
  .device .block .iphone {
      order: 4;
  }
  .device .block .win {
      order: 2;
  }
  .device .block .android {
      order: 5;
  }
  .device .block .mac {
      order: 3;
  }
  .device .block p {
      order: 6;
  }
  .device .inner .btn_wrap {
    text-align: center;
  }
  .device .inner .btn_wrap a {
    margin-left: auto;
    margin-right: auto;
  }
  .device p {
    line-height: 1.8;
  }
  .inner .block table {
    width: 100%;
    border-radius: 10px;
    background-color: #eff9fa;
    margin-bottom: 20px;
  }
    .inner .block table th {
      padding: 20px 20px 10px;
      color: #009fac;
      line-height: 1.8;
      display: block;
    }
  .inner .block table.iphone th, .inner .block table.android th {
      padding: 20px 20px 10px;
      color: #009fac;
      line-height: 1.8;
      display: block;
      width: 100%;
}
  .inner .block table th br {
    display: none;
  }
    .inner .block table td {
      padding: 0px 20px 20px;
      display: block;
    }
    .inner .block table.iphone td, .inner .block table.android td {
    padding-top: 30px;
      padding: 0px 20px 20px;
      display: block;
      width: 100%;
}
}



/* HACCP対応FOOFとは？ -------------------------------------------------------------------------------------*/
.about-haccp {
    padding-bottom: 9.375rem;
}
.about-haccp h2 {
	font-size: 1.75rem;
	letter-spacing: 0.098em;
	width: 28.765467%;
	margin: 0 auto 2.3125rem;
	padding: 1.875rem 0 4.6875rem;
	text-align: center;
	font-weight: bold;
	background-image: url("../img/about/sec01-tit-bg.png");
	background-size: 100% 100%;
	background-repeat: no-repeat;
}
.about-haccp .tit {
    text-align: center;
    font-size: 1.85rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.5;
    margin-bottom: 1.875rem;
}
.about-haccp p {
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.5;
}
.about-haccp ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-bottom: 3.125rem;
}
.about-haccp ul li {
  border-radius: 10px;
  padding: 25px 30px;
  background-color: #eff9fa;
  display: flex;
  justify-content: space-between;
  font-size: 1.25rem;
  align-items: center;
    margin-left: 4.5%;
}
.about-haccp ul li.means {
  width: 51.666667%;
}
.about-haccp ul li.purpose {
  width: 36.048258%;
}
.about-haccp ul li.means .circle {
    width: 26.375%;
    margin-left: -15%;
    max-width: 109px;
}
.about-haccp ul li.purpose .circle {
    width: 39.6%;
    margin-left: -23%;
    max-width: 109px;
}
.about-haccp ul li .circle .circle-inner {
    background: #5DB9C2;
    width: 100%;
    padding-top: 100%;
    border-radius: 50%;
    position: relative;
}
.about-haccp ul li .circle span {
    text-align: center;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    font-size: 1.5625rem;
    font-weight: bold;
}
.about-haccp ul li.means .center-txt {
    padding: 0 3.574%;
    width: 101%;
}
.about-haccp ul li.purpose .center-txt {
    padding: 0 5.37%;
    width: 101%;
}
.about-haccp ul li.means i {
  text-align: right;
    width: 25.463%;
}
.about-haccp ul li.purpose i {
  text-align: right;
    width: 23.497%;
}
.about-haccp .sec01-under-txt {
    font-size: 1.25rem;
    text-align: center;
}

.about-foof h2 {
	font-size: 1.75rem;
	letter-spacing: 0.098em;
	width: 28.765467%;
	margin: 0 auto 2.3125rem;
	padding: 1.875rem 0 4.6875rem;
	text-align: center;
	font-weight: bold;
	background-image: url("../img/about/sec02-tit-bg.png");
	background-size: 100% 100%;
	background-repeat: no-repeat;
}
.about-foof .tit {
    text-align: center;
    font-size: 1.85rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.5;
    margin-bottom: 1.875rem;
}
.about-foof p.ttl-under {
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.5;
  margin-bottom: 1.875rem;
}

.sec_wrap.first-sec-wrap {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
}
.sec_wrap.about-foof-right {
    padding-top: 0;
    padding-bottom: 1.875rem;
}
.sec_wrap.last-sec_wrap {
    padding-top: 0;
    padding-bottom: 3.125rem;
}
.sec_wrap.about-foof-left .wrap_sec::after {
}
.sec_wrap.about-foof-right .wrap_sec::after {
    right: 0;
    left: auto;
}
.sec_wrap.about-foof-left .wrap_sec figure,
.sec_wrap.about-foof-right .wrap_sec figure {
    width: 41.666667%;
    z-index: 1;
}
.sec_wrap.about-foof-left .box .txt_area,
.sec_wrap.about-foof-right .box .txt_area {
    width: 56%;
}
.sec_wrap.about-foof-right .wrap_sec figure {
    order: 0;
}
.sec_wrap.last-sec_wrap .wrap_sec::after {
    height: 22.037112rem;
}
.sec_wrap.about-foof-left .wrap_sec .inner,
.sec_wrap.about-foof-right .wrap_sec .inner {
    position: relative;
}
.sec_wrap.about-foof-left .wrap_sec .inner::after,
.sec_wrap.about-foof-right .wrap_sec .inner::after {
    content: '';
    width: 150px;
    height: 100%;
    background: #fff;
}
.sec_wrap.about-foof-left .wrap_sec .inner::after {
    position: absolute;
    top: 0;
    right: 0 !important;
    z-index: 0;
}
.sec_wrap.about-foof-right .wrap_sec .inner::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.reason .flex.maru .box {
    width: 23.149%;
    margin-bottom: 20px;
}
.reason {
    padding-bottom: 4.375rem;
}

.antivirus {
    background: #EFEFEF;
    padding: 6.25rem 0;
}
.antivirus .inner {
    position: relative;
}
.antivirus .deco01 {
    position: absolute;
    top: -3.5rem;
    left: -2.916667%;
    width: 3.128275%;
}
.antivirus .deco02 {
    position: absolute;
    top: -4.0625rem;
    left: 25.833333%;
    width: 1.1305%;
}
.antivirus .deco03 {
    position: absolute;
    top: -7.355rem;
    right: 21.083333%;
    width: 5.303242%;
}
.antivirus .deco04 {
    position: absolute;
    top: -1rem;
    right: -2.666667%;
    width: 3.128275%;
}
.antivirus .antivirus-example {
    position: relative;
    text-align: center;
    width: 84.66995%;
    margin: 4.375rem auto 3.125rem;
}
.antivirus .antivirus-example .ae-tit {
    width: 5.5089%;
    position: absolute;
    top: -1.25rem;
    left: 3%;
}
.antivirus .antivirus-example .ae-txt {
    text-align: left;
    padding-left: 6.949775%;
    font-size: 1.25rem;
    font-weight: 500;
    display: inline-block;
}
.antivirus .ae-inner {
    background: #fff;
    border-radius: 14px;
    padding: 2.625rem 4.5%;
}
.antivirus .ae-inner h3 {
    margin: 0 auto 1.875rem;
    width: 18.150717%;
}
.antivirus .ae-inner .top-txt {
    padding-bottom: 1.875rem;
    margin-bottom: 1.875rem;
    border-bottom: 1px solid #D2D3D3;
}

@media print, screen and (max-width: 767px){
.about-haccp {
    padding-bottom: 21.3333333vw;
}
  .about-haccp h2 {
    font-size: 1.2rem;
    letter-spacing: 0.098em;
    width: 55.2vw;
    margin: 0 auto 2rem;
    padding: 1rem 0 3rem;
    text-align: center;
    font-weight: bold;
    background-image: url("../img/about/sec01-tit_sp.png");
    background-size: 55.2vw auto;
  }
  .about-haccp .ttl {
    font-size: 1.60714286rem;
    margin: 0 auto 3rem;
  }
.about-haccp .tit {
    font-size: 1.28571429rem;
    margin-bottom: 20vw;
    letter-spacing: 0;
}
.about-haccp ul li.means {
    width: 100%;
    margin-bottom: 14.6666667vw;
    padding: 13.3333333vw 5% 6.6666667vw;
}
.about-haccp ul li.purpose {
    width: 100%;
    padding: 13.3333333vw 5% 6.6666667vw;
}
.about-haccp ul li {
    display: block;
    margin-left: 0;
}
.about-haccp ul li .circle .circle-inner {
}
.about-haccp ul li .circle span {
    font-size: 1.07142857rem;
}
.about-haccp ul li.means .circle,
.about-haccp ul li.purpose .circle {
    width: 17.494333vw;
    margin: -22vw auto 3vw;
}
.about-haccp ul li.means .center-txt,
.about-haccp ul li.purpose .center-txt {
    padding: 0;
    width: 100%;
    font-size: 1rem;
}
.about-haccp ul li.means i {
    text-align: center;
    width: 20.76744vw;
    margin: 6vw auto 0;
    display: block;
}
.about-haccp ul li.purpose i {
    text-align: center;
    width: 12.64692vw;
    margin: 6vw auto 0;
    display: block;
}

.about-haccp .sec01-under-txt {
    margin: 1rem 0 0;
}
.about-haccp .sec01-under-txt p{
    font-size: 1rem !important;
    text-align: center;
    padding: 0 !important;
}
.about-haccp .sec01-under-txt p .ls-minuss{
    letter-spacing: -.1em;
}
    
  .about-foof h2 {
    font-size: 1.2rem;
    letter-spacing: 0.098em;
    width: 55.2vw;
    margin: 0 auto 2rem;
    padding: 1rem 0 3rem;
    text-align: center;
    font-weight: bold;
    background-image: url("../img/about/sec02-tit_sp.png");
    background-size: 55.2vw auto;
  }
  .about-foof .ttl {
    font-size: 1.60714286rem;
    margin: 0 auto 3rem;
  }
.about-foof .tit {
    font-size: 1.28571429rem;
    margin-bottom: 20vw;
}
.sec_wrap.about-foof-left .wrap_sec figure, .sec_wrap.about-foof-right .wrap_sec figure {
    width: 66.666667vw;
}
.sec_wrap.about-foof-left .wrap_sec figure img {
    margin-right: -32% !important;
}
.sec_wrap.about-foof-right .wrap_sec figure img {
    margin-left: -32% !important;
}
.sec_wrap.about-foof-left .box .txt_area, .sec_wrap.about-foof-right .box .txt_area {
    width: 100%;
}
.sec_wrap.about-foof-right .wrap_sec figure {
    width: 66.666667vw;
    float: left;
}
.sec_wrap.about-foof-right .wrap_sec figure img {
    margin-right: 0;
    margin-left: -40px;
}
    .reason .flex {
        display: flex !important;
    }
.reason .flex.maru .box {
    width: 48%;
    margin-bottom: 0;
}
.reason .flex.maru .box figure {
    width: 100%;
}

.about-foof p.ttl-under {
    text-align: center;
    font-size: 1rem;
    padding-top: 0;
    padding-bottom: 50px;
    line-height: 1.5;
    letter-spacing: -.05em;
}
.sec_wrap.about-foof-left .wrap_sec .inner::after, .sec_wrap.about-foof-right .wrap_sec .inner::after {
    content: none;
}

.antivirus .deco01 {
    position: absolute;
    top: 3.5rem;
    left: -2.916667%;
    width: 5.00524%;
}
.antivirus .deco02 {
    position: absolute;
    top: -2.0625rem;
    left: 25.833333%;
    width: 2.74088%;
}
.antivirus .deco03 {
    position: absolute;
    top: -3.355rem;
    right: 21.083333%;
    width: 8.485187%;
}
.antivirus .deco04 {
    position: absolute;
    top: 4.5rem;
    right: -1.666667%;
    width: 5.00524%;
}
.antivirus {
    padding: 10vw 0;
}
.antivirus .ttl {
    font-size: 1.1.60714286rem;
    margin-bottom: 10.666667vw;
}
.antivirus .antivirus-example {
    width: 100%;
    margin: 3.375rem auto 3.125rem;
}
.antivirus .antivirus-example p {
    font-size: 1.07142857rem;
}
.antivirus .antivirus-example .ae-tit {
    width: 16.806864%;
    position: unset;
    top: -1.25rem;
    left: 0;
    float: left;
    padding-top: 0.5vw;
    padding-right: 2vw;
}
.antivirus .antivirus-example .ae-txt {
    padding-left: 0;
    display: block;
}
.antivirus .ae-inner h3 {
    margin: 0 auto 1.875rem;
    width: 30.636453vw;
}
}


/* 罰則について -------------------------------------------------------------------------------------*/
.willbe {
    padding-bottom: 5vw;
}
.willbe h2 {
	font-size: 1.75rem;
	letter-spacing: 0.098em;
	width: 53.765467%;
	margin: 0 auto 2.3125rem;
	padding: 1.875rem 0 4.6875rem;
	text-align: center;
	font-weight: bold;
	background-image: url("../img/penalties/sec01-tit.png");
	background-size: 100% 100%;
	background-repeat: no-repeat;
}
.willbe .ttl {
    margin-bottom: 1.875rem;
	letter-spacing: 0.098em;
}
.willbe p {
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.5;
    margin-bottom: 3.125rem;
}

.willbe .flex.maru  {
    margin-bottom: 5.625rem;
}
.willbe .flex.maru .box {
  width: 30.833333%;
}
.willbe .flex.maru .box:last-child {
  background: none;
}
.willbe .flex.maru .box figure {
  width: 100%;
  margin-bottom: 20px;  
}

.willbe .sub-tit {
    text-align: left;
    font-size: 2.1875rem;
    font-weight: 900;
    color: #009fac;
    margin-bottom: 1.875rem;
	letter-spacing: 0.098em;
}
.willbe .under-block .under-block-txt {
    font-size: 1rem;
    text-align: left;
    line-height: 1.85;
	letter-spacing: 0.098em;
    margin-bottom: 2.5rem;
}
.txt-blue {
    color: #009FAC;
}
.pena-flow {
    
}
.pena-flow li {
    background: #EFF9FA;
    text-align: center;
    padding: 1.25rem 0;
    position: relative;
}
.pena-flow li p {
    color: #009FAC;
    font-size: 1rem;
    padding-bottom: 0;
    margin-bottom: 0;
}
.pena-flow li:not(:last-child) {
    margin-bottom: 1.875rem;
}
.pena-flow li:not(:last-child)::after {
    content: '';
    position: absolute;
    background: url("../img/penalties/sec01-arrow.png") top center no-repeat;
    width: 19px;
    height: 11px;
    background-size: 100% auto;
    right: 0;
    bottom: -1.25rem;
    left: 0;
    margin: 0 auto;
}


.sec_wrap.pena-overview {
    margin-bottom: 6.25rem;
}
.overview .overview-tit {
    font-size: 2.1875rem;
    font-weight: bold;
    color: #009FAC;
    margin-bottom: 1.875rem;
    line-height: 1 !important;
}
.overview .ov-toptxt {
    margin-bottom: 1.875rem;
}
.overview .ov-list-tit {
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.875;
    letter-spacing: .1em;
    margin-bottom: .3rem;
    padding-left: 1.75rem;
    text-indent: -1.75rem;
}
.overview .ov-list li {
    margin-bottom: 1.875rem;
}
.overview .ov-list li p {
    line-height: 1.875;
    letter-spacing: .1em;
}
.sec_wrap.pena-overview .wrap_sec::after {
    top: -16%;
    height: 116%;
    right: 0;
    width: 33.333333%;
    left: auto;
}
.penalties .sec_wrap .wrap_sec .inner::after {
    content: none;
}

@media print, screen and (max-width: 767px){
.willbe {
    padding-bottom: 10.6666667vw;
}
  .willbe h2 {
    font-size: 1.2rem;
    letter-spacing: 0.098em;
    width: 78.666667vw;
    margin: 0 auto 2rem;
    padding: 1rem 0 3rem;
    text-align: center;
    font-weight: bold;
    background-image: url("../img/penalties/sec01-tit_sp.png");
    background-size: 78.666667vw auto;
  }
  .willbep .ttl {
    font-size: 1.60714286rem;
    margin: 0 auto 3rem;
  }
.willbe .tit {
    font-size: 1.28571429rem;
    margin-bottom: 20vw;
}
.willbe p {
    font-size: 1rem;
    margin-bottom: 10.66666667vw;
}

.willbe .flex.maru  {
    margin: 10.66666667vw 0;
}
.willbe .flex.maru .box {
  width: 62.711864%;
    margin: 0 auto;
}
.willbe .flex.maru .box:last-child {
  background: none;
}
.willbe .flex.maru .box figure {
  width: 100%;
  margin-bottom: 6.66666667vw;  
}

.willbe .sub-tit {
    font-size: 1.42857143rem;
    margin: 0 auto 6.66666667vw;
}
.willbe .under-block .under-block-txt {
    font-size: 1rem;
    margin-bottom: 10.66666667vw;
}

.sec_wrap.pena-overview {
    padding-top: 7vw;
    margin-bottom: 12vw;
}
.sec_wrap.pena-overview .wrap_sec {
    padding-bottom: 5.33333333vw;
}
.overview .overview-tit {
    font-size: 1.42857143rem;
    font-weight: bold;
    color: #009FAC;
    margin-bottom: 10.66666667vw;
    line-height: 1 !important;
}
.overview .ov-toptxt {
    margin-bottom: 10.66666667vw;
}
.overview .ov-list-tit {
    font-size: 1rem;
    padding-left: 1.55rem;
    text-indent: -1.55rem;
    line-height: 1.8 !important;
}
.overview .ov-list-tit .sp-ls {
    letter-spacing: 0.05em;
}
.overview .ov-list li {
    margin-bottom: 10.66666667vw;
}
.overview .ov-list li p {
    line-height: 1.875;
    letter-spacing: .1em;
}
 
}


/* 特定商取引法に基づく表記 -------------------------------------------------------------------------------------*/
.law-table table {
    width: 100%;
    margin-bottom: 6.25rem;
}
.law-table table tr:nth-child(odd) {
    background: #EFF9FA;
}
.law-table table th {
    font-size: 1rem;
    font-weight: bold;
    color: #009FAC;
    vertical-align: middle;
    padding: 1.25rem 1.666667%;
    width: 34.5%;
}
.law-table table td {
    font-size: 1rem;
    vertical-align: middle;
    padding: 1.25rem 1.666667%;
}
.law-table table td ul li{
    padding-left: 1.3rem;
    text-indent: -1.3rem;
}
.law-table table td ul li .num{
    margin-right: 0.4rem;
}



@media (max-width:767px) {
.law-table table {
    margin-bottom: 3.125rem;
}
.law-table table tr:nth-child(odd) {
}
.law-table table th {
    width: 100%;
    display: block;
    padding: 1.25rem 1.666667% 0;
}
.law-table table td {
    width: 100%;
    display: block;
    padding: 0 1.666667% 1.25rem;
}

}

/* プライバシーポリシー -------------------------------------------------------------------------------------*/
.policy-block:not(:last-child){
    padding-bottom: 6.35rem;
}
.policy-block h2 {
    font-size: 1.5625rem;
    color: #009FAC;
    text-align: left;
    margin-bottom: 1.875rem;
}
.policy-block p {
    line-height: 1.875;
}
.policy-block .indent-txt li {
    text-indent: -3rem;
    padding-left: 3rem;
    margin-bottom: 1rem;
}
.policy-block .indent-txt .second-block p {
    text-indent: -0.8rem;
    padding-left: 0.8rem;
}
.polycy-mb {
    margin-bottom: 1rem;
}

@media (max-width:767px) {
.policy-block:not(:last-child){
    padding-bottom: 13.3333333vw;
}
.policy-block h2 {
    font-size: 1.25rem;
    margin-bottom: 6.66666667vw;
}
}

/* 利用規約 -------------------------------------------------------------------------------------*/
.terms-block:not(:last-child){
    padding-bottom: 6.35rem;
}
.terms-block h2 {
    font-size: 1.5625rem;
    color: #009FAC;
    text-align: left;
    margin-bottom: 1.875rem;
}
.terms-block p {
    line-height: 1.875;
}
.terms-block .indent-txt li {
    text-indent: -0.8rem;
    padding-left: 0.8rem;
}
.terms-block .second-block li {
    text-indent: -0.8rem;
    padding-left: 0.8rem;
    margin-left: 1.6rem;
}
.terms-block .indent-txt .second-block li {
    text-indent: 0;
}

.sec-detail .inner {
    position: relative;
}
.sec-detail .sec-detail-ttl {
    text-align: center;
    font-size: 2.1875rem;
    font-weight: bold;
    color: #fff;
    position: absolute;
    right: 2.5%;
    top: 9.25rem;
    line-height: 1.85 !important;
    font-feature-settings: initial;
}
.sec-detail .sec-detail-ttl .font-l {
    font-size: 3.125rem;
}
.sec-detail .sec-detail-ttl .dot01 {
    font-size: 3.125rem;
    padding-top: .2em;
    background: url(../img/share/dot-bg.png) no-repeat;
    background-position: top center;
    background-size: 63% auto;
}
.sec-detail .sec-detail-ttl .dot02 {
    font-size: 3.125rem;
    padding-top: .2em;
    background: url(../img/share/dot-bg02.png) no-repeat;
    background-position: top left 60%;
    background-size: 65% auto;
}
.sec-detail .sec-detail-btn {
    position: absolute;
    right: 2.5%;
    bottom: 4.125rem;
}
.terms-btn {
    margin-bottom: 3.125rem;
}
.terms-btn .btn_wrap .btn {
    margin: 0 auto;
}


@media (max-width:767px) {
.sec-detail .sec-detail-ttl {
    font-size: 1.25rem;
    right: 0;
    left: 0;
    top: 9.25rem;
    margin: 0 auto;
}
.sec-detail .sec-detail-ttl .font-l {
    font-size: 1.785711429rem;
}
.sec-detail .sec-detail-ttl .dot01 {
    font-size: 1.785711429rem;
    padding-top: .2em;
    background: url(../img/share/dot-bg.png) no-repeat;
    background-position: top center;
    background-size: 63% auto;
}
.sec-detail .sec-detail-ttl .dot02 {
    font-size: 1.785711429rem;
    padding-top: .2em;
    background: url(../img/share/dot-bg02.png) no-repeat;
    background-position: top left 60%;
    background-size: 65% auto;
}
.sec-detail .sec-detail-btn {
}
.terms-block:not(:last-child) {
    padding-bottom: 13.3333333vw;
}
.terms-block h2 {
    font-size: 1.25rem;
    margin-bottom: 6.66666667vw;
}
}