@charset "utf-8";

/* -------- Common -------- */
/* Section Common */
section.wrapper {
  width: 100%;
  padding: 0;
}

section.bg_color {
  background: #f0f2f7;
}

section .inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 120px 0;
  text-align: center;
}

section .inner__max {
  width: 100%;
  padding: 120px 0;
  text-align: center;
}

.inner_wrap {
  max-width: 1200px;
  margin: 0 auto;
}

/* Main Visual */
section.mv_wrap {
  position: relative;
}

/* logo */
h1.logo_wrap {
  position: absolute;
  width: 27vw;
  left: 1.5vw;
  top: 1.5vw;
  text-align: center;
}

img.logo {
  width: 100%;
}

.logo_txt {
  display: block;
  font-size: 1.6vw;
  margin-top: 0.2em;
  text-align: center;
  font-weight: 500;
  color: #333;
  letter-spacing: 0.2em;
  text-shadow:
   2px  2px 4px #ffffff,
  -2px  2px 4px #ffffff,
   2px -2px 4px #ffffff,
  -2px -2px 4px #ffffff,
   2px  0px 4px #ffffff,
   0px  2px 4px #ffffff,
  -2px  0px 4px #ffffff,
   0px -2px 4px #ffffff;
}

/* Catch */
.catch_wrap {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.catch_wrap p {
  text-align: center;
  color: #003064;
  font-size: 4rem; /*4rem*/
  letter-spacing: 1rem;
  font-family: 'Noto Sans JP';
  font-weight: 700;
  line-height: 1.5;
}

.catch_wrap p span {
  display: block;
  font-size: 7rem; /*7rem*/
}

/* Buttom Set */
.btn_set {
  border-radius: 100px;
  text-align: center;
  color: #fff;
  font-family: 'Noto Sans JP';
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.btn_set::after {
  position: absolute;
  top: 50%;
  right: 1em;
  width: 0.65em;
  height: 0.65em;
  transform: translateY(-50%) rotate(45deg);
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  content: "";
}

.btn_form_color__p {
  background-color: #ff9b19;
}
.btn_form_color__g {
  background-color: #12bb15;
}
.btn_form_color__r {
  background-color: #6b0000;
}

.txt_color {
  color: #fffc00;
}

/* Mv Form Buttom */
.btn_form_wrap__mv {
  position: absolute;
  bottom: 15%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 40%;
}

.btn_form__mv {
  display: block;
  padding: 1.3vw 3.0vw 1.3vw 8.0vw;
  font-size: 1.5vw;
  font-weight: 600;
  box-shadow: 0 0 10px #fff;
  background-image: url("../images/ico_mail.svg");
  background-position: left 9% center;
  background-size: 13%;
  background-repeat: no-repeat;
}

.txt_small__mv {
  display: block;
  font-size: 1.2vw;
  padding-top: 0.4vw;
  font-weight: 400;
}

/* Enquiry Banner */
.enquiry {
  width: 100%;
  padding: 40px 0;
  background: center url("../images/bg_enquiry.jpg");
}

.bnr_enquiry {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.bnr_enquiry h2 {
  color: #fff;
  font-size: 2.5rem;
  font-family: 'Noto Sans JP';
  text-align: center;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.2rem;
  width: 100%;
  padding: 0 20px;
  margin-bottom: 30px;
}

.bnr_enquiry h2 span {
  display: block;
  font-size: 3.2rem;
}

/* Enquiry Form Buttom */
.btn_form_wrap {
  position: relative;
  width: 40%;
  max-width: 500px;
  margin: 0 1.5%;
}

.btn_form {
  display: block;
  padding: 1em 1em 1em 3em;
  font-size: 1.5vw;
  font-weight: 600;
  background-position: left 7% center;
  background-size: 12%;
  background-repeat: no-repeat;
}

.btn_form.ico_mail {
  background-image: url("../images/ico_mail.svg");
}
.btn_form.ico_freedial {
  background-image: url("../images/ico_freedial.svg");
}

.txt_small__enq {
  display: block;
  font-size: 1.3vw;
  font-weight: 400;
  letter-spacing: 0;
}

.txt_small__enq > span {
  font-size: 1.5vw;
  font-weight: 600;
}

.btn_form_wrap__prod {
  position: relative;
  width: 75%;
  max-width: 400px;
  margin: 0.75em auto 0;
}

.btn_form__prod {
  display: block;
  padding: 0.85em 1vw 0.85em 3vw;
  font-size: clamp(1.1rem, 1.4vw, 1.5rem);
  color: #fff;
  font-weight: 400;
  box-shadow: 0 0 10px #fff;
  background-image: url("../images/ico_mail.svg");
  background-position: left 6% center;
  background-size: 7%;
  background-repeat: no-repeat;
}

/* Area Title */
.area_title {
  margin: 0 auto;
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 15px 80px;
}

.area_title h2 {
  font-size: 4.0rem;
  color: #004ea2;
  padding: 0;
  font-weight: 500;
  display: inline-block;
  position: relative;
  font-family: 'Noto Sans JP';
  line-height: 1.8;
}

/*
.area_title h2:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  display: inline-block;
  width: 70px;
  height: 3px;
  -moz-transform: translate(-50%);
  -webkit-transform: translate(-50%);
  -ms-transform: translate(-50%);
  transform: translate(-50%);
  background-color: #004ea2;
}
*/

.emphasis {
  font-weight: 600;
  color: #ed1919;
}

ruby[data-ruby] {
  position:relative;
}
ruby[data-ruby]::before {
  content: attr(data-ruby);
  position: absolute;
  left: -1em;
  top: -1em;
  right: -1em;
  text-align: center;
}
rt {
  display: none;
}

.area_title h3 {
  font-size: 1.8rem;
  color: #0b3c6e;
  margin: 40px auto 0;
  line-height: 1.8;
  text-align: center;
  display: inline-block;
  /*font-family: 'Noto Sans JP';*/
}

/* Section01 */
ul.circle_wrap {
  width: 100%;
  display: flex;
  align-items: start;
  justify-content: space-around;
  flex-wrap: wrap;
  padding: 0;
}

ul.circle_wrap > li {
  width: calc(100% / 3);
  display: flex;
  justify-content: center;
  position: relative;
}

ul.circle_wrap > li:nth-child(1) > .circle::before {content: "01";}
ul.circle_wrap > li:nth-child(2) > .circle::before {content: "02";}
ul.circle_wrap > li:nth-child(3) > .circle::before {content: "03";}
ul.circle_wrap > li:nth-child(4) > .circle::before {content: "04";}
ul.circle_wrap > li:nth-child(5) > .circle::before {content: "05";}
ul.circle_wrap > li:nth-child(6) > .circle::before {content: "06";}
ul.circle_wrap > li:nth-child(7) > .circle::before {content: "07";}
ul.circle_wrap > li:nth-child(8) > .circle::before {content: "08";}

ul.circle_wrap > li:nth-child(2) {margin-top: 100px;}
ul.circle_wrap > li:nth-child(4) {margin-left: 12%;}
ul.circle_wrap > li:nth-child(5) {margin-right: 12%;}
ul.circle_wrap > li:nth-child(6), ul.circle_wrap > li:nth-child(8) {margin-top: 40px;}

.circle {
  position: relative;
  width: 85%;
  border: 4px solid #004ea2;
  border-radius: 50%;
  margin-bottom: 2vw;
  background: #fff;
}

.circle::before {
  position: absolute;
  font-family: Arial;
  left: 50%;
  top: -3%;
  transform: translateX(-50%);
  color: #004ea2;
  font-size: 7.6vw;
  opacity: 0.25;
  font-weight: bold;
}

.c_bgcolor {
  border-radius: 50%;
  background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 78%, rgba(0,78,162,1) 78%, rgba(0,78,162,1) 100%);
  z-index: 0;
  transition: .3s;
}

.c_bgcolor::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  transition: .3s;
  border-radius: 50%;
  /*background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 100%);*/
  background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 78%, rgba(0,111,230,1) 78%, rgba(0,111,230,1) 100%);
}

.circle__red {
  border: 4px solid #ed1919;
}

.circle__red::before {
  color: #ed1919;
}

.c_bgcolor:hover::after {
  opacity: 1;
}


.c_bgcolor__red {
  background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 78%, rgba(237,25,25,1) 78%, rgba(237,25,25,1) 100%);
}

.c_bgcolor__red::after {
  background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 78%, rgba(255,88,88,1) 78%, rgba(255,88,88,1) 100%);
}


.circle a {
  border-radius: 50%;
  display:block;
  height:100%;
  pointer-events: auto;
}

.circle .btn_rcmd {
  position: absolute;
  bottom: 11%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  color: #fff;
  font-size: 1.42vw;
}

.circle .btn_rcmd::after {
  content: "";
  position: absolute;
  bottom: -3rem;
  left: 50%;
  transform: translateX(-50%);
  border: 10px solid transparent;
  border-top: 12px solid #fff;
}

/*小サークル用*/
.circle_small {
  width: 70%;
  margin-bottom: 0;
}

.circle_small::before {
  top: -1%;
  font-size: 6vw;
}
/*小サークル用*/

.circle_in {
  position: relative;
  padding-top: 100%;
  height: 0;
  border-radius: 50%;
  pointer-events: auto;
}

.circle_in h4 {
  position: absolute;
  /*padding-top: 1em;*/
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  color: #004ea2;
  font-size: 1.83vw;
  line-height: 1.8;
  font-weight: 600;
}

.circle_in__red h4 {
  color: #ed1919;
}

.circle_small h4 {
  font-size: 1.6vw !important;
}

.circle > img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 70%;
  width: auto;
}

.circle .img__pos01 {left: -10%;}
.circle .img__pos02 {left: -15%;}

.shadow {
  text-shadow:
   1px  1px 2px #ffffff,
  -1px  1px 2px #ffffff,
   1px -1px 2px #ffffff,
  -1px -1px 2px #ffffff,
   1px  0px 2px #ffffff,
   0px  1px 2px #ffffff,
  -1px  0px 2px #ffffff,
   0px -1px 2px #ffffff;
}

/* Features */
.features_wrap {
  position: relative;
  width: 100%;
  background-image:  url("../images/bg_img.png");
  background-color: #004ea2;
  background-repeat: repeat-x;
  background-position: bottom;
  z-index: 10;
}

.features_wrap:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border: 40px solid transparent;
}

.triangle__b:before {border-top: 25px solid #f0f2f7;}
.triangle__w:before {border-top: 25px solid #fff;}

.features_wrap:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 40px solid transparent;
  border-top: 25px solid #003a79;
}

.features {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 20px;
  flex-wrap: nowrap;
  background-image: url("../images/features_img01.svg"), url("../images/features_img02.svg");
  background-repeat: no-repeat;
  background-position: bottom left 20px, bottom right 20px;
  background-size: auto 80%, auto 80%;
}

.features h3 {
  color: #fff;
  font-size: 3.6rem;
  font-family: 'Noto Sans JP';
  text-align: center;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.2rem;
}


/* Section02 */
.product_wrap {
  width: 100%;
  margin: 0 auto;
  padding: 120px 0;
}

section.product_wrap:first-of-type {
  padding-top: 0;
}

section.product_wrap:last-of-type {
  padding-bottom: 0;
}

.area_bg {
  background: #f6f5f3;
}

.tit_worry {
  display: flex;
  position: relative;
  width: 100%;
  max-width: 900px;
  min-height: 150px;
  background: #004ea2;
  margin: 0 auto;
  padding: 30px 110px;
  background-position: right 1rem top 1.5rem;
  background-repeat: no-repeat;
  color: #fff;
  font-size: 2.2rem;
  text-align: left;
  font-weight: 600;
  align-items: center;
}

.tit_worry_shadow {
  text-shadow:
   1px  1px 2px #004ea2,
  -1px  1px 2px #004ea2,
   1px -1px 2px #004ea2,
  -1px -1px 2px #004ea2,
   1px  0px 2px #004ea2,
   0px  1px 2px #004ea2,
  -1px  0px 2px #004ea2,
   0px -1px 2px #004ea2;
}

.tit_worry::before {
  position: absolute;
  font-family: Arial;
  left: 2rem;
  top: 50%;
  transform: translateY(-50%);
  color: #b8c5dd;
  font-size: 7rem;
  font-weight: bold;
}

.worry01 {background-image: url("../images/sec01_01.svg"); background-size: 13%;}
.worry01::before {content: "01";}
.worry02 {background-image: url("../images/sec01_02.svg"); background-size: 18%;}
.worry02::before {content: "02";}
.worry03 {background-image: url("../images/sec01_03.svg"); background-size: 11%;}
.worry03::before {content: "03";}
.worry04 {background-image: url("../images/sec01_04.svg"); background-size: 13%;}
.worry04::before {content: "04";}
.worry05 {background-image: url("../images/sec01_05.svg"); background-size: 22%; background-position: right -2.5rem top 1.5rem;}
.worry05::before {content: "05";}

.arrow {
  position: relative;
  margin: 0 auto;
  padding: 10px 0 20px;
  margin: 40px 0;
  background: center / contain url("../images/arrow.svg") no-repeat;
}

.arrow p {
  font-size: 3rem;
  font-weight: 500;
  color: #0b3c6e;
}

.item {
  width: 100%;
}

.item_bg01 {
  background: linear-gradient(90deg, #fff 0%, #fff 50%, #f0f2f7 50%, #f0f2f7 100%);
  padding-left: 20px;
}

.item_bg02 {
  background: linear-gradient(90deg, #fff 0%, #fff 50%, #f6f5f3 50%, #f6f5f3 100%);
  padding-right: 20px;
}

.item_inner {
  position: relative;
  width :100%;
  max-width: 1200px;
  padding: 30px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.inner_bg__b {
  background: #f0f2f7;
}

.inner_bg__w {
  background: #fff;
}

.inner_bg__r {
  background: #fff4f4;
}

.ico_rcmd__u {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  width: 35%;
  transform: translate(10%, -10%) rotate(0);
  z-index: 100;
}

.ico_rcmd__b {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 13%;
  transform: translate(-20%, -20%) rotate(-45deg);
}

.ico_rcmd__u img, .ico_rcmd__b img {
  width: 100%;
}

.item_ph {
  display: inline-block;
  width: 50%;
}

.item_detail {
  border: 4px solid #004ea2;
  background: rgba(255,255,255,0.9);
  width: 57%;
  padding: 0.9em;
  border-radius: 20px;
  z-index: 10;
}

.detail__ml {margin-left: -7%;}
.detail__mr {margin-right: -7%;}

.item_detail h2 {
  color: #004ea2;
  font-size: 2.8rem;
  font-weight: 600;
}

.item_detail h3 {
  text-align: left;
  color: #004ea2;
  font-size: clamp(1.5rem, 1.5vw, 1.65rem);
  line-height: 1.5;
  padding: 0.75em 0;
}

.item_price_wrap {
  display: inline-block;
}

.item_price {
  background: #004ea2;
  padding: 0.5em;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}

.item_price > span {
  display: inline-block;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  background: #fff;
  color: #004ea2;
  font-size: 1.4rem;
  padding: 0.6em 0.5em 0.6em 0.3em;
  line-height: 1;
  font-weight: 500;
}

.item_price div {
  display: inline-block;
  padding: 0 3vw;
}

.item_price div p {
  color: #fff;
  font-size: 2rem;
}

.item_price div p span {
  font-size: 4rem;
  line-height: 1;
  font-weight: 700;
}

.item_detail .note {
  color: #004ea2;
  font-size: 1.3rem;
  margin-top: 0.5em;
  text-align: left;
}

.item_detail__red {
  border: 4px solid #ed1919;
}

.item_detail__red h2, .item_detail__red h3 {
  color: #ed1919;
}

.item_price__red {
  background: #ed1919;
}

.item_price__red > span {
  color: #ed1919;
}

.item_detail__red .note {
  color: #ed1919;
}

.item_bg01__red {
  background: linear-gradient(90deg, #fff 0%, #fff 50%, #fff4f4 50%, #fff4f4 100%);
  padding-left: 20px;
}

/* Section03 */
h2.tit_outline {
  display: inline-block;
  margin: 0 auto 60px;
  padding: 0.5em 5em;
  color: #004ea2;
  border: 2px solid #004ea2;
  border-radius: 100px;
  background: #fff;
  font-size: 2.6rem;
}

.select_wrap {
  width: 100%;
  padding: 0 15px;
}

.select_wrap > div:nth-child(2) {
  margin-top: 120px;
}

.select_inner {
  width: 100%;
  background: #fff;
  position: relative;
  padding: 4em 30px 0 30px;
}

.select_inner h2 {
  display: inline-block;
  font-size: 3.2rem;
  font-weight: 600;
  padding: 0.25em 2em;
  max-width: 10em;
  color: #fff;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

.funeral__bc {background: #004ea2;}
.funeral__tc {color: #004ea2;}
.memorial__bc {background: #157100;}
.memorial__tc {color: #157100;}

.select_inner h3 {
  font-size: 3.2rem;
  text-align: center;
  font-weight: 700;
}

.select_inner h4 {
  font-size: 1.8rem;
  color: #282828;
  padding-top: 2em;
  text-align: center;
}

ul.select_circle_wrap {
  width: 100%;
  display: flex;
  align-items: start;
  justify-content: space-around;
  flex-wrap: wrap;
  padding: 0;
  margin-top: 3em;
}

ul.select_circle_wrap > li {
  width: calc(100% / 3);
  display: flex;
  justify-content: center;
}

ul.select_circle_wrap > li:nth-child(odd) {margin-top: 20%;}

.select_circle {
  position: relative;
  width: 80%;
  border-radius: 50%;
  padding-top: 80%;
}

/*
li .select_circle:before {
  content: "";
  position: absolute;
  bottom: -12%;
  left: 50%;
  margin-left: -20px;
  border: 20px solid transparent;
  z-index: 0;
}

li:nth-child(1) .select_circle::before{
  bottom: 4%;
  left: auto;
  right: 4%;
  margin-left: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

li:nth-child(3) .select_circle::before{
  bottom: 4%;
  left: 4%;
  margin-left: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.funeral > .select_circle_wrap li .select_circle:before {
  border-top: 20px solid #1b6cc2;
}
.memorial > .select_circle_wrap li .select_circle:before {
  border-top: 20px solid #1fa200;
}
*/

.sc_bc__b {background: #1b6cc2;}
.sc_bc__g {background: #1fa200;}

.select_circle h5 {
  position: absolute;
  padding: 0 1.3em;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: left;
  width: 100%;
  color: #004ea2;
  font-size: 1.7vw;
  line-height: 1.7;
  font-weight: 600;
  color: #fff;
}

.select_circle h5 span {
  display: inline-block;
  font-size: 1.34vw;
  font-weight: 400;
}

.sc_illust {
  width: 22%;
  margin: -16% auto 0;
}



/* Section04 */
ul.voice_list {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 1200px;
  padding: 0 15px;
  margin: 0 auto;
}

ul.voice_list li {
  width: 100%;
  display: flex;
  align-items: center;
  margin-top: 100px;
}

ul.voice_list li:first-of-type {
  margin-top: 0;
}

ul.voice_list li:nth-of-type(odd) {
  justify-content: flex-end;
}

ul.voice_list li:nth-of-type(even) {
  justify-content: flex-start;
}

ul.voice_list li .voice_img {
  width: 32vw;
  height: 32vw;
  max-width: 280px;
  max-height: 280px;
  border-radius: 50%;
  background-color: #f1f1f1;
  background-repeat: no-repeat;
}

ul.voice_list li .voice_01 {
  background-image: url("../images/voice_01.svg");
  background-size: 80%;
  background-position: center top -20%;
}
ul.voice_list li .voice_02 {
  background-image: url("../images/voice_02.svg");
  background-size: 90%;
  background-position: right -30% top -13%;
}
ul.voice_list li .voice_03 {
  background-image: url("../images/voice_03.svg");
  background-size: 65%;
  background-position: center top -13%;
}
ul.voice_list li .voice_04 {
  background-image: url("../images/voice_04.svg");
  background-size: 90%;
  background-position: right 20% top -25%;
}

ul.voice_list li .voice_txt {
  position: relative;
  width: 60%;
  border: 4px solid #004ea2;
  padding: 1.25em;
  border-radius: 15px;
}

ul.voice_list li .voice_txt p {
  color: #0b3c6e;
  text-align: left;
  font-size: 1.8rem;
}

ul.voice_list li .voice_txt p:first-child {
  font-size: 2.2rem;
  font-weight: 700;
  padding-bottom: 0.5em;
}

/*Voice　奇数列用*/
ul.voice_list li:nth-of-type(odd) .voice_img {
  order: 1
}

ul.voice_list li:nth-of-type(odd) .voice_txt {
  order: 2
}

ul.voice_list li:nth-of-type(odd) .voice_txt {
  margin-left: 5%;
}

ul.voice_list li:nth-of-type(odd) .voice_txt:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -32px;
  border: 14px solid transparent;
  border-right: 18px solid #FFF;
  transform: translateY(-50%);
  z-index: 2;
}

ul.voice_list li:nth-of-type(odd) .voice_txt:after {
  content: "";
  position: absolute;
  top: 50%;
  left: -44px;
  border: 20px solid transparent;
  border-right: 24px solid #004ea2;
  transform: translateY(-50%);
  z-index: 1;
}

/*Voice　偶数列用*/
ul.voice_list li:nth-of-type(even) .voice_txt {
  margin-right: 5%;
}

ul.voice_list li:nth-of-type(even) .voice_txt:before {
  content: "";
  position: absolute;
  top: 50%;
  right: -32px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-left: 18px solid #FFF;
  z-index: 2;
}

ul.voice_list li:nth-of-type(even) .voice_txt:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -44px;
  margin-top: -20px;
  border: 20px solid transparent;
  border-left: 24px solid #004ea2;
  z-index: 1;
}

/* Section05 */
ul.info_wrap {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

ul.info_wrap li {
  position: relative;
  width: 50%;
  height: auto;
}

ul.info_wrap li h4 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(0, 78, 162, 0.6);
  padding: 1em;
  color: #fff;
  font-size: 1.8rem;
  text-align: center;
}

ul.info_wrap li h4 span {
  display: block;
  font-size: 2.4rem;
  font-weight: 600;
}

h3.tit_outline {
  display: inline-block;
  margin: 80px auto 60px;
  padding: 0.5em 5em;
  color: #004ea2;
  border: 2px solid #004ea2;
  border-radius: 100px;
  background: #fff;
  font-size: 2.6rem;
}

dl.outline {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 15px;
  display: flex;
  flex-wrap: wrap;
}

dl.outline dt, dl.outline dd {
  margin-top: 0.5em;
  font-size: 1.8rem;
  border: 1px solid #004ea2;
  padding: 0.5em;
}

dl.outline dt {
  width: 25%;
  background: #004ea2;
  color: #fff;
}

dl.outline dd {
  width: 75%;
  background: #fff;
  color: #003064;
  text-align: left;
}

dl.outline dt:first-of-type, dl.outline dd:first-of-type {
  margin-top: 0;
}

.gmap_wrap {
  width: 100%;
  max-width: 1000px;
  padding: 0 15px;
  margin: 60px auto 0;
}

.gmap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 45%;
  border: 1px solid #b2b2b2;
}

.gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.btn_mutsuura_wrap {
  display: inline-block;
  position: relative;
  margin: 0 auto;
  /*width: 50%;
  max-width: 400px;*/
}

.btn_mutsuura_wrap > .btn_set {
  font-family: 'Noto Serif JP';
}

.btn_mutsuura {
  display: block;
  padding: 1.5em 3em;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
}

.btn_form_color__b {
  background: #1a3157;
}

/* Thanks.html */

#thanks .container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

#thanks header {
  width: 100%;
  padding: 0.75em 1em;
  background: #004ea2;
}

#thanks header img {
  width: 200px;
}

#thanks .complete {
  max-width: 1200px;
  padding: 5em 15px;
  margin: 0 auto;
}

#thanks .complete p:first-of-type {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 600;
  padding-bottom: 2em;
}

#thanks .complete p {
  line-height: 1.8;
}

#thanks .complete p:last-of-type {
  padding-top: 1em;
}

#thanks .complete p:last-of-type span {
  display: block;
}

#thanks .complete p:last-of-type span a {
  color: #db1557;
  text-decoration: underline;
}

#thanks .complete div {
  width: fit-content;
  display: block;
  margin: 4em auto 0;
}

#thanks .complete div a {
  display: block;
  padding: 0.75em 3em;
  font-size: 1.8rem;
  color: #fff;
  border-radius: 100px;
  background: #004ea2;
}

#thanks .container > footer {
  margin-top: auto;
}

@media only screen and (min-width:1024px) {
}

@media only screen and (min-width:1200px) {
  /* Section01 */
  .circle::before {
    font-size: 9rem;
  }
  .circle_in h4 {
    font-size: 2.2rem;
  }

  .circle .btn_rcmd {
    font-size: 1.7rem;
  }

  .circle_small::before {
    font-size: 7.3rem;
  }
  .circle_small h4 {
    font-size: 1.92rem !important;
  }

  .btn_form {
    font-size: 1.8rem;
  }

  .txt_small__enq {
    font-size: 1.55rem;
  }

  .txt_small__enq > span {
    font-size: 1.8rem;
  }

  /* Features */
  .features p {
    font-size: 3.6rem;
  }

  /* Section03 */
  .select_circle h5 {
    font-size: 2rem;
  }
  .select_circle h5 span {
    font-size: 1.6rem;
  }

}

@media only screen and (min-width:768px) and (max-width:1023px) {
  /* Section Common */
  section .inner {
    max-width: 100%;
    padding: 80px 0;
  }

  section .inner__max {
    max-width: 100%;
    padding: 80px 0;
  }

  /* Area Title */
  .area_title {
    padding: 0 15px 60px;
  }

  .area_title h2 {
    font-size: 3.0rem;
  }

  .area_title h3 {
    font-size: 1.6rem;
    margin: 20px auto 0;
    line-height: 1.6;
    text-align: left;
  }

  /* Section01 */
  ul.circle_wrap {
  }

  /* Enquiry Form Buttom */
  .btn_form_wrap {
    position: relative;
    width: 46%;
    max-width: 380px;
    margin: 0 2%;
  }

  /* Features */
  .features {
    padding: 50px 20px;
    background-size: auto 70%, auto 70%;
  }

   .features h3 {
    font-size: 2.8rem;
    line-height: 1.6;
    letter-spacing: 0;
  }

  .enquiry {
    padding: 30px 0;
  }

  .bnr_enquiry h2 {
    font-size: 2.2rem;
  }
  .bnr_enquiry h2 span {
    font-size: 2.8rem;
  }

  /* Section02 */
  .product_wrap {
    padding: 80px 0;
  }

  .tit_worry {
    width: 80%;
    max-width: 90%;
    min-height: 110px;
    padding: 25px 100px;
    font-size: 1.9rem;
  }

  .tit_worry::before {
    font-size: 6rem;
  }

  .worry01 {background-size: 11%;}

  .arrow {
    margin: 25px 0;
  }

  .arrow p {
    font-size: 2.5rem;
  }


  .item_inner {
    padding: 2.6vw;
  }

  .item_detail {
    padding: 1.67vw;
  }

  .item_detail h2 {
    font-size: 2.7vw;
  }

  .item_detail h3 {
    /*font-size: min(1.8rem, 1.96vw);*/
    line-height: normal;
    padding: 0.75em 0;
  }

  .item_price > span {
    font-size: 1.45vw;
  }

  .item_price div p {
    font-size: 1.82vw;
  }

  .item_price div p span {
    font-size: 4vw;
  }

  .item_detail .note {
    font-size: 1.4vw;
  }

  /* Section03 */
  h2.tit_outline {
    margin: 0 auto 40px;
    font-size: 2.7vw;
  }

  .select_inner {
    padding:3em 20px 0 20px;
  }

  .select_inner h2 {
    font-size: 2.8rem;
    padding: 0.25em 2em;
    max-width: 10em;
  }

  .select_inner h3 {
    font-size: 2.8rem;
  }

  .select_inner h4 {
    padding-top: 1.5em;
    font-size: 1.6rem;
  }

  .select_circle {
    width: 85%;
    padding-top: 85%;
  }

  .select_circle h5 {
    /*font-size: 1.6vw;*/
  }

  ul.select_circle_wrap {
    margin-top: 2em;
  }

  /* Section04 */
  ul.voice_list li {
    margin-top: 60px;
  }

  ul.voice_list li .voice_txt {
    padding: 1.0em;
  }

  ul.voice_list li .voice_txt p {
    font-size: min(1.8rem, 1.96vw);
  }

  ul.voice_list li .voice_txt p:first-child {
    font-size: min(2.2rem, 2.7vw);
  }

  /* Section05 */
  ul.info_wrap li h4 {
    font-size: min(1.8rem, 1.96vw);
  }

  ul.info_wrap li h4 span {
    font-size: min(2.4rem, 2.4vw);
    padding-top: 0;
  }

  h3.tit_outline {
    margin: 50px auto 40px;
    font-size: 2.7vw;
  }

  dl.outline dt, dl.outline dd {
    font-size: 1.6rem; /*min(1.8rem, 1.96vw)*/
  }

  .gmap_wrap {
    margin: 40px auto 0;
  }

  .btn_mutsuura {
    padding: 1.5em 3em;
    font-size: 1.6rem;
  }

  /* Thanks Page */
  #thanks .complete p:first-of-type {
    font-size: 2.0rem;
  }

  #thanks .complete p {
    font-size: 1.6rem;
  }

}

@media only screen and (max-width:767px) {

  /* -------- Common -------- */
  /* Section Common */
  section.wrapper {
    padding: 0;
  }
  section .inner {
    max-width: 100%;
    padding: 60px 0;
  }
  section .inner__max {
    max-width: 100%;
    padding: 60px 0;
  }

  /* Logo */
  h1.logo_wrap {
    width: 50vw;
    top: 5vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }

  .logo_txt {
    font-size: 3vw;
    margin-top: 0.5em;
  }

  /* Buttom Set */
  .btn_set {
    letter-spacing: 0;
  }

  /* Mv Form Buttom */
  .btn_form_wrap__mv {
    bottom: 19%;
    width: 92%;
    min-width: 92%;
  }

  .btn_form__mv {
    padding: 0.85em 1em 0.85em 3em;
    font-size: 3.8vw;
    font-weight: 500;
    box-shadow: none;
    background-position: left 6% center;
  }

  .txt_small__mv {
    font-size: 3.2vw;
  }

  /* Enquiry Banner */
  .enquiry {
    padding: 30px 10px;
  }

  .bnr_enquiry {
    max-width: 100%;
    flex-direction: column;
  }

  .bnr_enquiry h2 {
    font-size: 3.8vw;
    line-height: 1.6;
    letter-spacing: normal;
    padding: 0;
    margin-bottom: 1em;
  }

  .bnr_enquiry h2 span {
    font-size: 5vw;
  }

  /* Enquiry Form Buttom */
  .btn_form_wrap {
    width: 95%;
    max-width: 95%;
    margin: 0;
  }

  .btn_form {
    padding: 0.85em 1.0em 0.85em 2.5em;
    font-size: 3.8vw;
    font-weight: 500;
    background-position: left 5% center;
  }

  .txt_small__enq {
    font-size: 3.2vw;
  }

  .txt_small__enq > span {
    font-size: 3.8vw;
  }

  .btn_form_wrap__prod {
    width: 95%;
    max-width: 95%;
    margin: 1.25em auto 0;
  }

  .btn_form__prod {
    padding: 1em 1vw 1em 3vw;
    font-size: 3.2vw;
    background-position: left 6% center;
    background-size: 7%;
  }

  .bnr_enquiry div:first-of-type {
    margin-bottom: 1em;
  }

  /* Area Title */
  .area_title {
    padding: 0 10px 11%;
  }

  .area_title h2 {
    font-size: 6.6vw;
    padding: 0;
  }

  /*.area_title h2:before {
    width: 50px;
  }*/

  .area_title h3 {
    font-size: 4.1vw;
    margin: 20px auto 0;
    line-height: 1.6;
    text-align: left;
    letter-spacing: -0.06rem;
  }

  /* Section01 */
  ul.circle_wrap {
    justify-content: flex-end;
    position: relative;
    padding: 0 10px;
  }

  ul.circle_wrap > li {
    width: 100%;
    display: flex;
    justify-content: flex-start;
  }

  ul.circle_wrap > li:nth-child(even) {
    justify-content: flex-end;
  }

  ul.circle_wrap > li:nth-child(odd) {
    padding-left: 4%;
  }

  ul.circle_wrap > li:nth-child(2) {margin-top: 0;}
  ul.circle_wrap > li:nth-child(4) {margin-left: 0;}
  ul.circle_wrap > li:nth-child(5) {margin-right: 0;}
  ul.circle_wrap > li:nth-child(6), ul.circle_wrap > li:nth-child(8) {margin-top: 0; padding-right: 0;}
  ul.circle_wrap > li:nth-child(7) {padding-left: 0;}

  ul.circle_wrap > li:nth-child(n + 2):not(:nth-child(n + 6)) {margin-top: -10px !important;}
  ul.circle_wrap > li:nth-child(6) {margin-top: -25px !important;}
  ul.circle_wrap > li:nth-child(n + 7) {margin-top: -50px !important;}

  .circle {
    width: 60%;
    margin-bottom: 0;
    border: 3px solid #004ea2;
  }

  .circle::before {
    top: -2%;
    font-size: 15vw;
  }

  .circle__red {
    border: 3px solid #ed1919;
  }

  .c_bgcolor {
    transition: none;
  }

  .c_bgcolor::after {
    transition: none;
    background: none;
  }

  .c_bgcolor:hover::after {
    opacity: none;
  }

  .circle .btn_rcmd {
    bottom: 12%;
    font-size: 3vw;
  }

  .circle .btn_rcmd::after {
    bottom: -2.5rem;
    border: 8px solid transparent;
    border-top: 10px solid #fff;
  }

  /*小サークル用*/
  .circle_small::before {
    top: -1%;
    font-size: 12vw;
  }
  /*小サークル用*/
  .circle_small {
    width: 53%;
  }

  .circle_in h4 {
    font-size: 3.85vw;
  }

  .circle_small h4 {
    font-size: 3.4vw !important;
  }

  /* Features */
  .features_wrap:before {
    border: 30px solid transparent;
  }

  .features_wrap:after {
    border: 30px solid transparent;
    border-top: 20px solid #003a79;
  }

  .triangle__b:before {border-top: 20px solid #f0f2f7;}
  .triangle__w:before {border-top: 20px solid #fff;}

  .features {
    max-width: 100%;
    padding: 40px 10px;
    background-position: bottom left 10px, bottom right 10px;
    background-size: auto 70%, auto 70%;
  }

  .features h3 {
    font-size: 5vw;
    line-height: 1.8;
    letter-spacing: 0;
  }

  /*Section02*/
  .product_wrap {
    padding: 50px 0;
  }

  section.product_wrap:first-of-type {
    padding-top: 0;
  }

  section.product_wrap:last-of-type {
    padding-bottom: 0;
  }

  .tit_worry {
    width: calc(100% - 20px);
    max-width: inherit;
    min-height: 80px;
    padding: 15px 16vw 15px 17vw;
    background-position: right 0.5rem top 1rem;
    font-size: 4vw; /*1.6rem*/
    font-weight: 500;
  }

  .tit_worry::before {
    left: 1rem;
    font-size: 11vw; /*4.3rem*/
  }

  .worry01 {background-size: 16%;}
  .worry02 {background-size: 23%;}
  .worry03 {background-size: 14%;}
  .worry04 {background-size: 17%;}
  .worry05 {background-size: 28%; background-position: right -2rem top 1rem;}

  .arrow {
    padding: 10px 0 20px;
    margin: 15px 0;
  }

  .arrow p {
    font-size: 5vw;
  }

  .item_bg01 {
    background: none;
    padding-left: 0;
  }

  .item_bg02 {
    background: none;
    padding-right: 0;
  }

  .inner_bg__b {background: none;}
  .inner_bg__w {background: none;}
  .inner_bg__r {background: none;}

  .item_inner {
    max-width: 100%;
    padding: 0 10px; /*2.6vw;*/
    justify-content: center;
    flex-direction: column;
  }

  .ico_rcmd__u {
  }

  .ico_rcmd__b {
    display: inline-block;
    position: absolute;
    top: 4.5vw;
    left: auto;
    right: calc(10px + 4.5vw);
    width: 20%;
    transform: translate(0%, 0%) rotate(0deg);
  }

  .item_ph {
    width: 100%;
    /*ここから追加*/
    padding: 3vw 3vw 1vw 3vw;
    border: 3px solid #004ea2;
    border-bottom: none;
    border-radius: 15px 15px 0 0;
    background: #fff;
    /*ここまで追加*/
  }

  .item_detail {
    width: 100%;
    padding: 3vw;
    /*margin-top: 20px;*/
    border-radius: 0 0 15px 15px; /*変更*/
    border: 3px solid #004ea2;
    border-top: none;
  }

  .item_ph__red {
    border: 3px solid #ed1919;
    border-bottom: none;
  }

  .item_detail__red {
    border: 3px solid #ed1919;
    border-top: none;
  }

  .detail__ml {margin-left: 0;}
  .detail__mr {margin-right: 0;}

  .item_bg02 .item_inner .item_ph {order:1}
  .item_bg02 .item_inner .item_detail {order:2}

  .item_detail h2 {
    font-size: 6vw;
  }

  .item_detail h3 {
    font-size: 4vw;/*min(18px, 4vw)*/
    line-height: normal;
    padding: 0.75em 0 1em;
  }

  .item_price_wrap {
    display: block;
  }

  .item_price {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
  }

  .item_price > span {
    font-size: 3.2vw;
    padding: 0.4em 2vw 0.4em 1.2vw;
    white-space: nowrap;
  }

  .item_price div {
    display: block;
    padding: 0;
    text-align: center;
    width: calc(100% - 6.4vw);/* item_price > span [ font-size(3.2vw) + padding(2vw + 1.2vw) ]*/
  }

  .item_price div p {
    font-size: 4vw;
  }

  .item_price div p span {
    font-size: 7vw;
  }

  .item_detail .note {
    font-size: 2.92vw;
  }

  /* Section03 */
  h2.tit_outline {
    margin: 0 auto 30px;
    padding: 0.5em;
    font-size: 5vw;
    width: 80%;
  }

  .select_wrap {
    padding: 0 10px;
  }

  .select_wrap > div:nth-child(2) {
    margin-top: 12%;
  }

  .select_inner {
    padding: 2.5em 10px 0 10px;
  }

  .select_inner h2 {
    font-size: 5vw;
    padding: 0.25em 2em;
    max-width: 50%;
  }

  .select_inner h3 {
    font-size: 5vw;
  }

  .select_inner h4 {
    font-size: 3.6vw;
    padding-top: 1em;
    text-align: left;
  }

  ul.select_circle_wrap {
    flex-direction: column;
    align-items: start;
    justify-content: center;
    margin-top: 1em;
  }

  ul.select_circle_wrap > li {
    width: 100%;
    display: flex;
    justify-content: flex-end;
  }

  .funeral > ul.select_circle_wrap > li:nth-child(odd) {
    margin-top: 0;
  }
  .funeral > ul.select_circle_wrap > li:nth-child(even) {
    margin-top: 0;
    justify-content: flex-start;
  }

  .memorial > ul.select_circle_wrap > li:nth-child(odd) {
    margin-top: 0;
    justify-content: flex-start;
  }
  .memorial > ul.select_circle_wrap > li:nth-child(even) {
    margin-top: 0;
  }

  .funeral > ul.select_circle_wrap > li:nth-child(2), .funeral > ul.select_circle_wrap > li:nth-child(3),
  .memorial > ul.select_circle_wrap > li:nth-child(2), .memorial > ul.select_circle_wrap > li:nth-child(3) {
    margin-top: -20%;
  }

  .select_circle {
    position: relative;
    width: 50%;
    border-radius: 50%;
    padding-top: 50%;
  }

  .select_circle h5 {
    padding: 0 1.3em;
    font-size: 3.4vw;
    line-height: 1.7;
  }

  .select_circle h5 span {
    font-size: 2.5vw;
  }

  .sc_illust {
    width: 100%;
    margin: -25% auto 0;
    display: flex;
    justify-content: flex-end;
  }

  .funeral > .sc_illust {
    justify-content: flex-start;
  }

  .sc_illust img {
    width: 40%;
  }

  /* Section04 */
  ul.voice_list {
    max-width: inherit;
    padding: 0 10px;
  }

  ul.voice_list li {
    align-items: normal;
    flex-direction: column;
    margin-top: 50px;
  }

  ul.voice_list li:first-of-type {
    margin-top: 0;
  }

  ul.voice_list li:nth-of-type(odd) {
    justify-content: normal;
  }

  ul.voice_list li:nth-of-type(even) {
    justify-content: normal;
    align-items: flex-end;
  }

  ul.voice_list li .voice_img {
    width: 50%;
    height: auto;
    padding-top: 50%;
    max-width: inherit;
    max-height: inherit;
  }

  ul.voice_list li .voice_txt {
    width: 100%;
    border: 3px solid #004ea2;
    padding: 0.75em;
    margin-bottom: 30px;
    line-height: normal;
  }

  ul.voice_list li .voice_txt p {
    font-size: 4vw;
  }

  ul.voice_list li .voice_txt p:first-child {
    font-size: 4.8vw;
  }

  /*Voice　奇数列用*/
  ul.voice_list li:nth-of-type(odd) .voice_img {
    order: 0;
  }

  ul.voice_list li:nth-of-type(odd) .voice_txt {
    order: 0;
  }

  ul.voice_list li:nth-of-type(odd) .voice_txt {
    margin-left: 0;
  }

  ul.voice_list li:nth-of-type(odd) .voice_txt:before {
    top: auto;
    bottom: -35px;
    left: 25%;
    margin-top: 0;
    border: 16px solid transparent;
    border-top: 20px solid #FFF;
    transform: translateX(-50%);
  }

  ul.voice_list li:nth-of-type(odd) .voice_txt:after {
    top: auto;
    bottom: -44px;
    left: 25%;
    margin-top: 0;
    border: 20px solid transparent;
    border-top: 24px solid #004ea2;
    transform: translateX(-50%);
  }

  /*Voice　偶数列用*/
  ul.voice_list li:nth-of-type(even) .voice_txt {
    margin-right: 0;
  }

  ul.voice_list li:nth-of-type(even) .voice_txt:before {
    top: auto;
    bottom: -35px;
    right: auto;
    left: 75%;
    margin-top: 0;
    border: 16px solid transparent;
    border-top: 20px solid #FFF;
    transform: translateX(-50%);
  }

  ul.voice_list li:nth-of-type(even) .voice_txt:after {
    top: auto;
    bottom: -44px;
    right: auto;
    left: 75%;
    margin-top: 0;
    border: 20px solid transparent;
    border-top: 24px solid #004ea2;
    transform: translateX(-50%);
  }

  /* Section05 */
  ul.info_wrap {
    flex-direction: column;
    padding: 0 10px;
  }

  ul.info_wrap li {
    width: 100%;
    margin-top: 30px;
  }

  ul.info_wrap li:first-of-type {
    margin-top: 0;
  }

  ul.info_wrap li h4 {
    font-size: 4vw;
    padding: 0.5em;
  }

  ul.info_wrap li h4 span {
    font-size: 4.6vw;
  }

  h3.tit_outline {
    margin: 40px auto 30px;
    padding: 0.5em;
    font-size: 5vw;
    width: 80%;
  }

  dl.outline {
    max-width: 100%;
    padding: 0 10px;
    flex-direction: column;
  }

  dl.outline dt, dl.outline dd {
    font-size: 4vw;
    padding: 0.3em 0.6em;
  }

  dl.outline dt {
    width: 100%;
    text-align: left;
  }

  dl.outline dd {
    width: 100%;
    text-align: left;
    margin-top: 0;
    padding: 0.3em 1.6em;
  }

  .gmap_wrap {
    max-width: 100%;
    padding: 0 10px;
    margin: 30px auto 0;
  }

  .gmap {
    padding-top: 75%;
  }

  .btn_mutsuura_wrap {
    width: 80%;
  }

  .btn_mutsuura {
    padding: 1.2em 0;
    font-size: 4.4vw;
  }

  /* Thanks Page */
  #thanks header {
    text-align: center;
  }

  #thanks header img {
    width: 50%;
    max-width: 250px;
  }

  #thanks .complete {
    max-width: 100%;
    padding: 3em 10px;
  }

  #thanks .complete p:first-of-type {
    font-size: 5vw;
  }

  #thanks .complete p {
    font-size: 4vw;
    line-height: 1.6;
  }

  #thanks .complete div {
    margin: 3em auto 0;
  }

  #thanks .complete div a {
    padding: 0.75em 3em;
    font-size: 4vw;
  }
}

@media only screen and (max-width:320px) {
}
