@charset "utf-8";

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * メイン
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* -------------------------------------------------------------------------------------------------
   * セクショニング
/* ---------------------------------------------------------------------------------------------- */

#main {}

#main-contents {}

#main-contents div.body {
  padding-left:20px;
  padding-right: 20px;
  margin: 0 auto;
}

#main-contents .column ~ .column {
  margin-top: 40px;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:1100px) {

 #main-contents div.body {
   max-width: 100%;
   padding-left:20px;
   padding-right: 20px;
   margin: 0 auto;
 }
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {

#main-contents > .section {
  padding-top: 3em;
  padding-bottom: 3em;
}

#main-contents div.body {
  max-width: 100%;
  padding:0 1em;
  margin: 0 auto;
}

#main-contents .column ~ .column {
  margin-top: 20px;
}

}


/* ****************************************************************************************************
   * 下層ビジュアル
**************************************************************************************************** */

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * メインビジュアル
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

body.layout-lower
#visual {
  position: relative;
}
body.layout-lower
#visual .body {
  min-height: 300px;
  background: url("../../_images/vaccin/visual.png") no-repeat;
  background-position: center;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 20px;
}
/* */


/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:900px) {
  /*ブラウザの幅が736px以下の時*/
  body.layout-lower
  #visual .body {
    min-height: 100%;
    background: url("../../_images/vaccin/visual-sp.jpg") no-repeat;
    background-position: center;
    background-size: cover;
  }
}


/* ****************************************************************************************************
   * ページナビ
**************************************************************************************************** */
/* ----------------------------------------------------------------------------------------------------
   * 共通
/* ------------------------------------------------------------------------------------------------- */

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/
  #page-nav {
    padding-top: 0 !important;
  }
  #page-nav ul {
    display: flex;
  }
  #page-nav ul li:nth-child(2) {
    margin-top: 0;
  }
  #page-nav ul li {
    width: 47%;
  }
  #page-nav ul li a {
    font-size: 1.4rem;
  }
}

/* ****************************************************************************************************
   * 予防接種
**************************************************************************************************** */
/* ----------------------------------------------------------------------------------------------------
   * 共通
/* ------------------------------------------------------------------------------------------------- */

.vaccin {
  position: relative;
  padding-top: 40px;
  padding-bottom: 100px;
  background: var(--c-l-orange);
}

.vaccin .body {
  max-width: 1240px;
  padding: 0 20px;
}

.vaccin ~ .vaccin {
  padding-top: 0 !important;
}
#routine {
  padding-top: 100px !important;
}

.vaccin section {
  position: relative;
}
#vaccin section {
  min-height: 450px;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/
  .vaccin {
    position: relative;
    padding-top: 20px !important;
    background: var(--c-l-orange);
  }
  #routine {
    padding-top: 0 !important;
  }
}

/* ----------------------------------------------------------------------------------------------------
   * タイトル
/* ------------------------------------------------------------------------------------------------- */

.vaccin .title-1 {
  font-size: 2.4rem;
  color: #fff;
  background: var(--c-orange);
  border-radius: 10px;
  padding: 0.2em 1.5em;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/
  .vaccin .title-1 {
    font-size: 1.8rem;
    line-height: 1.4;
    padding: 0.5em 1.5em;
  }
}

/* ----------------------------------------------------------------------------------------------------
   * テキスト
/* ------------------------------------------------------------------------------------------------- */

.vaccin .text {
  font-size: 1.8rem;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/
  .vaccin .text {
    font-size: 1.6rem;
  }
}

/* ----------------------------------------------------------------------------------------------------
   * セクション 内容
/* ------------------------------------------------------------------------------------------------- */

.vaccin section .detail {
  min-width: 590px;
  width: 50%;
  margin-right: 0;
  margin-left: auto;
}

.vaccin section .detail .title {
  font-size: 3.0rem;
  color: var(--c-orange);
  line-height: 1.4;
}

.vaccin section .detail .text {
  font-size: 1.8rem;
}

.vaccin section .detail .link-btn {
  margin-top: 0;
}
.vaccin section .detail .link-btn .text {
  margin-top: -20px;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:1200px) {
  /*ブラウザの幅が736px以下の時*/
  .vaccin section .detail {
    min-width: 100%;
    width: 100%;
    padding-top: 1em;
  }
  .vaccin section .detail .title {
    font-size: 2.0rem;
    line-height: 1.4;
  }
  
  .vaccin section .detail .text {
    font-size: 1.6rem;
  }
}

/* ----------------------------------------------------------------------------------------------------
   * 画像
/* ------------------------------------------------------------------------------------------------- */

.vaccin .main-section picture {
  position: absolute;
  top: 0;
  width: calc( 50% - 50px );
  left: 0;
  border-radius: 0px 40px 40px 0px;
}
.vaccin .main-section picture img {
  width: 100%;
  height: 450px;
  overflow: hidden;
  object-fit: cover;
  border-radius: 0px 40px 40px 0px;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:1200px) {
  /*ブラウザの幅が736px以下の時*/
  .vaccin .main-section picture {
    width: 100%;
    display: block;
    padding: 0 20px;
    max-width: 750px;
    margin: 0 auto;
    position: relative;
    left: 0;
    border-radius: 40px;
  }
  .vaccin .main-section picture img {
    width: 100%;
    height: auto;
    overflow: hidden;
    object-fit: cover;
    border-radius: 40px;
    position: relative;
    left: 0;
  }
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/
  .vaccin .main-section picture img {
    width: 100%;
    height: auto;
    overflow: hidden;
    object-fit: cover;
    border-radius: 20px;
  }
}

/* ----------------------------------------------------------------------------------------------------
   * 内容 詳細
/* ------------------------------------------------------------------------------------------------- */

.vaccin .inner {
  position: relative;
  background: #fff;
  border-radius: 10px;
  padding: 50px 40px;
  box-shadow: 0 0px 10px 10px rgba(79, 49, 26, 0.1);
  max-width: 1080px;
  margin: 1em auto 0;
  clear: both;
}
.vaccin .inner ~ .inner {
  margin-top: 2em;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/
  .vaccin {
    padding-top: 0 !important;
  }
  .vaccin .inner {
    padding: 20px;
  }
}

/* ----------------------------------------------------------------------------------------------------
   * 内容 詳細
/* ------------------------------------------------------------------------------------------------- */

.vaccin .item {}

.vaccin .item .text {
  margin-top: 0;
}
.vaccin .item .text ~ .text {
  margin-top: 1em;
}
.vaccin .item .text span {
  color: var(--c-orange);
}
.vaccin .item .text a {
  color: var(--c-orange);
  text-decoration: underline;
}

.vaccin .item .title-2 {
  position: relative;
  color: var(--c-orange);
  font-size: 2.2rem;
  padding-left: 1.5em;
}
.vaccin .item .title-2::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background: #fff;
  border: 2px solid var(--c-orange);
  color: var(--c-orange);
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 100%;
  margin-top: 12px;
}

.vaccin .title-3 {
  color: var(--c-orange);
  font-size: 2.2rem;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/
  .vaccin .item {}
  .vaccin .item .title-2 {
    color: var(--c-orange);
    font-size: 1.7rem;
    line-height: 1.6;
    padding-left: 1.25em;
  }
  .vaccin .item .title-2::before {
    width: 9px;
    height: 9px;
    margin-top: 9px;
  }
  .vaccin .title-3 {
    color: var(--c-orange);
    font-size: 1.7rem;
  }
}


/* ----------------------------------------------------------------------------------------------------
   * テーブル
/* ------------------------------------------------------------------------------------------------- */

.vaccin .table-wrap {
  max-width: 1080px;
  margin: 0 auto;
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 角丸 テーブル
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

.vaccin table.radius {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--c-h-orange);
  border-radius: 10px;
  overflow: hidden;
  font-size: 1.8rem;
}
.vaccin table.radius thead {
  background: var(--c-orange);
  color: #fff;
  font-size: 2.0rem;
}
.vaccin table.radius thead tr th {
  padding: 0.5em 1em;
}

.vaccin table.radius tbody tr th {
  background: #fff1e6;
  color: var(--c-orange);
  text-align: left;
  padding: 0.5em 2em;
  border-bottom: 1px solid var(--c-h-orange);
}
.vaccin table.radius tbody tr td {
  background: #fff;
  padding: 0.5em 2em;
  border-bottom: 1px solid var(--c-h-orange);
}
.vaccin table.radius tbody tr td a {
  color: var(--c-orange);
  text-decoration: underline;
}
.vaccin table.radius tbody tr td a:hover {
  color: var(--c-orange);
  text-decoration: none;
}
.vaccin table.radius tbody tr:last-child th,
.vaccin table.radius tbody tr:last-child td {
  border-bottom: 0;
}


/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/
  .vaccin table.radius {
    font-size: 1.6rem;
}
  .vaccin table.radius thead {
    background: var(--c-orange);
    color: #fff;
    font-size: 1.6rem;
  }
  .vaccin table.radius thead tr th {
    padding: 0.5em;
  }
  
  .vaccin table.radius tbody tr th {
    background: #fff1e6;
    color: var(--c-orange);
    text-align: left;
    padding: 0.5em;
    border-bottom: 1px solid var(--c-h-orange);
  }
  .vaccin table.radius tbody tr td {
    background: #fff;
    padding: 0.5em;
    border-bottom: 1px solid var(--c-h-orange);
  }
}


/* ----------------------------------------------------------------------------------------------------
   * リスト（olローマ字）
/* ------------------------------------------------------------------------------------------------- */

.vaccin ol.style {
  font-size: 1.8rem;
}
.vaccin ol.style,
.vaccin ol.style li {
  list-style-type:upper-roman;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/
  .vaccin ol.style {
    font-size: 1.6rem;
  }
}

/* ----------------------------------------------------------------------------------------------------
   * リスト（ol ローマ字・下層あり）
/* ------------------------------------------------------------------------------------------------- */
 
ol.roman, ol.roman ol {
  padding-left: 1em;
  font-size: 1.8rem;
}

ol.roman li {
  list-style-type:none;
  margin-left: 2em;
}

ol.roman li:before {
  display: inline-block; 
  text-align: right;
  width: 2em;
  margin-right: 1em;
  margin-left: -3em;
}

/*カウンターの設定（olの階層ごとに設定）*/
ol.roman > li {
  counter-increment: cnt1;
}

ol.roman > li:before {
  content: counter(cnt1,upper-roman) ". ";
  font-weight: bold;
}

ol.roman > li > ol > li {
  counter-increment: cnt2;
}

ol.roman > li > ol > li:before {
  content: counter(cnt2,upper-roman)". ";
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/
  ol.roman, ol.roman ol {
    font-size: 1.6rem;
  }
}




/* ----------------------------------------------------------------------------------------------------
   * リスト（ol 括弧()）
/* ------------------------------------------------------------------------------------------------- */
 
ol.parents, ol.parents ol {
  padding-left: 1em;
  font-size: 1.8rem;
}

ol.parents li {
  list-style-type:none;
  margin-left: 3em;
}

ol.parents li:before {
  display: inline-block; 
  text-align: right;
  width: 2em;
  margin-right: 1em;
  margin-left: -3em;
}

/*カウンターの設定（olの階層ごとに設定）*/
ol.parents > li {
  counter-increment: cnt1;
}

ol.parents > li:before {
  content: "(" counter(cnt1) ") ";
  font-weight: bold;
}

ol.parents > li > ol > li {
  counter-increment: cnt2;
}

ol.parents > li > ol > li:before {
  content: counter(cnt2)")";
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/
   ol.parents, ol.parents ol {
    font-size: 1.6rem;
  }
}

