@charset "shift_jis";
/*------------------------------------------------------------------------------------------------*/
/* index/content
--------------------------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------------------------*/
/* ■ info //////////////////////////////////////////////////////////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
#info {
  padding: 60px 0px 60px 0px;
  background-color: #feeaf1;
}

/* item_head
/*------------------------------------------------------------------*/
#info h2 {
  margin-top: -4px;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #222;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
}

#info h2 span {
  display: block;
  color: #ff4776;
  font-size: 1.4rem;
}

/* item_contents
/*------------------------------------------------------------------*/
#info .item_contents {
  margin-top: 1.5rem;
  border-top: 4px dotted #fff;
  line-height: 1.4;
  font-size: 1rem;
}

#info .info_item {
  padding: 1.5rem 1rem;
}

#info .info_item:not(:nth-of-type(1)) {
  border-top: 4px dotted #fff;
}

#info .info_item:last-child {
  padding: 1.5rem 1rem 0 1rem;
}

#info p {
  margin-top: 0.75rem;
}

#info p:nth-of-type(1) {
  margin-top: 0;
}

  #info p.item_link {
    margin-top: 6px;
    text-align: right;
  }

#info p em {
  font-weight: 900;
}

#info p strong {
  color: #be000a;
  font-weight: 900;
}

#info p a {
  display: inline-block;
  padding-bottom: 2px;
  line-height: 1;
  border-bottom: 1px dashed #ff237d;
  color: #ff237d;
}

#info p a:hover {
  border-bottom: none;
  color: #ff237d;
}

/*----------------------------------------------------------------------------*/
/* ■ Desktop 751px - 1024px */ @media screen and (min-width: 751px) {
/*------------------------------------------------------------------*/
#info {
  margin: 0 auto;
  padding: 2rem 0px;
}

/* flex_wrap
/*------------------------------------------------------------------*/
#info .flex_wrap {
  justify-content: flex-end;
}

/* item_head
/*------------------------------------------------------------------*/
#info .item_head {
  width: 150px;
}

/* item_contents
/*------------------------------------------------------------------*/
#info .item_contents {
  margin: 1rem 0 0 2rem;
  padding: 1rem 0 0 0;
  width: calc(100% - 2rem - 150px);
}

#info .item_head + .item_contents {
  margin: 0 0 0 2rem;
  padding: 0;
  border: none;
}

#info .strong_item {
  margin-top: 10px;
  padding: 12px 24px 10px 24px;
  border: 2px solid #be000a;
  /* color: #e64614; */
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0em;
}

#info .info_item:first-child {
  padding-top: 0;
}
  
#info .item_contents .item_link a {
  font-size: 0.9rem;
}

#info .btn {
  margin-top: 12px;
}

/*------------------------------------------------------------------*/
/* 閉じ括弧 削除注意 */ }
/*----------------------------------------------------------------------------*/



/*------------------------------------------------------------------------------------------------*/
/* ■ jumbotron /////////////////////////////////////////////////////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
#jumbotron {
  position: relative;
  margin: 0 auto;
  padding-top: 70px;
  width: 100%;
  background: url(/assets/img/photo/img_eucalyptus.jpg) no-repeat;
  background-position: 24% 50%;
  background-size: cover;
}

#jumbotron:before {
  content: '';
  display: block;
  padding-top: 120%;
}

/* txt_title
/*------------------------------------------------------------------*/
#txt_title {
  position: absolute;
  top: 16%;
  left: 4%;
  z-index: 10;
  width: 65%;
}

/* img_badge
/*------------------------------------------------------------------*/
#img_badge {
  position: absolute;
  top: 46%;
  left: 5%;
  z-index: 40;
  width: 22%;
}

/* txt_lead
/*------------------------------------------------------------------*/
#txt_lead {
  position: absolute;
  bottom: 1%;
  left:5%;
  z-index: 30;
  width: 80%;
  max-width: 384px;
}

/* img_chara
/*------------------------------------------------------------------*/
#img_chara {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 20;
  width: 63%;
}

#jumbotron img {
  width: 100%;
}

/*----------------------------------------------------------------------------*/
/* ■ Desktop 751px - 1024px */ @media screen and (min-width: 751px) {
/*------------------------------------------------------------------*/
#jumbotron {
  position: relative;
  margin: 0 auto;
  width: 100%;
  height: 670px;
  /* max-width: calc(1024px + 200px); */
  /* background: url(/assets/img/index/txt_title.png) no-repeat; */
  background: url(/assets/img/photo/img_eucalyptus.jpg) no-repeat;
  background-position: 100% 100%;
  background-size: 100%;
}

#jumbotron:before {
  display: none;
}

#jumbotron:after {
  display: none;
}
  
/* wrapper
/*------------------------------------------------------------------*/
#jumbotron .wrapper {
  position: relative;
  display: block;
  margin: 0 auto;
  width: 1024px;
  height: 600px;
}

/* txt_title
/*------------------------------------------------------------------*/
#txt_title {
  position: absolute;
  top: 68px;
  left: 122px;
  z-index: 10;
  width: 632px;
}

/* img_badge
/*------------------------------------------------------------------*/
#img_badge {
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 40;
  width: 160px;
}

/* txt_lead
/*------------------------------------------------------------------*/
#txt_lead {
  position: absolute;
  top: 344px;
  left: 200px;
  z-index: 30;
  width: 632px;
  height: 219px;
  background-color: transparent;
}

/* img_chara
/*------------------------------------------------------------------*/
#img_chara {
  position: absolute;
  bottom: 0;
  right: -64px;
  z-index: 20;
  width: 531px;
}

/*------------------------------------------------------------------*/
/* 閉じ括弧 削除注意 */ }
/*----------------------------------------------------------------------------*/



/*------------------------------------------------------------------------------------------------*/
/* ■ main_contents /////////////////////////////////////////////////////////////////////////////////
--------------------------------------------------------------------------------------------------*/



/*------------------------------------------------------------------------------------------------*/
/* ■ section ///////////////////////////////////////////////////////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
/* insurance - regular / other_insurance
--------------------------------------------------------------------------------------------------*/
.insurance {
  padding: 60px 0px;
}

.insurance h2 {
  position: relative;
  padding: 0 12px;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #254f23;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 2rem;
  font-weight: 700;
}

.insurance h2 small {
  display: block;
  margin-top: .8rem;
  letter-spacing: 0.1em;
  color: #222;
  font-size: 1.2rem;
}

.insurance h2:before {
  position: relative;
  top: .025em;
  left: -0.15em;
  font-family: 'Font Awesome 5 Free';
  font-size: 2.2rem;
  font-weight: 900;
}
/*
.insurance h2:before {
  position: absolute;
  top: -4rem;
  left: calc(50% - 3rem / 2);
  font-family: 'Font Awesome 5 Free';
  font-size: 3rem;
  font-weight: 900;
}
*/


/*------------------------------------------------------------------------------------------------*/
/* section_01 //////////////////////////////////////////////////////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
/* regular
--------------------------------------------------------------------------------------------------*/
#regular {
  background-color: transparent;
}

#regular h2 {
  color: #4e6d0f;
}

#regular h2:before {
  content: '\f549';
  color: #8db241;
}

/* flex_wrap
/*------------------------------------------------------------------*/
#regular .flex_wrap {
  align-items: center;
  justify-content: space-between;
  margin-top: 0;
  padding: 0 12px;
}

/* flex_item
/*------------------------------------------------------------------*/
#regular .flex_item {
  position: relative;
  display: block;
  margin-top: 1rem;
  width: 100%;
  height: auto;
  border-radius: 0.5ch;
  box-shadow: 0 1rem 0.5rem -1.0rem rgba(20, 60, 80, 0.4);
  background: rgb(181 221 148) url(/assets/img/common/bg_watercolor_gr.jpg);
  background-position: 2% 0%;
}

#regular .flex_item:before {
  content: "";
  display: block;
  padding-top: 25%;
}

#regular .flex_item:hover {
  opacity: .8;
}

/* wrapper
/*------------------------------------------------------------------*/
#regular .wrapper {
  position: absolute;
  top: 0px;
  padding: 0 2.5rem 0 25%;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
}

#regular #item_enji .wrapper {
  background-image: url(/assets/img/illust/img_0_enji.png);
  background-position: 2% -10%;
  background-size: 30%;
}

#regular #item_shogaku .wrapper {
  background-image: url(/assets/img/illust/img_0_shogaku.png);
  background-position: -2% -5%;
  background-size: 30%;
}

#regular #item_chugaku .wrapper {
  background-image: url(/assets/img/illust/img_0_chugaku.png);
  background-position: -8% -3%;
  background-size: 35%;
}

#regular #item_kouko .wrapper {
  background-image: url(/assets/img/illust/img_0_kouko.png);
  background-position: -6% -4%;
  background-size: 35%;
}

#regular #item_gakuso .wrapper {
  background-image: url(/assets/img/illust/img_0_gakuso.png);
  background-position: -7% -3%;
  background-size: 35%;
}

#regular #item_encho .wrapper {
  background-image: url(/assets/img/illust/img_0_encho.png);
  background-position: -2% -4%;
  background-size: 28%;
}

#regular #item_shaseki .wrapper {
  background-image: url(/assets/img/illust/img_0_shaseki.png);
  background-position: -9% -4%;
  background-size: 44%;
}

#regular .wrapper a:after {
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  content: '\f0da';
  position: absolute;
  top: 50%;
  right: 1.5rem;
  margin-top: -1.5rem;
  color: #fff;
  font-family: 'Font Awesome 5 Free';
  font-size: 2rem;
  font-weight: 900;
}

#regular .wrapper a:hover:after {
  right: 1.3rem;
}

/* item_head
/*------------------------------------------------------------------*/
#regular .item_head {
  left: 25%;
  display: flex;
  flex-flow:column;
  align-items: center;
  justify-content: center;
  padding: 0 6%;
  width: 100%;
  height: 100%;
  border-radius: 0 0.5ch 0.5ch 0;
  text-align: center;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  }

#regular .item_head h3 {
  width: 100%;
  line-height: 1;
  font-size: clamp(1.2rem, 0.402rem + 3.4vw, 2rem);
}

#regular .item_head h3 span,
#regular .item_head h3 small {
  display: inline-block;
}

#regular .item_head p {
  width: 100%;
  margin-top: 0.6rem;
  line-height: 1.2;
  text-align: center;
  font-size: clamp(0.9rem, 0.601rem + 1.28vw, 1.2rem);
}

#regular .item_head p span {
   display: inline-block;
}

/* item_catch
/*------------------------------------------------------------------*/
#regular #item_catch {
  position: static;
  display: block;
  margin-top: 2rem;
  width: 100%;
  height: auto;
  border-radius: 0.5ch;
  box-shadow: none;
  background: none;
}

#regular #item_catch:before {
  display:none;
}

#regular #item_catch:hover {
  opacity: 1;
}

#regular #item_catch .wrapper {
  position: static;
  top: 0px;
  padding: 0;
  width: 100%;
  height: auto;
}

#regular #item_catch img {
  width: 100%;
}

/*----------------------------------------------------------------------------*/
/* ■ Desktop 751px - 1024px */ @media screen and (min-width: 751px) {
/*------------------------------------------------------------------*/
  
/* flex_item
/*------------------------------------------------------------------*/
#regular .flex_item {
  margin-top: 12px;
  width: calc((100% - 12px) / 2);
}

#regular .flex_item:before {
  padding-top: 36%;
}

#regular .flex_item:nth-of-type(2) {
  margin-top: 2rem;
}
  
/* item_head
/*------------------------------------------------------------------*/
#regular .item_head h3 {
  font-size: 1.4rem;
}

#regular .item_head p {
  margin-top: 0.6rem;
  text-align: center;
  font-size: 0.85rem;
}

/* item_catch
/*------------------------------------------------------------------*/
#regular #item_catch {
  position: relative;
  display: block;
  margin-top: 2rem;
  width: calc((100% - 12px) / 2);
}

/* wrapper
/*------------------------------------------------------------------*/
#regular .wrapper {
  padding: 0 2.3rem 0 25%;
}

#regular .wrapper a:after {
  right: 1.3rem;
  margin-top: -1.2rem;
  font-size: 1.8rem;
}

#regular .wrapper a:hover:after {
  right: 1.1rem;
}

#regular .item_head h3 {
  line-height: 1.2;
}
#regular .item_head p {
  /* text-align: left; */
}
/*------------------------------------------------------------------*/
/* 閉じ括弧 削除注意 */ }
/*----------------------------------------------------------------------------*/



/*------------------------------------------------------------------------------------------------*/
/* section_02 //////////////////////////////////////////////////////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
/* other_insurance
--------------------------------------------------------------------------------------------------*/
#other_insurance {
  /* background-color: var(--or-50); */
}

#other_insurance h2 {
  color: #f27b00;
}

#other_insurance h2:before {
  content: '\f004';
  color: #ffab20;
}

/* flex_wrap
/*------------------------------------------------------------------*/
#other_insurance .flex_wrap {
  align-items: center;
  justify-content: space-between;
  margin-top: 0;
  padding: 0 12px;
}

/* flex_item
/*------------------------------------------------------------------*/
#other_insurance .flex_item {
  position: relative;
  display: block;
  margin-top: 1rem;
  width: calc((100% - 12px) / 2);
  height: auto;
  border-radius: 0.5ch;
  box-shadow: 0 1rem 0.5rem -1.0rem rgba(20, 60, 80, 0.4);
}

#other_insurance .flex_item:before {
  content: "";
  display: block;
  padding-top: 38%;
}

#other_insurance .flex_item:hover {
  opacity: .8;
}

#other_insurance .flex_item:nth-of-type(n + 3) {
  margin-top: 12px;
}

/* wrapper
/*------------------------------------------------------------------*/
#other_insurance .wrapper {
  position: absolute;
  top: 0px;
  width: 100%;
  height: 100%;
  border-radius: 0.5ch;
  background-repeat: no-repeat;
}

#other_insurance .flex_item a {
  background: rgba(135, 80, 0, 0.7);
}

#other_insurance .flex_item a:hover,
#other_insurance .flex_item a:active {
  background: rgba(147, 147, 147, 0.5)
}

#other_insurance .flex_item h4 {
  padding: 0 6% 0 6%;
  text-align: center;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
}

#other_insurance .flex_item h4 span {
  display: inline-block;
}

/* sub_section
/*------------------------------------------------------------------*/
/* other_insurance - seimei / songai / other
/*------------------------------------------------------------------*/
#other_insurance .sub_section h3 {
  position: relative;
  margin: 40px 12px 0 12px;
  padding: 0px 0px 14px 0px;
  color: #333;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.0;
  letter-spacing: 0.05em;
}

#other_insurance .sub_section h3:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 6px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #666, #666 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #f27b00, #f27b00 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#other_insurance .flex_item .wrapper {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right;
}

#other_insurance .flex_item a {
  display: flex;
  flex-flow:column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 0.5ch;
  line-height: 1.2;
  font-size: clamp(1.2rem, 0.602rem + 2.55vw, 1.8rem);
}

/* sub_section_01
/*------------------------------------------------------------------*/
/* seimei
/*------------------------------------------------------------------*/
#item_iryo .wrapper {
  background-image: url(/assets/img/photo/img_talk_with_doctor.jpg);
}

#item_shibo .wrapper {
  background-image: url(/assets/img/photo/img_mum.jpg);
}

#item_shugyo .wrapper {
  background-image: url(/assets/img/photo/img_injury_arm.jpg);
  background-position: 50% 10%;
}

#other_insurance #item_gan .wrapper {
  background-image: url(/assets/img/photo/img_pills_and_water.jpg);
  background-position: 50% 80%;
}

#seimei .flex_item a {
  background: rgb(188 88 25 / 80%);
}

/* sub_section_02
/*------------------------------------------------------------------*/
/* songai
/*------------------------------------------------------------------*/
#item_bicycle .wrapper {
  background-image: url(/assets/img/photo/img_cycling.jpg);
  background-position: 0% 25%;
}

#item_senior .wrapper {
  background-image: url(/assets/img/photo/img_senior_running.jpg);
  background-position: 50% 25%;
}

#item_bike .wrapper {
  background-image: url(/assets/img/photo/img_two_bikes.jpg);
}

#item_car .wrapper {
  background-image: url(/assets/img/photo/img_miniature_car.jpg);
}

#item_pet .wrapper {
  background-image: url(/assets/img/photo/img_dog_and_cat.jpg);
  background-position: 50% 30%;
}

#item_working-adult .wrapper {
  background-image: url(/assets/img/photo/img_working_adult.jpg);
  background-position: 50% 30%;
}

#songai .flex_wrap:after {
  content: "";
  display: block;
  width: calc((100% - 12px * 2) / 3);
  height: 0;
}

#songai .flex_item a {
  background: rgb(172 122 0 / 80%);
}

/* sub_section_03
/*------------------------------------------------------------------*/
/* other
/*------------------------------------------------------------------*/
#item_leasure .wrapper {
  background-image: url(/assets/img/photo/img_golf.jpg);
}

#item_kaigai .wrapper {
  background-image: url(/assets/img/photo/img_airplane.jpg);
}

#item_ryugaku .wrapper {
  background-image: url(/assets/img/photo/img_international_student.jpg);
}

#item_houjin .wrapper {
  background-image: url(/assets/img/photo/img_office_desk.jpg);
}

#other .flex_item a {
  background: rgb(169 157 8 / 80%);
}

/*----------------------------------------------------------------------------*/
/* ■ Desktop 751px - 1024px */ @media screen and (min-width: 751px) {
/*------------------------------------------------------------------*/
#other_insurance {
  padding: calc(20px + 1rem) 0px 0px 0;
  background-color: transparent;
}

/* flex_item
/*------------------------------------------------------------------*/
#other_insurance .flex_item {
  width: calc((100% - 12px * 2) / 3);
}

#other_insurance .flex_item a {
  line-height: 1.2;
  font-size: 1.4rem;
}

/*------------------------------------------------------------------*/
/* 閉じ括弧 削除注意 */ }
/*----------------------------------------------------------------------------*/



/*------------------------------------------------------------------------------------------------*/
/* section_03 //////////////////////////////////////////////////////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
/* column
--------------------------------------------------------------------------------------------------*/
#column {
  padding: 60px 0px;
  padding-top: calc(60px + 0rem);
  background-color: var(--pr-50);
}

#column h2 {
  position: relative;
  padding: 0 24px 10px 24px;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #6464e6;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 2rem;
  font-weight: 700;
}

#column h2:before {
  content: '\f02d';
  position: relative;
  top: .05em;
  left: -.5em;
  margin-top: -4rem;
  color: #9f9ffd;
  font-family: 'Font Awesome 5 Free';
  font-size: 2.2rem;
  font-weight: 900;
}

#column .section_lead {
  margin: 12px 12px 0 12px;
  padding: 4px 12px 6px 12px;
  border-radius: 2rem;
  text-align: center;
  line-height: 1.3;
  background-color: #7474ee;
}

#column header p {
  margin-top: 0;
  text-align: center;
  color: #fff;
  font-size: .9rem;
  font-weight: 400;
}

#column .section_lead span {
  display: inline-block;
}

#column .flex_wrap {
  justify-content: space-between;
  margin-top: 24px;
  padding: 0 12px;
}

#column .flex_item {
  position: relative;
  display: block;
  margin-top: 12px;
  width: 100%;
  height: auto;
  border-radius: 0.5ch;
  box-shadow: 0 1rem 0.5rem -1.0rem rgba(25, 59, 77, 0.4);
  border: 4px solid #babaf6;
  background-color: #fff;
}

#column .flex_item:hover {
  border: 4px solid #9292eb;
}

#column .flex_item a {
  display: block;
}

#column h3 {
  position: relative;
  margin: 24px 0 0 0;
  padding: 0px 16px 16px calc(16px + 1.8rem);
  color: #6464e6;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.1rem;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

#column h3:before {
  content: '\f058';
  position: absolute;
  top: 2%;
  left: 1rem;
  font-family: 'Font Awesome 5 Free';
  font-weight: 800;
}

#column h3:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #babaf6, #babaf6 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #babaf6, #babaf6 1px, transparent 2px, transparent 5px);
  background-size: 5px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#column h3 strong {
  display: block;
  margin-bottom: 6px;
  color: #222;
  font-size: 1.1rem;
  font-weight: 900;
}

#column .item_contents {
  padding: 0 16px 24px 16px;
  font-size: 1rem;
  line-height: 1.4;
}

#column .item_contents p {
  margin-top: 6px;
}

#column .item_contents p:before {
  margin-top: 6px;
}

#column .item_contents p:nth-of-type(1) {
  margin-top: 16px;
  font-weight: 400;
}

#column .flex_item img {
  width: 100%;
  height: 100px;
  border-radius: 0.5ch 0.5ch 0 0;
}

#column .item_link {
  margin: 24px 12px 0 12px;
  text-align: right;
}

#column .link_txt {
  border-bottom: 1px dashed #6464e6;
}

#column .link_txt:before {
  content: '\f0a9';
  position: absolute;
  top: 65%;
  left: -1.4rem;
  margin-top: -0.75rem;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}

#column .link_txt:hover {
  border-bottom: 1px dotted transparent;
  color: #6464e6;
}

/* column figure
/*------------------------------------------------------------------*/
/* img
/*------------------------------------------------------------------*/
#column_001 figure {
  background: url(/assets/img/illust/img_6_gakuso_baisho.png) no-repeat;
  background-position: 50% 5%;
  background-size: 55%;
}

#column_002 figure {
  background: url(/assets/img/illust/img_1_enji_ikuei_1.png) no-repeat;
  background-position: 50% 50%;
  background-size: 100%; 
}

/*----------------------------------------------------------------------------*/
/* ■ Desktop 751px - 1024px */ @media screen and (min-width: 751px) {
/*------------------------------------------------------------------*/
#column {
  padding: calc(0px + 0rem) 0px 0px 0;
  background-color:  transparent;
}

#column header {
  padding: 30px 12px 0 12px;
}

#column header p {
  font-size: 1.1rem;
  font-weight: 400;
}

#column h2 {
  padding: 0 24px 10px 24px;
  font-size: 1.8rem;
}

#column .flex_item {
  width: calc((100% - 12px) / 2);
  border: 4px solid #ddd;
}

#column .flex_item:nth-of-type(2) h3 {
  height: 5.65rem;
}

/*------------------------------------------------------------------*/
/* 閉じ括弧 削除注意 */ }
/*----------------------------------------------------------------------------*/  



/*------------------------------------------------------------------------------------------------*/
/* section_04 //////////////////////////////////////////////////////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
/* voice
--------------------------------------------------------------------------------------------------*/
#voice {
  padding: 60px 0px;
  padding-top: calc(60px + 0rem);
  background-color: var(--pk-50);
}

#voice h2 {
  position: relative;
  padding: 0 24px 10px 24px;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fd6e9b;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 2rem;
  font-weight: 700;
}

#voice h2:before {
  content: '\f4ad';
  position: relative;
  top: .05em;
  left: -.4em;
  margin-top: -4rem;
  color: #fc85b0;
  font-family: 'Font Awesome 5 Free';
  font-size: 2.2rem;
  font-weight: 900;
}

#voice .section_lead {
  margin: 12px 12px 0 12px;
  padding: 4px 12px 6px 12px;
  border-radius: 2rem;
  text-align: center;
  line-height: 1.3;
  background-color: #f76d9f;
  font-weight: 800;
}

#voice header p {
  margin-top: 0;
  text-align: center;
  color: #fff;
  font-size: .9rem;
  font-weight: 400;
}

#voice .section_lead span {
  display: inline-block;
}

#voice .flex_wrap {
  justify-content: space-between;
  margin-top: 24px;
  padding: 0 12px;
}

#voice .flex_item {
  position: relative;
  display: block;
  margin-top: 12px;
  width: 100%;
  height: auto;
  border-radius: 0.5ch;
  box-shadow: 0 1rem 0.5rem -1.0rem rgba(25, 59, 77, 0.4);
  border: 4px solid #ffb8d1;
  background-color: #fff;
}

#voice .flex_item:hover {
  border: 4px solid #fe8ab4;
}

#voice .flex_item a {
  display: block;
}

#voice .item_head {
  position: relative;
  padding: 20px 12px 20px calc(100px + 12px + 1rem);
}

#voice .item_head:before {
  content: '';
  position: absolute;
  top: 20px;
  left: 12px;
  width: 100px;
  height: 100px;
  background-size: cover;
  background-repeat: no-repeat;
  font-family: 'Font Awesome 5 Free';
  font-weight: 800;
  border: 6px solid #fe8ab4;
  border-radius: 300px;
}

  #voice #voice_enji .item_head:before {
    background-image: url(/assets/img/illust/img_face_mam1.png);
  }

  #voice #voice_syogaku .item_head:before {
    background-image: url(/assets/img/illust/img_face_lady1.png);
  }

  #voice #voice_chugaku .item_head:before {
     background-image: url(/assets/img/illust/img_face_mam2.png);
  }

  #voice #voice_koukou .item_head:before {
   background-image: url(/assets/img/illust/img_face_dad1.png);
  }

  #voice #voice_gakuso .item_head:before {
    background-image: url(/assets/img/illust/img_face_granma.png);
  }

#voice .item_head:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #eb88c2, #eb88c2 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #eb88c2, #eb88c2 1px, transparent 2px, transparent 5px);
  background-size: 5px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#voice h3 {
  position: relative;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: #666;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
}

#voice h3 strong {
  display: block;
  margin-bottom: 6px;
  color: #222;
  font-size: 1.1rem;
  font-weight: 700;
}

#voice .flex_item figure img {
  margin-top: 0.5rem;
  width: 30%;
  height: 30%;
}

#voice .item_head p {
  margin-top: 0.5rem;
  font-size: .9rem;
  line-height: 1.4;
}

#voice .flex_item .item_head p a {
  display: inline-block;
  margin-right: 0.5rem;
  padding-bottom: 0.1rem;
  color: #f76d9f;
  border-bottom: 1px dashed #f76d9f;
}

#voice .flex_item .item_head p a:hover {
  border-bottom: 1px dashed transparent;
}

#voice .item_contents {
  padding: 0 16px 20px 16px;
  font-size: 1rem;
  line-height: 1.5;
}

#voice .item_contents p {
  margin-top: 6px;
  font-weight: 400;
}

#voice .item_contents p:nth-of-type(1) {
  margin-top: 16px;
}

#voice .flex_item img {
  width: 100%;
  height: 100px;
  border-radius: 0.5ch 0.5ch 0 0;
}

#voice .item_link {
  width: 100%;
  margin: 24px 0 0 12px;
  text-align: right;
}

#voice .link_txt {
  border-bottom: 1px dashed #e664b0;
}

#voice .link_txt:before {
  content: '\f0a9';
  position: absolute;
  top: 65%;
  left: -1.4rem;
  margin-top: -0.75rem;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}

#voice .link_txt:hover {
  border-bottom: 1px dotted transparent;
  color: #e664b0;
}

/*----------------------------------------------------------------------------*/
/* ■ Desktop 751px - 1024px */ @media screen and (min-width: 751px) {
/*------------------------------------------------------------------*/
#voice {
  padding: calc(30px + 0rem) 0px 0px 0;
  background-color: transparent;
}

#voice header {
  padding: 30px 12px 0 12px;
}

#voice header p {
  font-size: 1.1rem;
  font-weight: 400;
}

#voice .flex_item {
  width: calc((100% - 12px) / 2);
  border: 4px solid #ddd;
}

#voice .flex_item:nth-of-type(2) h3 {
  height: 4.65rem;
}

#voice .flex_item:nth-of-type(4) h3 {
  height: 4.65rem;
}

  
/*------------------------------------------------------------------*/
/* 閉じ括弧 削除注意 */ }
/*----------------------------------------------------------------------------*/



/*------------------------------------------------------------------------------------------------*/
/* section_05 //////////////////////////////////////////////////////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
/* about
--------------------------------------------------------------------------------------------------*/
#about {
  padding: 60px 12px;
  padding-top: calc(30px + 2.6rem);
  font-family: "NSJP";
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
  background-color: var(--gr-50);
}

#about h2 {
  position: relative;
  padding: 0 24px 10px 24px;
  text-align: center;
  line-height: 1;
  letter-spacing: 0em;
  color: #73a505;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
}

#about h2:before {
  content: '\f4ba';
  position: relative;
  top: .05em;
  left: -.5em;
  margin-top: -4rem;
  color: #a4c953;
  font-family: 'Font Awesome 5 Free';
  font-size: 2.2rem;
  font-weight: 900;
}

#about h2 span {
  display: inline-block;
}

/*------------------------------------------------------------------*/
/* flex_wrap
/*------------------------------------------------------------------*/
#about .flex_wrap {
  justify-content: space-between;
  margin-top: 20px;
  padding: 0 12px;
}

#about .flex_item {
  position: relative;
  display: block;
  width: calc((100% - 12px) / 2);
  height: auto;
  box-shadow: rgba(25, 60, 77, 0.2) 0px 1rem 0.5rem -1.0rem;
  border: 4px solid #ddd;
  border-radius: 6px;
}

#about .flex_item:hover {
  border: 4px solid #b1d465;
}

#about .flex_item:nth-of-type(n + 3) {
  margin-top: 12px;
}

/* flex_item >
------------------*/
#about .flex_item .wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  height: 100%;
}

#about .item_head {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 1rem;
  width: 100%;
  height: 60px;
  border-radius: 5px 0 0 5px;
  background-color: #fbfbfb;
}

#about .item_head h3 {
  margin: 0 0 0 0;
  padding-left: 2em;
  text-align: center;
  line-height: 1.3;
  letter-spacing: 0;
  color: #222;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(0.7rem, 0.301rem + 1.7vw, 1.1rem);
}

#about .item_head h3 span {
  display: inline-block;
}

#about .item_head h3:before {
  content: '';
  position: absolute;
  display: inline-block;
  margin-left: -2em;
  top: calc(50% - .75em);
  mask-repeat: no-repeat;
  justify-self: center;
  inline-size: 1.5em;
  aspect-ratio: 1;
  background: linear-gradient(currentColor 0 0), CanvasText;
  color: #73a505;
}

#about #item_about h3:before {
  mask-image: var(--icon__seedling-solid);
}

#about #item_qa h3:before {
  mask-image: var(--icon__circle-question-solid);
}

#about #item_request h3:before {
  mask-image: var(--icon__file-lines-solid);
}

#about .item_head img {
  display: block;
  width: 100%;
}
/*
#about .item_img {
  width: 35%;
  border-radius: 0 3px 3px 0;
  background-repeat: no-repeat;
}
*/
/* item_img
------------------*/
/*
#item_about .item_img {
  background-image: url(/assets/img/photo/img_headset_lady.jpg);
  background-position: 70% 50%;
  background-size: 148%;
}

#item_voice .item_img {
  background-image: url(/assets/img/photo/five_star.jpg);
  background-position: 50% 50%;
  background-size: 150%;
}

#item_qa .item_img {
  background-image: url(/assets/img/photo/img_question.jpg);
  background-position: 100% 40%;
  background-size: 150%;
}

#item_otoiawase .item_img {
  background-image: url(/assets/img/photo/img_pc_mobiles.jpg);
  background-position: 80% 30%;
  background-size: 150%;
}

#item_request .item_img {
  background-image: url(/assets/img/photo/img_envelope.jpg);
  background-position: 55% 50%;
  background-size: 155%;
}

#item_alliance .item_img {
  background-image: url(/assets/img/photo/img_five_stars.jpg);
  background-position: 50% 75%;
  background-size: 150%;
}
*/
#about .item_img:before {
  content: "";
  display: block;
  padding-top: 100%;
}

/*----------------------------------------------------------------------------*/
/* ■ Tablet, Desktop 751px - 1024px, 1025px - */ @media screen and (min-width: 751px) {
/*------------------------------------------------------------------*/

/* section_04
----------------------------------------------------------*/
/* about
----------------------------------------------------------*/
#about h2 {
  padding: 0 24px 10px 24px;
  letter-spacing: 0em;
  font-size: 1.8rem;
  font-weight: 700;
}

/*------------------------------------*/
/* flex_wrap
--------------------------------------*/
#about .flex_item:nth-of-type(n + 4) {
  margin-top: 12px;
}

#about .item_head {
  padding: 0 1rem;
  width: 100%;
}

#about .item_img {
  width: 100%;
}

#about .item_img:before {
  padding-top: 15%;
}

/* item_img
------------------*/
  #item_qa .item_img {
    background-position: 100% 75%;
  }


#about {
  background-color: transparent;
}

#column .flex_item:nth-of-type(1) h3 {
  padding-bottom: 2.2em;
}
/*------------------------------------------------------------------*/
/* 閉じ括弧 削除注意 */ }
/*----------------------------------------------------------------------------*/



/*------------------------------------------------------------------------------------------------*/
/* ■ aside /////////////////////////////////////////////////////////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
/* bottom_bnr
--------------------------------------------------------------------------------------------------*/
#bottom_bnr {
  margin: 0 12px;
  padding: 40px 0;
}

#bottom_bnr figure {
  margin-top: 12px;
}

#bottom_bnr figure:nth-of-type(1) {
  margin-top: 0;
}

#bottom_bnr img {
  width: 100%;
}



/*------------------------------------------------------------------------------------------------*/
/* ■ address ///////////////////////////////////////////////////////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
/* bottom_contact
--------------------------------------------------------------------------------------------------*/
#bottom_contact {
  padding: 40px 0px;
  background-color: #f5f5f5;
}

#bottom_contact .flex_wrap {
  flex-flow: column nowrap;
}

#bottom_contact .flex_item {
  text-align: center;
}

#bottom_contact #item_head_contact {
  font-family: "NSJP";
  font-size: 1.1rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

#bottom_contact .num {
  margin-top: 6px;
  color: #252525;
  font-family: "NSJP";
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.02em;
}

#bottom_contact .num small {
  display: inline-block;
  margin-top: -5px;
  padding: 3px 8px 4px 9px;
  border: 1px solid #222;
  font-size: 0.85rem;
  vertical-align: middle;
}

#bottom_contact .num span {
  display: inline-block;
}

#bottom_contact .notes {
  margin-top: 6px;
  font-size: 0.85rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

#bottom_contact .notes span {
  display: inline-block;
}



/*------------------------------------------------------------------------------------------------*/
/* ■ aside /////////////////////////////////////////////////////////////////////////////////////////
--------------------------------------------------------------------------------------------------*/
/* side_bar
--------------------------------------------------------------------------------------------------*/
#side_bar {
  padding: 40px 0px;
  min-height: 200px;
}

#side_bar .flex_wrap {
  justify-content: space-between;
  margin-top: 12px;
  padding: 0 12px;
}

#side_bar .flex_item:nth-of-type(n + 3) {
  margin-top: 12px;
}

#side_bar h2 {
  position: relative;
  margin: 10px 0 0 0;
  padding: 0px 12px 12px 12px;
  color: #222;
  font-family: "NSJP";
  font-size: 0.9rem;
  font-weight: 900;
  line-height: 1.0;
  letter-spacing: 0.02em;
}

#side_bar h2:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #a0a0a0, #a0a0a0 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #a0a0a0, #a0a0a0 1px, transparent 2px, transparent 5px);
  background-size: 5px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#side_bar .item_contents {
  padding: 0 12px 12px 12px;
  font-size: 0.8rem;
  line-height: 1.4;
}

#side_bar .item_contents p {
  margin-top: 6px;
}

#side_bar .item_contents p:nth-of-type(1) {
  margin-top: 12px;
}

#side_bar .item_contents .btn {
  margin-top: 12px;
}

#side_bar .flex_item img {
  width: 100%;
  border-radius: 0.5ch;
}

/* side_bar
/*------------------------------------------------------------------*/
/* side_login / side_contact
/*------------------------------------------------------------------*/
#side_bar #side_login,
#side_bar #side_accident,
#side_bar #side_contact {
  width: calc((100% - 12px) / 2);
}

#side_bar #side_login .item_contents p,
#side_bar #side_accident .item_contents p,
#side_bar #side_contact .item_contents p {
  min-height: 2rem;
}

#side_bar #side_contact {
  display: none;
}

/* side_login
/*------------------------------------------------------------------*/
#side_bar #side_login .btn {
  background: rgb(255,100,150);
  background: -moz-linear-gradient(left, rgba(255, 100, 150, 1) 0%, rgba(250, 130, 130, 1) 100%);
  background: -webkit-linear-gradient(left, rgba(255, 100, 150, 1) 0%, rgba(250, 130, 130, 1) 100%);
  background: linear-gradient(to right, rgba(255, 100, 150, 1) 0%, rgb(250 130 130) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff6496', endColorstr='#fa8282',GradientType=1 );
  color: #fff;
  font-weight: 900;
}

#side_bar #side_login .btn:hover {
  background: rgb(255,100,150);
  background: -moz-linear-gradient(left, rgba(255, 115, 160, 1) 0%, rgba(255, 122, 122, 1) 100%);
  background: -webkit-linear-gradient(left, rgba(255, 115, 160, 1) 0%, rgba(255, 122, 122, 1) 100%);
  background: linear-gradient(to right, rgb(255 115 160 / 1) 0%, rgb(255 122 122) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff6496', endColorstr='#fa8282',GradientType=1 );
  font-weight: 900;
}

/* side_contact
/*------------------------------------------------------------------*/
#side_contact h3 {
  margin-top: 24px;
  font-family: "NSJP";
  font-size: 0.85rem;
  font-weight: 900;
  line-height: 1.0;
  letter-spacing: 0.02em;
}

#side_contact .item_contents .num {
  font-family: "NSJP";
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 1.0;
  letter-spacing: 0.02em;
}

#side_contact .item_contents .notes {
  margin-top: 12px;
  font-size: 0.8rem;
}

/* side_sns
/*------------------------------------------------------------------*/
#side_sns ul {
  margin: 12px auto 0 auto;
  height: 60px;
  width: 75%;
}

#side_sns li {
  display: inline-block;
  width: 33.3%;
}

#side_sns li a {
  display: block;
  margin: 0 auto;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  text-align: center;
  line-height: 60px;
}

#side_sns span {
  position: relative;
  display: block;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  text-align: center;
  line-height: 60px;
}

#side_sns span:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  color: #fff;
  font-family: 'Font Awesome 5 Brands';
  font-size: 2rem;
}

.fa_instagram {
  background-color: #d22050;
}

.fa_instagram:hover {
  background-color: rgb(210 32 80 / .2);
}

.fa_instagram:after {
  content: '\f16d';
}

#side_sns .fa_instagram:hover:after {
  color: #d22050;
}

.fa_twitter {
  background-color: #1da1f2;
}

.fa_twitter:hover {
  background-color: rgba(29, 161, 242, 0.2);
}

.fa_twitter:after {
  content: '\f099';
}

#side_sns .fa_twitter:hover:after {
  color: #1da1f2;
}

.fa_facebook {
  background-color: #3b5998;
}

.fa_facebook:hover {
  background-color: rgba(59, 89, 152, 0.2);
}

.fa_facebook:after {
  content: '\f39e';
}

#side_sns .fa_facebook:hover:after {
  color: #3b5998;
}

/* side_bnr
/*------------------------------------------------------------------*/
#side_bar #side_bnr {
  margin-top: 12px;
}

#side_bnr a {
  position: relative;
  display: block;
  margin-top: 12px;
  width: 100%;
  height: auto;
  border-radius: 0.5ch;
  box-shadow: 0 1rem 0.5rem -1.2rem rgb(25 59 77 / 20%);
  border: 1px solid #ccc;
}

#side_bnr a:nth-of-type(1) {
  margin-top: 0;
}
#main_contents {
  padding-top: 0px;
}
/*----------------------------------------------------------------------------*/
/* ■ Desktop 751px - 1024px */ @media screen and (min-width: 751px) {
/*------------------------------------------------------------------*/
#other_insurance .flex_wrap,
#about .flex_wrap,
#regular .flex_wrap,
#column .flex_wrap,
#voice .flex_wrap {
  padding: 0;
}
#column .item_link {
  margin: 24px 0 0 0;
}
#about {
  padding: 60px 0 30px 0;
}
#other_insurance .sub_section h3 {
  margin: 40px 0 0 0;
}
/* aside
--------------------------------------------------------------------------------*/
/* bottom_bnr
--------------------------------------------------------------------------------*/



/* address
--------------------------------------------------------------------------------*/
/* bottom_contact
--------------------------------------------------------------------------------*/



/* aside
--------------------------------------------------------------------------------*/
/* side_bar
--------------------------------------------------------------------------------*/
#side_bar {
    padding: 20px 0px;
}

#side_bar .flex_wrap {
  justify-content: space-between;
  margin-top: 12px;
  padding: 0;
}

#side_bar .flex_item:nth-of-type(n + 2) {
  margin-top: 12px;
}


/* side_bar
--------------------------------------------------------------------------------*/
/* side_login / side_contact
--------------------------------------------------------------------------------*/
#side_bar #side_login,
#side_bar #side_accident,
#side_bar #side_contact {
  width: 100%;
}

#side_bar #side_login .item_contents p,
#side_bar #side_accident .item_contents p,
#side_bar #side_contact .item_contents p {
  min-height: auto;
}



/* side_bar
--------------------------------------------------------------------------------*/
/* side_login
--------------------------------------------------------------------------------*/
#side_bar #side_login .btn {
  background: rgb(255,100,150);
  background: -moz-linear-gradient(left, rgba(255, 100, 150, 1) 0%, rgba(250, 130, 130, 1) 100%);
  background: -webkit-linear-gradient(left, rgba(255, 100, 150, 1) 0%, rgba(250, 130, 130, 1) 100%);
  background: linear-gradient(to right, rgba(255, 100, 150, 1) 0%, rgba(250, 130, 130, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff6496', endColorstr='#fa8282',GradientType=1 );
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.02em;
}

/* side_bar
--------------------------------------------------------------------------------*/
/* side_accident
--------------------------------------------------------------------------------*/
#side_bar #side_accident .btn {
  font-weight: 900;
  letter-spacing: 0.02em;
}




/* side_bar
--------------------------------------------------------------------------------*/
/* side_contact
--------------------------------------------------------------------------------*/
#side_bar #side_contact {
    display: block;
}

#side_contact .btn {
  font-weight: 900;
  letter-spacing: 0.02em;
}


#side_contact .num small {
  display: inline-block;
  padding: 3px 8px 4px 9px;
  border: 1px solid #222;
  font-size: 0.75rem;
  vertical-align: middle;
}

#side_contact .num span {
  display: inline-block;
  margin-top: 3px;
}

#side_contact .notes span {
  display: inline-block;
}

#side_contact .notes span:nth-of-type(2) {
  margin-left: -0.5rem;
}



/* side_bar
--------------------------------------------------------------------------------*/
/* side_sns
--------------------------------------------------------------------------------*/
#side_sns ul {
  height: 48px;
  width: 100%;
}

#side_sns li a {
  width: 48px;
  height: 48px;
  line-height: 48px;
}

#side_sns span {
  width: 48px;
  height: 48px;
  line-height: 48px;
}

#side_sns span:after {
  width: 48px;
  height: 48px;
  font-size: 1.6rem;
}




/*------------------------------------------------------------------*/
/* 閉じ括弧 削除注意 */ }
/*----------------------------------------------------------------------------*/