/*------------------------------------------------------------------------------*/
/* Mobile   0px - 750px
--------------------------------------------------------------------------------*/
/*
  border: 1px solid #000;
  background-color: #ddd;
*/

main header,
main ul,
main ol {
  font-size: 0;
}



/* section
--------------------------------------------------------------------------------*/
/* iryo / shibo / shugyo / gan
--------------------------------------------------------------------------------*/

/* section
--------------------------------------------------*/
section {
  padding-bottom: 40px;
}



/* content_header
--------------------------------------------------*/
.content_header {
  padding: 6px 12px 11px 12px;
  line-height: 1.3;
}

.content_header h2 {
  display: inline-block;
  margin: 6px 0 0 0;
  padding: 6px 12px 4px 12px;
  border-radius: 2rem;
  background-color: #d24c18;
  text-align: center;
  color: #fff;
  font-size: 0.9rem;
  font-weight: bold;
}

.content_header .header_lead {
  display: inline-block;
  margin: 6px 0 0 12px;
  padding: 0;
}

.content_header .header_lead p {
  margin-top: 0;
}

.content_header .header_lead span {
  display: inline-block;
}



/* section_bnr
--------------------------------------------------*/
.section_bnr img {
  width: 100%;
}



/* tabs
--------------------------------------------------*/
.tabs {
  margin-top: 24px;
}

.tabs ul {
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: 6px solid #ef7f43;
}

.tabs li {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(100% / 4);
  height: 3rem;
  border-radius: 4px 4px 0 0;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.05em;
  color: #222;
  font-family: "NSJP";
  font-size: 2.8vw;
  font-weight: 900;
  background-color: #fff;
  border: 1px solid #fff;
  border-bottom: none;
  background: rgb(234,234,234);
}

.tabs li:hover {
  background-color: #fbe8c6;
}

.tabs .active {
  padding: 2px 0;
  border: 1px solid #ef7f43;
  border-bottom: none;
  background: rgb(236,107,57);
  background: -moz-linear-gradient(top,  rgba(236,107,57,1) 0%, rgba(239,127,67,1) 100%);
  background: -webkit-linear-gradient(top,  rgba(236,107,57,1) 0%,rgba(239,127,67,1) 100%);
  background: linear-gradient(to bottom,  rgba(236,107,57,1) 0%,rgba(239,127,67,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ec6b39', endColorstr='#ef7f43',GradientType=0 );
  color: #fff;
}

.tabs .active:hover {
  background: rgb(236,107,57);
  background: -moz-linear-gradient(top,  rgba(236,107,57,1) 0%, rgba(239,127,67,1) 100%);
  background: -webkit-linear-gradient(top,  rgba(236,107,57,1) 0%,rgba(239,127,67,1) 100%);
  background: linear-gradient(to bottom,  rgba(236,107,57,1) 0%,rgba(239,127,67,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ec6b39', endColorstr='#ef7f43',GradientType=0 );
}

.tabs .tabs_shugyo {
  letter-spacing: 0.02em;
  font-size: 2.6vw;
}

.tabs div {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 2%;
  width: 100%;
  height: 3rem;
  cursor: pointer;
}

.tabs li span {
  display: inline-block;
}

.tabs li a {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* flex_wrap
--------------------------------------------------*/
section .flex_wrap {
  justify-content: space-between;
  margin: 24px 12px 0 12px;
  padding: 24px 12px;
  /* box-shadow: 0 1rem 0.5rem -1.0rem hsl(200 50% 20% / 10%); */
  /* border: 1px solid #ccc; */
  border-radius: 4px;
}

section .flex_wrap:nth-of-type(2n + 1) {
  background-color: #f5f5f5;
}

section .flex_item:nth-of-type(1) {
  width: calc( (100% - 12px) * 0.382);
  max-width: 300px;
}

section .flex_item:nth-of-type(2) {
  width: calc( (100% - 12px) * 0.618);
}

section .flex_item:nth-of-type(3) {
  margin-top: 24px;
  width: 100%;
}

section .flex_item figure {
  box-shadow: 0 1rem 0.5rem -1.0rem hsl(200 50% 20% / 10%);
  /* border: 1px solid #ececec; */
  border-radius: 4px;
  background-color: #fff;
}

section .flex_item figure img {
  width: 100%;
}

section .flex_item h3 {
  position: relative;
  padding: 0 0 12px 0;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: #d24c18;
  font-family: "NSJP";
  font-size: 0.9rem;
  font-weight: 900;
}

section .flex_item h3 span {
  display: inline-block;
}

section .flex_item h3 strong {
  display: block;
  margin-top: 3px;
  color: #222;
  font-size: 140%;
}


section .flex_item .item_code {
  margin-top: 10px;
  text-align: right;
  font-size: 0.9rem;
}

section .flex_item .item_code span {
  display: inline-block;
}

section .flex_item .btn {
  width: auto;
  font-size: 3.2vw;
  font-weight: 900;
}

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


/* color
--------------------------------------------------*/
/* ln / fwd / orix / chubb
--------------------------------------------------*/
section .tag_ln {
  /* border: 1px solid #89c30e; */
  background: rgb(251,255,226);
  background: -moz-linear-gradient(45deg,  rgba(251,255,226,1) 0%, rgba(249,255,237,1) 100%);
  background: -webkit-linear-gradient(45deg,  rgba(251,255,226,1) 0%,rgba(249,255,237,1) 100%);
  background: linear-gradient(45deg,  rgba(251,255,226,1) 0%,rgba(249,255,237,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fbffe2', endColorstr='#f9ffed',GradientType=1 );
}

section .tag_ln h3 {
  color: #89c30e;
}

section .tag_fwd {
  /* border: 1px solid #12a998; */
  background: rgb(239,255,252);
  background: -moz-linear-gradient(45deg,  rgba(239,255,252,1) 0%, rgba(247,255,254,1) 100%);
  background: -webkit-linear-gradient(45deg,  rgba(239,255,252,1) 0%,rgba(247,255,254,1) 100%);
  background: linear-gradient(45deg,  rgba(239,255,252,1) 0%,rgba(247,255,254,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#effffc', endColorstr='#f7fffe',GradientType=1 );
}

section .tag_fwd h3 {
  color: #12a998;
}

section .tag_orix {
  /* border: 1px solid #0372bb; */
  background: rgb(232,246,255);
  background: -moz-linear-gradient(45deg,  rgba(232,246,255,1) 0%, rgba(242,250,255,1) 100%);
  background: -webkit-linear-gradient(45deg,  rgba(232,246,255,1) 0%,rgba(242,250,255,1) 100%);
  background: linear-gradient(45deg,  rgba(232,246,255,1) 0%,rgba(242,250,255,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8f6ff', endColorstr='#f2faff',GradientType=1 );
}

section .tag_orix h3 {
  color: #0372bb;
}

section .tag_chubb {
  /* border: 1px solid #0a9c4b; */
  background: rgb(242,252,232);
  background: -moz-linear-gradient(45deg,  rgba(242,252,232,1) 0%, rgba(247,255,242,1) 100%);
  background: -webkit-linear-gradient(45deg,  rgba(242,252,232,1) 0%,rgba(247,255,242,1) 100%);
  background: linear-gradient(45deg,  rgba(242,252,232,1) 0%,rgba(247,255,242,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2fce8', endColorstr='#f7fff2',GradientType=1 );
}

section .tag_chubb h3 {
  color: #0a9c4b;
}



/* content_footer
--------------------------------------------------*/
.content_footer {
  margin: 24px 12px 0 12px;
  font-size: 0.9rem;
}

.content_footer p:nth-of-type(n + 2)  {
  margin-top: 8px;
}




/* aside:about
--------------------------------------------------*/
.section .about {
  margin: 60px 0 0 0;
  padding: 0;
  background-color: #f5f5f5;
}

.section .about header {
  position: relative;
  width: 100%;
}

.section .about header h2 {
  padding: 16px 24px;
  background-color: #73ab01;
  line-height: 1;
  text-align: center;
  color: #fff;
  font-size: 1.4rem;
}

.section .about .item_lead,
.section .about .sub_section {
  padding-left: 24px;
  padding-right: 24px;
}

.section .about h3 {
  position: relative;
  display: block;
  margin: 30px 24px 0 24px;
  margin-bottom: 6px;
  padding-left: calc(1.35rem + 12px);
  color: #222;
  font-family: "NSJP";
  font-size: 1.35rem;
  font-weight: 900;
}

.section .about h3:before {
  position: absolute;
  top: 50%;
  left: 0;
  margin: -0.85rem 0 0 0;
  content: "\f059";
  color: #404040;
  font-size: 1.35rem;
  font-family: 'Font Awesome 5 Free';
  font-weight: 400;
}

.section .about .item_lead {
  margin-top: 12px;
  padding: 24px 24px 20px 24px;
  border-radius: 6px;
  background-color: #ffffff;
  color: #d24c18;
  font-weight: bold;
  line-height: 1.5;
}

.section .about .item_lead + .sub_section {
  margin-top: 40px;
}

.section .about .sub_section p {
  margin-top: 12px;
}

.section .about .sub_section > p:nth-of-type(1) {
  margin-top: 6px;
}

.section .about .child_section {
  margin-top: 24px;
  padding: 24px 24px;
  border-radius: 6px;
  background-color: #fff;
}


.section .about h4 {
  position: relative;
  padding: 0 0 12px 0;
  color: #d24c18;
  font-family: "NSJP";
  font-size: 1.2rem;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

.section .about h5 {
  position: relative;
  padding: 0 0 6px 0;
  border-bottom: 3px dotted #ff9e79;
  color: #222;
  font-family: "NSJP";
  font-size: 1.1rem;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

.section .about .child_section p, .section .about .child_section ul, .section .about .child_section ol {
    margin-top: 24px;
    line-height: 1.6;
}






/*------------------------------------------------------------------------------*/
/* PC   751px - 1024px */ @media (min-width: 751px) {
/*------------------------------------------------------------------------------*/

/* section
--------------------------------------------------------------------------------*/
/* iryo / shibo / shugyo / gan
--------------------------------------------------------------------------------*/

/* section
--------------------------------------------------*/
section {
  padding-bottom: 40px;
}



/* content_header
--------------------------------------------------*/
.content_header {
  padding: 18px 12px 11px 12px;
  line-height: 1.3;
}

.content_header h2 {
  display: inline-block;
  margin: 6px 0 0 0;
  padding: 6px 12px 4px 12px;
  border-radius: 2rem;
  background-color: #ec6b39;
  text-align: center;
  color: #fff;
  font-size: 0.9rem;
  font-weight: bold;
}



/* section_bnr
--------------------------------------------------*/
.section_bnr {
  margin-top: 12px;
}



/* tabs
--------------------------------------------------*/
.tabs li {
  letter-spacing: 0.1em;
  font-size: 1.2rem;
}

.tabs .tabs_shugyo {
  letter-spacing: 0.05em;
  font-size: 1.1rem;
}



/* flex_wrap
--------------------------------------------------*/
section .flex_wrap {
  margin: 12px 0 0 0;
  padding: 24px 24px;
  border-style: none;
  border-radius: 0;
}

section .flex_item:nth-of-type(1) {
  width: calc( (100% - 48px) * 0.182);
}

section .flex_item:nth-of-type(2) {
  width: calc( (100% - 48px) * 0.518);
}

section .flex_item:nth-of-type(3) {
  width: calc( (100% - 48px) * 0.3);
}

section .flex_item h3 {
  padding: 0 0 12px 0;
  font-size: 1rem;
}

section .flex_item .btn {
  width: auto;
  font-size: 1rem;
}



/* content_footer
--------------------------------------------------*/
.content_footer {
  margin: 24px auto 0 auto;
}



/* aside:about
--------------------------------------------------*/
.section .about {
  margin: 60px 0 0 0;
}

.section .about header {
  padding: 0;
}

.section .about header h2 {
  padding: 16px 24px 12px 24px;
  font-size: 1.6rem;
}

.section .about .item_lead {
    margin: 20px;
}

/*------------------------------------------------------------------------------*/
}
/*------------------------------------------------------------------------------*/