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

main header {
  font-size: 0;
}

/*----------------------------------------------------------------------------*/
/* common parts
------------------------------------------------------------------------------*/
/*--------------------------------------------------------*/
/* section
----------------------------------------------------------*/
.section {
  margin-top: 24px;
  padding-bottom: 40px;
}

.section:nth-of-type(1) {
  margin-top: 0px;
}



/*--------------------------------------------------------*/
/* content_header
----------------------------------------------------------*/



/*--------------------------------------------------------*/
/* 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;
  text-align: center;
}

.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
----------------------------------------------------------*/
/* aig / chubb / msad / zrh / tmn
----------------------------------------------------------*/
.section .tag_aig {
  background: #e7f8ff
  background: -moz-linear-gradient(45deg,  #e7f8ff 0%, #e7f8ff 100%);
  background: -webkit-linear-gradient(45deg,  #e7f8ff 0%,#e7f8ff 100%);
  background: linear-gradient(45deg,  #e7f8ff 0%,#e7f8ff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e7f8ff', endColorstr='#e7f8ff',GradientType=1 );
}

.section .tag_aig h3 {
  color: #01A4E4;
}

.section .tag_chubb {
  background: #e9edff;
  background: -moz-linear-gradient(45deg,  #e9edff 0%, #f9faff 100%);
  background: -webkit-linear-gradient(45deg,  #e9edff 0%,#f9faff 100%);
  background: linear-gradient(45deg,  #e9edff 0%,#f9faff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e9edff', endColorstr='#f9faff',GradientType=1 );
}

.section .tag_chubb h3 {
  color: #485897;
}

.section .tag_msad {
  background: #ecfdfa;
  background: -moz-linear-gradient(45deg,  #ecfdfa 0%, #f4fdfb 100%);
  background: -webkit-linear-gradient(45deg,  #ecfdfa 0%,#f4fdfb 100%);
  background: linear-gradient(45deg,  #ecfdfa 0%,#f4fdfb 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ecfdfa', endColorstr='#f4fdfb',GradientType=1 );
}

.section .tag_msad h3 {
  color: #00483C;
}

.section .tag_zrh {
  background: #edf7ff;
  background: -moz-linear-gradient(45deg,  #edf7ff 0%, #f4faff 100%);
  background: -webkit-linear-gradient(45deg,  #edf7ff 0%,#f4faff 100%);
  background: linear-gradient(45deg,  #edf7ff 0%,#f4faff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2fce8', endColorstr='#f4faff',GradientType=1 );
}

.section .tag_zrh h3 {
  color: #1065AF;
}

/* other */
.section .tag_ln {
  background: #fbffe2;
  background: -moz-linear-gradient(45deg,  #fbffe2 0%, #f9ffed 100%);
  background: -webkit-linear-gradient(45deg,  #fbffe2 0%,#f9ffed 100%);
  background: linear-gradient(45deg,  #fbffe2 0%,#f9ffed 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fbffe2', endColorstr='#f9ffed',GradientType=1 );
}

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

.section .tag_fwd {
  background: #effffc;
  background: -moz-linear-gradient(45deg,  #effffc 0%, #f7fffe 100%);
  background: -webkit-linear-gradient(45deg,  #effffc 0%,#f7fffe 100%);
  background: linear-gradient(45deg,  #effffc 0%,#f5fffe) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#effffc', endColorstr='#f7fffe',GradientType=1 );
}

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

.section .tag_orix {
  background: #e8f6ff
  background: -moz-linear-gradient(45deg,  #e8f6ff 0%, #f2faff 100%);
  background: -webkit-linear-gradient(45deg,  #e8f6ff 0%,#f2faff 100%);
  background: linear-gradient(45deg,  #e8f6ff 0%,#f2faff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8f6ff', endColorstr='#f2faff',GradientType=1 );
}

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

.section .tag_tmn {
  background: #dbf1ff
  background: -moz-linear-gradient(45deg,  #dbf1ff 0%, #eff9ff 100%);
  background: -webkit-linear-gradient(45deg,  #dbf1ff 0%,#eff9ff 100%);
  background: linear-gradient(45deg,  #dbf1ff 0%,#eff9ff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b5e3ff', endColorstr='#eff9ff',GradientType=1 );
}

.section .tag_tmn h3 {
  color: #02639f;
}



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

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



/*----------------------------------------------------------------------------*/
/* section
------------------------------------------------------------------------------*/
/* other > leisure / kaigai / ryugaku
------------------------------------------------------------------------------*/

/*--------------------------------------------------------*/
/* content_header
----------------------------------------------------------*/
.other .content_header .header_head .wrapper {
  background: #1183c7;
  background: -moz-linear-gradient(left,  #1183c7 40%, transparent 100%);
  background: -webkit-linear-gradient(left,  #1183c7 40%, transparent 100%);
  background: linear-gradient(to right,  #1183c7 40%, transparent 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1183c7', endColorstr='transparent',GradientType=1 );
}

  /* leisure
  ----------------------------------------------------------*/
  #leisure .content_header .header_head {
    background-image: url(/assets/img/photo/img_golf.jpg);
    background-size: 80%;
    background-position: 270% 30%;
  }

  #leisure .content_header .header_head .wrapper {
    padding-right: 40%;
    background: #529C5C;
    background: -moz-linear-gradient(left,  #529C5C 60%, transparent 70%);
    background: -webkit-linear-gradient(left,  #529C5C 60%, transparent 70%);
    background: linear-gradient(to right,  #529C5C 60%, transparent 70%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1183c7', endColorstr='transparent',GradientType=1 );
  }

  /* kaigai
  ----------------------------------------------------------*/
  #kaigai .content_header .header_head {
    background-image: url(/assets/img/photo/img_airplane.jpg);
    background-size: 80%;
    background-position: 180% 70%;
  }

  /* ryugaku
  ----------------------------------------------------------*/
  #ryugaku .content_header .header_head {
    background-image: url(/assets/img/photo/img_international_student.jpg);
    background-size: 50%;
    background-position: 115% 20%;
  }

  #ryugaku .content_header .header_head .wrapper {
    padding-right: 40%;
    background: #1183c7;
    background: -moz-linear-gradient(left,  #1183c7 60%, transparent 70%);
    background: -webkit-linear-gradient(left,  #1183c7 60%, transparent 70%);
    background: linear-gradient(to right,  #1183c7 60%, transparent 70%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1183c7', endColorstr='transparent',GradientType=1 );
  }



/* type_01
----------------------------------------------------------*/
.other .type_01 h2,
.other .type_01 .head_txt p {
  color: #fff;
}



/*----------------------------------------------------------------------------*/
/* contents
------------------------------------------------------------------------------*/
/* leisure / kaigai / ryugaku
------------------------------------------------------------------------------*/

/*--------------------------------------------------------*/
/* leisure
----------------------------------------------------------*/

/* h3
----------------------------------------------------------*/
#leisure h3 {
  position: relative;
  margin: 0;
  padding: 6px 12px 12px 12px;
  padding-left: calc(12px + 2.1rem);
  border: 1px solid #ccc;
  border-bottom: none;
  background-color: #f1eced;
  font-size: 1.2rem;
}

#leisure strong {
  display: block;
  margin-top: 3px;
  color: #222;
  font-size: 1.2rem;
}

#leisure h3:before {
  display: inline-block;
  content: ' ';
  position: absolute;
  top: calc(0.25rem + 6px);
  left: 1rem;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #f57480;
  -webkit-mask: url("/assets/img/icon/icon_golf.svg");
  mask: url("/assets/img/icon/icon_golf.svg");
  -webkit-mask-size: cover;
  mask-size: cover;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}

/* flex_wrap
----------------------------------------------------------*/
#leisure .flex_wrap {
  display: -webkit-flex;
  display:-ms-flexbox;
  display: flex;
  flex-flow: column wrap;
  justify-content: space-around;
  margin-top: 30px;
  background-color: #FBF7E7;
}

#leisure .flex_item:nth-of-type(1),
#leisure .flex_item:nth-of-type(2),
#leisure .flex_item:nth-of-type(3) {
  margin-top: 0;
  width: 100%;
  max-width: 100%;
}

/* figure
----------------------------------------------------------*/
#leisure figure {
  padding: 24px 0;
  border: 1px solid #ccc;
  border-top: none;
  border-radius: 0;
}

#leisure .flex_item figure img {
  max-width: calc(270px * 1.1);
}

/* qr_info
----------------------------------------------------------*/
#leisure .qr_info {
  margin: 12px 0 0 0;
  padding: 16px 12px;
  background-color: #ffffff;
}

#leisure .qr_info p {
  position: relative;
  margin: 0 24px;
  padding: 12px 18px 10px 18px;
  border-radius: 10px;
  background-color: #ffd8d8;
  text-align: center;
}

#leisure .qr_info p strong {
  margin-bottom: 6px;
  line-height: 1.2;
}

#leisure .qr_info p:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin: 0 0 -32px -10px;
  content: "";
  border-top: 16px solid #ffd8d8;
  border-right: 10px solid transparent;
  border-bottom: 16px solid transparent;
  border-left: 10px solid transparent;
}

#leisure .qr_info p span {
  display: inline-block;
}

#leisure .qr_info div {
  margin-top: 20px;
  text-align: center;
}

#leisure .qr_info div img {
  max-width: 150px;
}

#leisure .qr_info ol {
  margin-top: 6px;
}

#leisure .qr_info ol li {
  list-style-type: none;
}

#leisure .qr_info ol li:before {
  margin-right: 6px;
}

#leisure .qr_info ol li:nth-of-type(1):before {
  content: "\203B 1";
}

#leisure .qr_info ol li:nth-of-type(2):before {
  content: "\203B 2";
}



/*--------------------------------------------------------*/
/* ryugaku
----------------------------------------------------------*/
/* tag_zrh > figure */
#bike .tag_zrh figure img {
  margin: 12px 0;
  width: 100%;
  max-width: 257px;
}

/* wrap_btn */
#ryugaku .wrap_btn .flex_item {
  margin-top: 24px;
  width: 100%;
  max-width: 100%;
}

#ryugaku .wrap_btn .flex_item:nth-of-type(1) {
  margin-top: 0;
}



/* 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 .sub_section {
  padding-bottom: 40px;
}

.section .about .sub_section:nth-of-type(1) {
  padding-top: 24px;
}

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

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

.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: 24px;
}

.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;
}

.section .about .num{
  padding: 0 24px 24px 24px;
  text-align: right;
  font-size:0.9rem;
}




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

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

.section:nth-of-type(1) {
  margin-top: 24px;
}



/*--------------------------------------------------------*/
/* 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;
}



/*----------------------------------------------------------------------------*/
/* section
------------------------------------------------------------------------------*/
/* other > leisure / kaigai / ryugaku
------------------------------------------------------------------------------*/

/*--------------------------------------------------------*/
/* content_header
----------------------------------------------------------*/
.other .content_header .header_head .wrapper {
  padding: 36px 39% 30px 24px;
  min-height: 180px;
}

  /* leisure
  ----------------------------------------------------------*/
  #bike .content_header .header_head {
    background-size: 68%;
    background-position: 150% 70%;
  }

  /* kaigai
  ----------------------------------------------------------*/
  #car .content_header .header_head {
    background-size: 80%;
    background-position: 220% 70%;
  }

  /* ryugaku
  ----------------------------------------------------------*/
  #ryugaku .content_header .header_head {
    background-size: 50%;
    background-position: 115% 20%;
  }



/*----------------------------------------------------------------------------*/
/* contents
------------------------------------------------------------------------------*/
/* leisure / kaigai / ryugaku
------------------------------------------------------------------------------*/

/*--------------------------------------------------------*/
/* leisure
----------------------------------------------------------*/

/* flex_wrap
----------------------------------------------------------*/
#leisure .flex_wrap {
  margin: 40px auto 0 auto;

}

#leisure .flex_wrap:nth-of-type(1) {
  margin-top: 0;
}

#leisure .flex_item {
  margin: 0 auto;
  width: 80% !important;
}



/*--------------------------------------------------------*/
/* ryugaku
----------------------------------------------------------*/

/* 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) {
  margin-top: 0;
  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;
}

#ryugaku .flex_wrap {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}





/* wrap_btn
----------------------------------------------------------*/
#ryugaku .wrap_btn {
  margin: 0 auto;
}

#ryugaku .wrap_btn .flex_item {
  margin-top: 24px;
  margin-left: 25%;
  width: 50%;
}

#ryugaku .wrap_btn .flex_item:nth-of-type(2) {
  margin-top: 0;
}


/* 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;
}





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