@charset "UTF-8";

/* ######################################################################################

　表示

###################################################################################### */

@media print, screen and (min-width: 768px) {
div.pc { display: block; }
div.sp { display: none; }
span.pc { display: inline-block; }
span.sp { display: none; }
img.pc { display: inline-block; }
img.sp { display: none; }
br.pc { display: inline-block; }
br.sp { display: none; }
}

@media screen and (max-width: 767px) {
div.pc { display: none; }
div.sp { display: block; }
span.pc { display: none; }
span.sp { display: inline-block; }
img.pc { display: none; }
img.sp { display: inline-block; }
br.pc { display: none; }
br.sp { display: inline-block; }
}


/* ######################################################################################

　button

###################################################################################### */
.button {
  opacity: 1;
  display: inline-block;
  position: relative;
  border: none;
  -webkit-appearance: none;
  border: 1px solid #999999;
  border-radius: 4px;
  background: #999999;
  font-size: 14px;
  font-weight: normal;
  color: #ffffff;
  vertical-align: middle;
  line-height: 1;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  padding:1em;
}

.button.orange {
    border-color:#1D2088;
    background:#1D2088;
}
.button.orange:hover {
    border-color:#1D2088;
    background:#ffffff;
    color:#1D2088;
}
.button.orange:before {
    content: "\f0da";
    font-family: FontAwesome;
    font-size: 1em;
    margin-right: 0.5em;
}

.button.orangeBtn {
    display: block;
    margin: 0 auto;
    background: #ee7800;
    border: none;
    color: #fff;
}
@media print, screen and (min-width: 768px) {
    .button.orangeBtn {
        width: 332px;
        padding: 26px 0.5em 23px;
        border-radius: 12px;
        font-size: 22px;
    }
}
@media screen and (max-width: 767px) {
    .button.orangeBtn {
        padding: 23px 0.5em 20px;
        border-radius: 8px;
        font-size: 20px;
    }
}


@media screen and (max-width: 767px) {
    .button.orange:before {
        position:absolute;
        left:1em;
        top:50%;
        transform:translateY(-50%);
    }
}


.button.orange.reverse {
    border-color:#1d2087;
    background:#1d2087;
    color:#ffffff;
}
.button.orange.reverse:hover {
    border-color:#1d2087;
    background:#fff;
    color: #1d2087;
}
.button.orange.reverse:before{
    display: none;
}


.button.orange.size-small:before{
    display: none;
}
@media print, screen and (min-width: 768px) {
    .button.orange.size-small {
        padding: 0.4em 2em;
        font-size: 17px;
        border-radius: 2em;
        font-weight: bold;
    }
}
@media screen and (max-width: 767px) {
    .button.orange.size-small {
        padding: 0.2em 1.5em;
        font-size: 21px;
        font-weight: bold;
        line-height: 1.33;
        border-radius: 20px;
    }
}



/* ######################################################################################

　フォーム

###################################################################################### */
label.select{

}
label.select select{
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    padding: 0.8em 1em;
    font-size: 17px;
    border: 3px solid #1D2088;
    border-radius: 10px;
    background-image: url("../img/contents/ico_select.svg");
    background-repeat: no-repeat;
    background-size: 12px auto;
    background-position: right 12px center;
}

@media screen and (max-width: 767px) {
    label.select select{
        -webkit-appearance: none;
        appearance: none;
        width: 100%;
        padding: 0.5em 0.75em;
        font-size: 16px;
        border: 3px solid #1D2088;
        border-radius: 10px;
        background-image: url("../img/contents/ico_select.svg");
        background-repeat: no-repeat;
        background-size: 12px auto;
        background-position: right 12px center;
    }
}

input[type="search"]::placeholder,
label.select select::placeholder{color: rgba(0 ,0 ,0 ,0.2);}



/* ######################################################################################

    フォーム

###################################################################################### */
input[type="text"], input[type="password"], input[type="search"], input[type="tel"], input[type="url"], input[type="email"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="number"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    box-shadow: none;
    border: 1px solid #888;
    border-radius: 3px;
    background-color: #ffffff;
    max-width: 100%;
    color: #000 !important;
  }

  select,
  textarea {
    outline: none;
    box-shadow: inset 1px 1px 3px transparent;
    border: 1px solid #888;
    border-radius: 3px;
    background-color: #ffffff;
    max-width: 100%;
    color: #16181B !important;
  }

  @media print, screen and (min-width: 768px) {
    input[type="text"], input[type="password"], input[type="search"], input[type="tel"], input[type="url"], input[type="email"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="number"] {
      padding: 0.6em 0.5em;
      font-size: 15px;
    }
    select,
    textarea {
      padding: 0.6em 0.5em;
      font-size: 15px;
    }
	 textarea {
    width: 80%;
    min-height: 8em;
  }
  }
  @media screen and (max-width: 767px){
    input[type="text"], input[type="password"], input[type="search"], input[type="tel"], input[type="url"], input[type="email"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="number"] {
      padding: 0.6em 0.5em;
      font-size: 16px;
    }
    select,
    textarea {
      padding: 0.6em 0.5em;
      font-size: 16px;
    }
	 textarea {
    width: 100%;
    min-height: 8em;
  }
  }


  input[type="text"], input[type="password"], input[type="search"], input[type="tel"], input[type="url"], input[type="email"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="number"] {
    height: auto;
  }




  input-placeholder {
    color: #BABED1 !important;
  }

  ::-webkit-input-placeholder {
    color: #BABED1 !important;
  }

  ::-moz-placeholder {
    color: #BABED1 !important;
  }

  ::-ms-input-placeholder {
    color: #BABED1 !important;
  }

  -webkit-input-placeholder {
    color: #BABED1 !important;
  }

  input:-ms-input-placeholder {
    color: #BABED1 !important;
  }

  -moz-placeholder {
    color: #BABED1 !important;
  }

  :-ms-input-placeholder {
    color: #BABED1 !important;
  }

  input[type="text"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="email"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="number"]:focus {
    border-color: #004BB1;
    background: #fff;
    box-shadow: none;
  }

  label.select select:focus,
  textarea:focus {
    border-color: #004BB1;
    background: #fff;
    box-shadow: none;
  }

  select:not([multiple]):focus {
    box-shadow: none;
  }

  input + label, input + span {
    cursor: pointer;
  }




/* ######################################################################################

　リスト

###################################################################################### */

.iconLink__item a{
    text-decoration: none;
    color: #000;
    font-weight: bold;
}
.iconLink__item__img{
    max-width: 150px;
    margin-left: auto;
    margin-right: auto;
}
.iconLink__item__img img{width: 100%; height: auto;}
.iconLink__item__img .cap{
    margin-top: 0.25em;
    font-weight: normal;
}
.iconLink__item__text{
    text-align: center;
    font-size: 20px;
}
@media print, screen and (min-width: 768px) {
    .iconLink{
        margin-top: 4em;
    }
    .iconLink__item{
        margin-top: 5em;
    }
    .iconLink__item:nth-child(1),
    .iconLink__item:nth-child(2),
    .iconLink__item:nth-child(3){
        margin-top: 0;
    }
    .iconLink__item__img{
        margin-bottom: 1em;
    }
    .iconLink__item__img .cap{
        font-size: 11px;
    }
    .iconLink__item__text .text{
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
        margin-top: 1em;
        font-size: 13px;
        line-height: 1.33;
    }
}
@media screen and (max-width: 767px) {
    .iconLink{
        margin-top: 2em;
        margin-bottom: 2em;
    }
    .iconLink__item + .iconLink__item {
        margin-top: 3em;
    }
    .iconLink__item__img{
        margin-bottom: 0.75em;
    }
    .iconLink__item__img .cap{
        font-size: 12px;
        font-feature-settings: "palt";
    }
    .iconLink__item__text .text{
        margin-top: 1em;
        text-align: left;
        font-size: 16px;
        line-height: 1.68;
    }
}




/* ######################################################################################

　タイトル

###################################################################################### */

/* ====================================================
  メインカラータイトル
==================================================== */
.titleMaincolor {
    margin-bottom: 0.25em;
    color: #db5424;
    font-size: 14px;
    font-weight: normal;
}
.titleMaincolor.center { text-align: center; }
/* ====================================================
  帯タイトル
==================================================== */
.titleSolid {
    background: #555555;
    margin-bottom: 2em;
    color: #ffffff;
    font-size: 16px;
    font-weight: normal;
    line-height: 1;
}
.titleSolid.orange { background: #1D2088; }

@media print, screen and (min-width: 768px) {
.titleSolid { padding: 0.4em 0.4em 0.3em 0.3em; }
.msie .titleSolid { padding: 0.5em 0.4em 0.3em 0.3em; }
}



@media screen and (max-width: 767px) {
.titleSolid { padding: 0.5em 0.75em; }
.titleSolid.withSubMenu { margin-bottom: 0; }
}
/* ====================================================
  ■アイコンタイトル
==================================================== */
.titleIcoSquare {
    border-bottom: solid;
    margin-bottom: 0.63em;
    font-size: 30px;
}
.titleIcoSquare:before { content: "■"; }
.titleIcoSquare.mini { font-size:22px;}

.titleIcoSquare.noBorder {border:none; padding-bottom:0 !important;}

@media print, screen and (min-width: 768px) {
.titleIcoSquare {
    border-bottom-width:2px;
    border-color: #656464;
    color: #656464;
}
.titleIcoSquare.mini {
    border-bottom-width:1px;
    padding-bottom:15px;
    /*margin-bottom:;*/
}
}

@media screen and (max-width: 767px) {
.titleIcoSquare {
    border-bottom-width:1px;
    border-color: #656464;
    color: #656464;
    }
}
/* ====================================================
  サイドバータイトル
==================================================== */
.titleSidebar {
    border-left: 7px solid #656464;
    margin-bottom:1em;
    padding-left:0.4em;
    line-height:1;
    font-size: 22px;
}
.msie .titleSidebar {
    padding-top: 0.1em;
}

.titleSidebar small {
    display:block;
    margin-bottom:0.5em;
    font-size:63.6363%;
}
/* ====================================================
  ポッキータイトル
==================================================== */
.titlePockey {
  position: relative;
  line-height: 1.2;
  margin-bottom:1em;
  border-bottom: 2px solid #e0e0e0;
}
.titlePockey a {text-decoration:none;}
.titlePockey a:hover {
    text-decoration:underline;
    color:#333333;
}
.titlePockey span {
  position: relative;
  display: inline-block;
  padding: 0 0.25em 0.5em 0;
}
.titlePockey span:before {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
    .titlePockey {
      font-size: 22px;
      font-weight:bold;
    }
}
@media screen and (max-width: 767px) {
    .titlePockey {
      font-size: 18px;
      font-weight:normal;
    }
}

/* チョコの色 */
.titlePockey span:before {border-bottom: 2px solid #ffc658;}

/* プリッツの色 */
.titlePockey.fix span:before {max-width:120px;}

/* orange */
.titlePockey.orange a,
.titlePockey.orange {border-color: #e0e0e0; color:#1D2088;}
.titlePockey.orange a:hover {color:#333333;}
.titlePockey.orange span:before {border-color: #1D2088;}

/* ====================================================
    青背景タイトル
==================================================== */
.blueBgTitle {
    background: #1D2088;
    color: #fff;
    text-align: center;
    font-weight: bold;
}
@media print, screen and (min-width: 768px) {
    .blueBgTitle {
        margin-bottom: 29px;
        padding-top: 21px;
        padding-bottom: 21px;
        border-radius: 21px;
        font-size: 20px;
    }
}

@media screen and (max-width: 767px) {
    .blueBgTitle {
        margin-bottom: 18px;
        padding-top: 9px;
        padding-bottom: 8px;
        border-radius: 10px;
        font-size: 13px;
    }
}

/* ====================================================
    □タイトル
==================================================== */
.titleBold {
    font-size: 25px;
    font-weight: bold;
    color: #1D2088;
    padding-bottom: 0.2em;
    margin-bottom: 1em;
}
.titleBold:before{
    content: "■";
    margin-right: 0.3em;
}
@media screen and (max-width: 767px) {
    .pageStores .contents.storeDetail .titleBold{font-size: 28px;}
}


/* アイコン付き　ページタイトル */
.pageTitle .titleBold::before{
    display: none;
}
.pageTitle .icon img{
    width: 100%;
    height: auto;
}
@media print, screen and (min-width: 768px) {
    .pageTitle{
        display: flex;
        align-items: center;
        margin-bottom: 2.5em;
    }
    .pageTitle .titleBold{
        font-size: 50px;
        line-height: 1;
        margin-bottom: 0;
        font-feature-settings: "palt";
    }
    .pageTitle .titleBold .small{
        font-size: 25px;
    }
    .pageTitle .title p{
        font-size: 25px;
        font-weight: bold;
        color: #000;
        line-height: 1.25;
    }
    .pageTitle .icon{
        margin-right: 1.75em;
        display: block;
        width: 126px;
        height: 126px;
    }
}
@media screen and (max-width: 767px) {
    .pageTitle{
        margin-bottom: 0.4em;
        padding: 0 1.5em;
    }
    .pageTitle .titleBold{
        font-size: 34px;
        margin-bottom: 0;
        font-feature-settings: "palt";
    }
    .pageTitle .titleBold .small{
        display: block;
        font-size: 24px;
    }
    .pageTitle .icon{
        margin-bottom: 0.5em;
        display: block;
        width: 60px;
        height: 60px;
    }
    .pageTitle .title p{
        font-size: 14px;
        font-weight: bold;
        color: #000;
        line-height: 1.58;
    }
}

.shadowTitle {
    background: #F8F7F3;
    box-shadow: 2px 3px 3px 0px #caa163;
    color: #000;
    font-weight: bold;
    text-align: center;
}
.shadowTitle.yellow {
    background: #FBDE02;
}
@media print, screen and (min-width: 768px) {
    .shadowTitle {
        margin-bottom: 25px;
        padding: 13px 0.5em 10px;
        font-size: 26px;
    }
}
@media screen and (max-width: 767px) {
    .shadowTitle {
        margin-bottom: 12px;
        padding: 13px 0.5em 10px;
        font-size: 18px;
    }
}

/* ====================================================
    circleArrowTitle
==================================================== */
.circleArrowTitle span {
    position: relative;
    display: block;
    color: #1d2088;
}
.circleArrowTitle span:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    background-image: url(../img/contents/icon_circle_arrow.png);
    background-size: contain;
}
@media print, screen and (min-width: 768px) {
    .circleArrowTitle {
        margin-bottom: 24px;
    }
    .circleArrowTitle span {
        padding-left: 53px;
        padding-bottom: 10px;
        border-bottom: 5px solid #cbc5e2;
        font-size: 30px;
    }
    .circleArrowTitle span:before {
        width: 37px;
        height: 37px;
    }
}

@media screen and (max-width: 767px) {
    .circleArrowTitle {
        margin-bottom: 24px;
    }
    .circleArrowTitle.spSidelong {
        margin-left: -15px;
        margin-right: -15px;
    }
    .circleArrowTitle span {
        padding: 3px 0 6px 45px;
        border-bottom: 4px solid #cbc5e2;
        font-size: 21px;
    }
    .circleArrowTitle.spSidelong span {
        padding-left: 58px;
        padding-right: 15px;
    }
    .circleArrowTitle span:before {
        width: 30px;
        height: 30px;
    }
    .circleArrowTitle.spSidelong span:before {
        left: 15px;
    }
}

/* ====================================================
    radiusTitle
==================================================== */
.radiusTitle {
    padding: 0.5em 0.25em;
    background: #ddd9ec;
    font-weight: bold;
    text-align: center;
    color: #000;
}

@media print, screen and (min-width: 768px) {
    .radiusTitle {
        margin-bottom: 21px;
        border-radius: 19px;
        font-size: 22px;
    }
}
@media screen and (max-width: 767px) {
    .radiusTitle {
        margin-bottom: 13px;
        border-radius: 12px;
        font-size: 15px;
    }
}


/* ######################################################################################

　パンくずリスト

###################################################################################### */
.topicPath {
    clear: both;
    line-height: 1;
    width: 100%;
    color: #1D2088;
}
.topicPath ol {
    text-align: left;
}
.pageRecipes .topicPath ol { margin-bottom:5px;}
.topicPath ol li {
    display: inline-block;
    font-size: 12px;
}
.topicPath ol li:before {
    content: "\f105";
    display: inline-block;
    padding: 0 0.5em;
    font-family: FontAwesome;
}
.topicPath ol li:first-child:before { display: none; }
.topicPath ol li a {
    color: #1D2088;
    text-decoration: none;
}
.topicPath ol li a:hover{color: #000; text-decoration: none!important;}

@media print, screen and (min-width: 768px) {
.topicPath { margin: 0 auto 30px; }
.topicPath ol li a:hover { text-decoration: underline; }
}

@media screen and (max-width: 767px) {
.topicPath { margin: 0 auto 20px; padding-top: 10px;}
}
/* ######################################################################################

　サブリスト

###################################################################################### */

/* ====================================================
  共通
==================================================== */
.titleSolid + .subMenu { font-size: 13px; }
.subMenu { line-height: 1; }
.subMenu:after {
    content: "";
    display: table;
    clear: both;
}
.subMenu li { display: inline-block; }
.subMenu a {
    display: block;
    color: #ffffff;
    text-decoration: none;
    vertical-align: bottom;
}

@media print, screen and (min-width: 768px) {
.titleSolid + .subMenu {
    margin-top: -4.55em;
    margin-bottom: 2.5em;
}

.msie .titleSolid + .subMenu {
 /*   margin-top: -4.65em;*/
}
.subMenu {
    text-align: right;
    font-size: 12px;
}
.subMenu a { padding: 0.6em 1em 0.6em 0.75em; }
.msie .subMenu a { padding: 0.7em 1em 0.45em 0.75em; }

}

@media screen and (max-width: 767px) {
.subMenu {
    background: #1D2088;
    margin-bottom: 40px;
}
.subMenu li {
    float: left;
    margin-bottom: -1px;
}
.subMenu a { padding: 1em 0.5em; }
}
/* ====================================================
　アイコン【>>】※店舗一覧　LINE
==================================================== */
.subMenu.double li a:before {
    content: "\f0da";
    font-family:FontAwesome;
    font-size: 1em;
    margin-right: 0.2em;
}

.subMenub.double li {
    border: solid #ffffff;
    border-width: 1px 1px 1px 0;
    width: 20%;
    text-align: center;
}


@media screen and (max-width: 767px) {
.subMenu.double li {
    border: solid #ffffff;
    border-width: 1px 1px 1px 0;
    width: 33.3333%;
    text-align: center;
}
.subMenu.double li:nth-of-type(3n) { border-right: none; }
}
/* ====================================================
　アイコン【>>】※アーカイブ
==================================================== */
.subMenu.archive { text-align: right; }
.subMenu.archive a {
    display: inline-block;
    border-left: 1px solid #ffffff;
}
.subMenu.archive a:before {
    content: "\f0da";
    font-family:FontAwesome;
    font-size: 1em;
    margin-right: 0.2em;
}

@media screen and (max-width: 767px) {
.subMenu a { padding: 0.8em 0.75em 0.7em; }
.titleSolid + .subMenu.archive {
    margin-top: -4.9em;
    margin-bottom: 2.5em;
}
}
/* ====================================================
　アイコン【△】
==================================================== */
.subMenu.triangle li a:before {
    content: "\f04b";
    margin-right: 0.5em;
    font-family: FontAwesome;
}
@media screen and (max-width: 767px) {
.subMenu.triangle ul { border-top: 1px solid #ffffff; }
.subMenu.triangle li { width: 100%; }
.subMenu.triangle li:nth-of-type(2n) { border-right: none; }
}



/* ====================================================
sunflex
==================================================== */
.sunflex{display:flex;flex-wrap:wrap; width:auto;}.sunflex.inline{display:inline-flex}.sunflex.reverse{flex-direction:row-reverse;justify-content:flex-end}.sunflex.reverse.left{justify-content:flex-end}.sunflex.reverse.right{justify-content:flex-start}.sunflex.between{justify-content:space-between}.sunflex.around{justify-content:space-around}.sunflex.center{justify-content:center}.sunflex.left{justify-content:flex-start}.sunflex.right{justify-content:flex-end}.sunflex.top{align-items:flex-start}.sunflex.top.stretch{align-items:stretch}.sunflex.top.stretch>*{display:flex;align-items:flex-start}.sunflex.middle{align-items:center}.sunflex.middle.stretch{align-items:stretch}.sunflex.middle.stretch>*{display:flex;align-items:center}.sunflex.bottom{align-items:flex-end}.sunflex.bottom.stretch{align-items:stretch}.sunflex.bottom.stretch>*{display:flex;align-items:flex-end}.sunflex.contentTop{align-content:flex-start}.sunflex.contentMiddle{align-content:center}.sunflex.contentBottom{align-content:flex-end}.sunflex.contentStrech{align-content:stretch}.sunflex.contentBetween{align-content:space-between}.sunflex.contentAround{align-content:space-around}.sunflex>.top:not(.sunflex){align-self:flex-start}.sunflex>.middle:not(.sunflex){align-self:center}.sunflex>.bottom:not(.sunflex){align-self:flex-end}.sunflex>*{list-style:none}.sunflex *[class^="col-"]>*,.sunflex *[class^="size-"]>*,.sunflex *[class^="mono-"]>*{height:100%}.row{margin-right:-1.5%;margin-left:-1.5%}.row:not(.flex):after{content:"";display:block;clear:both}.row+.row{margin-top:1em}.row *[class^="col-"],.row *[class^="size-"],.row *[class^="mono-"]{position:relative;min-height:1px;padding-right:1.5%;padding-left:1.5%}.size-xs-05{width:5%}.size-xs-10{width:10%}.size-xs-15{width:15%}.size-xs-20{width:20%}.size-xs-25{width:25%}.size-xs-30{width:30%}.size-xs-35{width:35%}.size-xs-40{width:40%}.size-xs-45{width:45%}.size-xs-50{width:50%}.size-xs-55{width:55%}.size-xs-60{width:60%}.size-xs-65{width:65%}.size-xs-70{width:70%}.size-xs-75{width:75%}.size-xs-80{width:80%}.size-xs-85{width:85%}.size-xs-90{width:90%}.size-xs-95{width:95%}.size-xs-100{width:100%}

@media screen and (min-width: 1200px){.mono-xs-5{width:20%}}

@media print, screen and (min-width: 768px){.mono-sm-5{width:20%}}

@media screen and (min-width: 992px){.mono-md-5{width:20%}}

@media screen and (min-width: 1200px){.mono-lg-5{width:20%}}

/* ######################################################################################

　fancybox

###################################################################################### */
.fancybox__dialog .fancybox__backdrop {opacity: 0.7;}
.fancybox__dialog .f-html {
    padding: 15px;
    background: #fff;
    border-radius: 4px;
}



/* ######################################################################################

　wallBelt

###################################################################################### */
.wallBelt {
    padding: 0 0 60px;
}
.wallBelt.narrow{
    padding: 30px 0;
}


.wallBelt.orange{
    background: rgba(29, 32, 136, 0.15);
}
.wallBelt.orange.narrow{
    padding: 30px 0;
}
@media screen and (max-width: 767px) {
    .wallBelt.orange{
        padding: 25px 0;
    }
    .wallBelt.narrow{
        padding: 10px 0;
    }
}
.wallBelt.beige {
    background: #F4EDE3;
}
.wallBelt.shadingYellow {
    background-image: url(../img/contents/foods_info/5aday/shading_yellow.png);
}





/* ######################################################################################

　企業情報パーツ：ダイエーから転用

###################################################################################### */
/* ######################################################################################

　hero

###################################################################################### */
.hero {
	position: relative;
	inset-inline: 50%;
	width: 100vw;
	margin-inline: -50vw;
	padding-inline: calc((100vw - 100%) / 2 - 150px);
	color: #fff;
	background: linear-gradient(
				  180deg,
				  transparent 0%,
				  transparent 50%,
				  rgba(29, 32, 136, 0.15) 50%,
				  rgba(29, 32, 136, 0.15) 100%
	);
	font-family: "M PLUS Rounded 1c", sans-serif;
}
.hero-inner{
	width: 100%;
    height: 320px;
    background: url(../img/contents/corporate/main_image.jpg) no-repeat #e6e6e6; /* Placeholder background color, adjust as needed */
    display: flex;
    align-items: center;
    justify-content: center;
}
.hero-content {
    padding: 0 20px;  /* Added padding for text alignment */
    text-align: center;  /* Adjusted text alignment */
	font-family: "M PLUS Rounded 1c", sans-serif;
	color: #fff;
}
.hero h1 {
    font-size: 38px;  /* Adjusted font size */
	font-weight: bold;
	line-height: 1;
    margin-bottom: 5px;
	padding: 0;
}
.hero span {
    font-size: 15px;
	font-weight: bold;
}

@media screen and (max-width: 767px){
	.hero {
		width: calc(100vw);
		margin-inline: -50vw;
		padding-inline: calc((100vw - 100%) / 2);
		color: #fff;
		background: linear-gradient(
					  180deg,
					  transparent 0%,
					  transparent 50%,
					  rgba(29, 32, 136, 0.15) 50%,
					  rgba(29, 32, 136, 0.15) 100%
		);
		font-family: "M PLUS Rounded 1c", sans-serif;
	}
	.hero-inner{
		width: 100%;
		max-width: initial;
		min-width: initial;
		height: 260px;
		background: url(../img/contents/corporate/main_image_sp.jpg) no-repeat #e6e6e6;
		background-size:cover;
	}
	.hero-content {
		max-width: 100%;
	}
	.hero h1 {
		font-size: 34px;  /* Adjusted font size */
	}
	.hero span {
		font-size: 14px;
	}
}



/* ######################################################################################

　corporate_top_list

###################################################################################### */
.corporate_top_list{
	margin: 0 auto;
	width: 100%;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}
.corporate_top_list > li {
	width: 48%;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	margin-bottom: 32px;
}
.corporate_top_list > li a {
	display: block;
	border-radius: 6px;
	border: 1px solid #e8e8e8;
	padding: 28px 28px;
	text-decoration: none;
	color: #000;
	height: 100%;
	background: #fff;
	position: relative;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.corporate_top_list > li a:after{
	content: "";
	border: solid #1d2087;
	border-width: 0 2px 2px 0;
	display: block;
	width: 8px;
	height: 8px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 1px;
	bottom: 0;
	right: 28px;
	margin: auto 0;
	-webkit-transition: right 300ms;
	transition: right 300ms;
}
.corporate_top_list.image_list > li a::after{
	border: solid #FFF;
	border-width: 0 2px 2px 0;
}
.corporate_top_list > li.image_guide a{
	background-image: url(../img/contents/corporate/bg_corporateguide.png);
	color: #fff;
}
.corporate_top_list > li.image_ir a{
	background-image: url(../img/contents/corporate/bg_eoutline.png);
	color: #fff;
}
@media screen and (max-width: 767px){
	.content-section.top_menu{
		padding: 32px 16px;
	}
	.corporate_top_list{
		width: 100%;

	}
	.corporate_top_list > li{
		width: 100%;
		margin-bottom: 16px;
	}
	.corporate_top_list > li a {
		border-radius: 6px;
		padding: 28px 20px;
		font-size: 18px;
	}
	.corporate_top_list > li a:after{
		right: 28px;
	}
}



/* ######################################################################################

　lower_hero

###################################################################################### */
.lower_hero {
	height: 210px;
    background-color: rgba(29, 32, 136, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
}
.lower_hero_content {
    text-align: center;
    font-family: "M PLUS Rounded 1c", sans-serif;
    color: #000;
}
.lower_hero h1 {
	color: #000;
    font-size: 38px;
    font-weight: bold;
	letter-spacing: 0.05em;
    line-height: 1.2;
    margin-bottom: 5px;
    padding: 0;
}
.lower_hero span {
	color: #1d2087;
    font-size: 15px;
    font-weight: bold;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 768px){
	.lower_hero {
		height: 106px;
	}
	.lower_hero h1 {
		font-size: 24px;
		margin: 8px 0 0;
	}
	.lower_hero span {
		font-size: 12px;
	}
}



/* ######################################################################################

　c-about__list

###################################################################################### */
.c-about__list {
  width: 100%;
  margin: -10px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.c-about__list li {
  width: 31%;
  margin-bottom: 27px;
  font-size: 14px;
  border-bottom: 1px dotted #DDD;
}
.c-about__list li:nth-child(3n+1) {
  margin-left: 0;
}
.c-about__list li a {
  display: block;
  text-decoration: none;
  color: #000;
  padding-bottom: 15px;
  position: relative;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
  overflow: visible;
}
.c-about__list li a::after {
  content: "";
  border: solid #000;
  border-width: 0 1px 1px 0;
  display: block;
  width: 6px;
  height: 6px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  position: absolute;
  right: 0;
  top: 0;
  bottom: 12px;
  margin: auto;
  -webkit-transition: right 300ms;
  transition: right 300ms;
}
.c-about__list li a:hover {
  opacity: 0.6;
}
.c-about__list li a:hover::after {
  right: -5px;
}
@media screen and (max-width: 767px) {
  .c-about__list {
    width: auto;
    margin: -3.33333vw auto 0;
    display: block;
  }
  .c-about__list li {
    width: auto;
    margin: 0 0 4.72222vw;
    font-size: 16px;
  }
  .c-about__list li:last-child {
    border-bottom: 0;
  }
  .c-about__list li a {
    padding-bottom: 4.16667vw;
  }
  .c-about__list li a::after {
    width: 1.66667vw;
    height: 1.66667vw;
    right: 0.83333vw;
    bottom: 3.33333vw;
  }
  .c-about__list li a:hover {
    opacity: 1;
  }
  .c-about__list li a:hover::after {
    right: 0.83333vw;
  }
}




/* ######################################################################################

　c-title-h2

###################################################################################### */
.c-title-h2 {
  text-align: center;
  margin: 0 0 50px;
  font-size: 34px;
  font-family: "M PLUS Rounded 1c", sans-serif;
  line-height: 1.7;
}
.c-title-h2 span {
  font-size: 14px;
  color: #1d2087;
  display: block;
}
.c-title-h2.inversion {
  color: #fff;
}
.c-title-h2.inversion span {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-title-h2 {
    margin: 0 0 7.77778vw;
    font-size: 25px;
  }
  .c-title-h2 span {
    font-size: 12px;
  }
}


/* ######################################################################################

　block-table

###################################################################################### */
.block-table table {
    border-collapse: collapse;
    width: 100%;
}
.block-table th, .block-table td {
    border: 1px solid #E0E3E3;
    line-height: 1.4;
}
.block-table th {
	border: 1px solid #E0E3E3;
	padding: 20px;
	color: #1d2087;
	font-size: 16px;
	line-height: 1.4;
}
.block-table td {
	border: 1px solid #E0E3E3;
	padding: 24px;
	font-size: 16px;
	letter-spacing: 0.01em;
    line-height: 1;
    color: #000;
}
.split {
	display: grid;
    grid-template-columns: auto 1fr;
	margin-bottom: 20px;
}
.split:last-child,
.split:only-child {
	margin-bottom: 0;
}
.split_img {
	text-align: right;
}
.split_img img {
	vertical-align: top;
	text-align: right;
	width: initial;
	max-width: 100%;
}
.block-table td p {
	margin: 0 0 10px;
}
.block-table td p:last-child {
	margin: 0;
}
.block-table .split_last {
    border-left: 1px solid #d0d0d0;
    padding-left: 20px;
    margin-left: 20px;
}
@media screen and (max-width: 767px){
	.bottom-menu-section{
		padding: 48px 16px;
	}
	.block-table table {
		border-collapse: collapse;
		width: 100%;
	}
	.block-table th, .block-table td {
		display: block;
		width: 100%;
	}
	.block-table th {
		width: 100%;
		border-bottom: none;
		border-top: none;
		padding: 20px 16px 12px;
		font-size: 15px;
		text-align: left;
	}
	.table-group tr:first-child th {
		border-top: 1px solid #E0E3E3;
	}
	.block-table td {
		border-top: none;
		padding: 0 16px 24px;
		font-size: 15px;
	}
	.split,
	.split.wide {
		grid-template-columns: 1fr;
		grid-gap: 18px;
	}
	.split_img {
		width: fit-content;
		text-align: left;
	}
	.split_img img {
		width: 50%;
	}
	.block-table td p {
		margin: 0 0 8px;
	}
	.block-table td p:last-child {
		margin: 0;
	}
	.block-table .split_last {
		padding-left: 15px;
		margin-left: 15px;
	}
}



/* ######################################################################################

　tab_link

###################################################################################### */
.top_desc,
.top_desc:last-of-type {
	letter-spacing: 0.05em;
	line-height: 1.8;
	margin: 0 0 56px;
    font-size: 16px;
}
@media screen and (max-width: 768px){
    .top_desc,
    .top_desc:last-of-type {
		font-size: 15px;
		text-align: left;
		margin: 0 0 40px;
	}
}


/* ######################################################################################

　tab_link

###################################################################################### */
.tab_link {
    margin: 0 auto 40px;
    width: 100%;
    display: grid;
	grid-gap: 16px;
}
.tab_link.seven {
    grid-template-columns: repeat(7, 1fr);
}
.tab_link.eight {
    grid-template-columns: repeat(8, 1fr);
}
.tab_link > li {
    width: 100%;
	text-align: center;
}
.tab_link > li a {
    display: block;
    border-radius: 6px;
    padding: 16px 0 28px;
    text-decoration: none;
    color: #000;
    height: 100%;
    background: #F4F4F4;
    position: relative;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
}
.tab_link > li.active a {
	color: #fff;
    background: #1d2087;
}
.tab_link > li a.narrow {
    letter-spacing: -0.025em;
}
.tab_link > li a span {
	font-size: 11px;
}
.tab_link > li a:after {
    content: "";
    border: solid #1d2087;
    border-width: 0 2px 2px 0;
    display: block;
    width: 8px;
    height: 8px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    bottom: 16px;
    right: 50%;
    margin: auto 0;
    border-radius: 1px;
}
.tab_link > li.active a:after {
	border: solid #fff;
	border-width: 0 2px 2px 0;
}

@media screen and (max-width: 768px){
	.tab_link {
		margin: 0 auto 40px;
		display: grid;
		grid-gap: 8px;
	}
	.tab_link.seven,
	.tab_link.eight {
		grid-template-columns: repeat(3, 1fr);
	}
	.tab_link > li {
		width: 100%;
		text-align: center;
	}
	.tab_link > li a {
		padding: 12px 0 24px;
		font-size: 14px;
	}
	.tab_link > li a:after {
		bottom: 13px;
	}
	.tab_link > li.active a:after {
		border: solid #fff;
		border-width: 0 2px 2px 0;
	}
}


.block-table.area {
	display: none;
	opacity: 0;
	background: #fff;
}
.block-table.area.is-active {
	display: block;
	animation-name: displayAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}
@keyframes displayAnime{
	from {
	  opacity: 0;
	}
	to {
	  opacity: 1;
	}
}


/* ######################################################################################

　year_link

###################################################################################### */
.year_link {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: space-between;
	margin-top: 32px;
}
.year_link.next {
	grid-template-columns: auto;
	justify-content: end;
}
.year_link.prev {
	grid-template-columns: auto;
	justify-content: start;
}
.year_link a {
    text-decoration: none;
    color: #000;
    position: relative;
    font-size: 15px;
    font-weight: bold;
    line-height: 1;
	-webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}
.year_link a:hover {
	opacity: 0.6;
}
.year_link a.prev {
	padding-left: 15px;
}
.year_link a.next {
	padding-right: 15px;
}
.year_link a.prev:after {
    content: "";
    border: solid #1d2087;
    border-width: 0 2px 2px 0;
    display: block;
    width: 8px;
    height: 8px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
    top: 1px;
    bottom: 0;
    left: 0;
    margin: auto 0;
}
.year_link a.next:after {
    content: "";
    border: solid #1d2087;
    border-width: 0 2px 2px 0;
    display: block;
    width: 8px;
    height: 8px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 1px;
    bottom: 0;
    right: 0;
    margin: auto 0;
}
@media screen and (max-width: 768px){
	.year_link {
		display: grid;
		grid-template-columns: auto auto;
		justify-content: space-between;
		margin-top: 24px;
	}
	.year_link.next {
		grid-template-columns: auto;
		justify-content: end;
	}
	.year_link.prev {
		grid-template-columns: auto;
		justify-content: start;
	}
	.year_link a {
		font-size: 13px;
	}
	.year_link a.prev {
		padding-left: 13px;
	}
	.year_link a.next {
		padding-right: 13px;
	}
	.year_link a.prev:after {
		width: 7px;
		height: 7px;
	}
	.year_link a.next:after {
		width: 7px;
		height: 7px;
	}
}

/* ====================================================
    tabImageBox
==================================================== */
.tabImageBox .tab ul {
    display: flex;
}
.tabImageBox .tab li {cursor: pointer;}
.tabImageBox .tabContentsBox {
    background: rgba(29, 32, 136, 0.15);
}
.tabImageBox .tabContentsBox .tabItem {
    display: none;
    flex-wrap: wrap;
}
.tabImageBox .tabContentsBox .tabItem.active {
    display: flex;
}
.tabImageBox .tabContentsBox .tabItem > div {
    padding-left: 4px;
    padding-right: 4px;
}
.tabImageBox .tabContentsBox .cation {color: #231815;}
@media print, screen and (min-width: 768px) {
    .tabImageBox .tab {
        max-width: 954px;
        margin-left: auto;
        margin-right: auto;
    }
    .tabImageBox .tab ul {
        margin-left: -5px;
        margin-right: -5px;
    }
    .tabImageBox .tab li {margin-left: 5px; margin-right: 5px;}
    .tabImageBox .tabContentsBox {
        max-width: 980px;
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 22px;
    }
    .tabImageBox .tabContentsBox .tabItem {
        margin-left: -4px;
        margin-right: -4px;
        padding: 38px 40px 0;
    }
    .tabImageBox .tabContentsBox .tabItem > div {
        width: 50%;
        margin-bottom: 8px;
    }
    .tabImageBox .tabContentsBox .cation {
        padding: 0 40px;
        font-size: 14px;
    }
}
@media screen and (max-width: 767px) {
    .tabImageBox .tab ul {
        margin-left: -2px;
        margin-right: -2px;
    }
    .tabImageBox .tab li {margin-left: 2px; margin-right: 2px;}
    .tabImageBox .tabContentsBox .tabItem {
        padding: 0.75em;
    }
    .tabImageBox .tabContentsBox .tabItem > div + div {
        margin-top: 0.5em;
    }
    .tabImageBox .tabContentsBox .tabItem > div,
    .tabImageBox .tabContentsBox .tabItem img {
        width: 100%;
        height: auto;
    }
    .tabImageBox .tabContentsBox .cation {
        padding: 0 1.5em 10px;
        font-size: 12px;
        line-height: 1.25;
    }
}
/* ====================================================
    tabListBox
==================================================== */
.tabListBox {}
.tabListBox .tab ul {
    display: flex;
    justify-content: center;
}
.tabListBox .tab li {
    background: #F8F7F3;
    color: #CAA163;
    font-weight: bold;
    text-align: center;
}
.tabListBox .tab li.active {
    background: #07913B;
    color: #fff;
}
.tabListBox .tabContentsBox .tabItem {display: none;}
.tabListBox .tabContentsBox .tabItem.active {display: block;}

@media print, screen and (min-width: 768px) {
    .tabListBox .tab li {
        width: 287px;
        margin: 0 11px;
        padding: 19px 0.25em 18px;
        border-radius: 15px 15px 0 0;
        font-size: 26px;
        cursor: pointer;
    }
}
@media screen and (max-width: 767px) {
    .tabListBox .tab li {
        width: 287px;
        margin: 0 10px;
        padding: 10px 0.25em 10px;
        border-radius: 10px 10px 0 0;
        font-size: 20px;
        cursor: pointer;
    }
}


/* ######################################################################################

　リスト

###################################################################################### */
.numList > li{position: relative; padding-left: 1.75em;}
.numList > li:before{position: absolute; top: 0; left: 0;}

.numList > li:nth-child(1):before{content:"1.";}
.numList > li:nth-child(2):before{content:"2.";}
.numList > li:nth-child(3):before{content:"3.";}
.numList > li:nth-child(4):before{content:"4.";}
.numList > li:nth-child(5):before{content:"5.";}
.numList > li:nth-child(6):before{content:"6.";}
.numList > li:nth-child(7):before{content:"7.";}
.numList > li:nth-child(8):before{content:"8.";}
.numList > li:nth-child(9):before{content:"9.";}
.numList > li:nth-child(10):before{content:"10.";}
.numList > li:nth-child(11):before{content:"11.";}
.numList > li:nth-child(12):before{content:"12.";}
.numList > li:nth-child(13):before{content:"13.";}
.numList > li:nth-child(14):before{content:"14.";}
.numList > li:nth-child(15):before{content:"15.";}
.numList > li:nth-child(16):before{content:"16.";}
.numList > li:nth-child(17):before{content:"17.";}
.numList > li:nth-child(18):before{content:"18.";}
.numList > li:nth-child(19):before{content:"19.";}
.numList > li:nth-child(20):before{content:"20.";}
.numList > li:nth-child(21):before{content:"21.";}

.customMarkList > li{position: relative; padding-left: 2em;}
.customMarkList > li .mark{
    position: absolute;
    top: 0;
    left: 0
}
@media print, screen and (min-width: 768px) {
    .customMarkList > li{padding-left: 2em;}
}
@media screen and (max-width: 767px) {
    .customMarkList > li{padding-left: 1.25em;}
}





.bracketsNumList > li{position: relative; padding-left: 2.5em;}
.bracketsNumList > li:before{position: absolute; top: 0; left: 0;}
.bracketsNumList > li:nth-child(1):before{content:"（1）";}
.bracketsNumList > li:nth-child(2):before{content:"（2）";}
.bracketsNumList > li:nth-child(3):before{content:"（3）";}
.bracketsNumList > li:nth-child(4):before{content:"（4）";}
.bracketsNumList > li:nth-child(5):before{content:"（5）";}
.bracketsNumList > li:nth-child(6):before{content:"（6）";}
.bracketsNumList > li:nth-child(7):before{content:"（7）";}
.bracketsNumList > li:nth-child(8):before{content:"（8）";}
.bracketsNumList > li:nth-child(9):before{content:"（9）";}
.bracketsNumList > li:nth-child(10):before{content:"（10）";}
.bracketsNumList > li:nth-child(11):before{content:"（11）";}
.bracketsNumList > li:nth-child(12):before{content:"（12）";}
.bracketsNumList > li:nth-child(13):before{content:"（13）";}
.bracketsNumList > li:nth-child(14):before{content:"（14）";}
.bracketsNumList > li:nth-child(15):before{content:"（15）";}
.bracketsNumList > li:nth-child(16):before{content:"（16）";}
.bracketsNumList > li:nth-child(17):before{content:"（17）";}
.bracketsNumList > li:nth-child(18):before{content:"（18）";}
.bracketsNumList > li:nth-child(19):before{content:"（19）";}
.bracketsNumList > li:nth-child(20):before{content:"（20）";}
.bracketsNumList > li:nth-child(21):before{content:"（21）";}





.circlenumList > li{position: relative; padding-left: 1.5em;}
.circlenumList > li:before{position: absolute; top: 0; left: 0;}

.circlenumList > li:nth-child(1):before{content:"①";}
.circlenumList > li:nth-child(2):before{content:"②";}
.circlenumList > li:nth-child(3):before{content:"③";}
.circlenumList > li:nth-child(4):before{content:"④";}
.circlenumList > li:nth-child(5):before{content:"⑤";}
.circlenumList > li:nth-child(6):before{content:"⑥";}
.circlenumList > li:nth-child(7):before{content:"⑦";}
.circlenumList > li:nth-child(8):before{content:"⑧";}
.circlenumList > li:nth-child(9):before{content:"⑨";}
.circlenumList > li:nth-child(10):before{content:"⑩";}




.asteriskNumList > li{position: relative; padding-left: 2.5em;}
.asteriskNumList > li:before{position: absolute; top: 0; left: 0;}

.asteriskNumList > li:nth-child(1):before{content:"※1.";}
.asteriskNumList > li:nth-child(2):before{content:"※2.";}
.asteriskNumList > li:nth-child(3):before{content:"※3.";}
.asteriskNumList > li:nth-child(4):before{content:"※4.";}
.asteriskNumList > li:nth-child(5):before{content:"※5.";}
.asteriskNumList > li:nth-child(6):before{content:"※6.";}
.asteriskNumList > li:nth-child(7):before{content:"※7.";}
.asteriskNumList > li:nth-child(8):before{content:"※8.";}
.asteriskNumList > li:nth-child(9):before{content:"※9.";}
.asteriskNumList > li:nth-child(10):before{content:"※10.";}
.asteriskNumList > li:nth-child(11):before{content:"※11.";}
.asteriskNumList > li:nth-child(12):before{content:"※12.";}
.asteriskNumList > li:nth-child(13):before{content:"※13.";}
.asteriskNumList > li:nth-child(14):before{content:"※14.";}
.asteriskNumList > li:nth-child(15):before{content:"※15.";}


.asteriskNumList2 > li{position: relative; padding-left: 2.5em;}
.asteriskNumList2 > li:before{position: absolute; top: 0; left: 0;}

.asteriskNumList2 > li:nth-child(1):before{content:"※1";}
.asteriskNumList2 > li:nth-child(2):before{content:"※2";}
.asteriskNumList2 > li:nth-child(3):before{content:"※3";}



.dotList > li {
    padding-left: 1em;
    text-indent: -1em;
	line-height: 1.8em;
}
.dotList > li:before {
    content: "・";
    font-size: 13px;
    margin-right: 0.2em;
}

.asteriskList > li {
    padding-left: 1em;
    text-indent: -1em;
}
.asteriskList > li:before {
    content: "※";
}

.en .asteriskList > li:before {
    content: "*";
    margin-right: 0.5em;
}

.lineList > li {
    padding-left: 1em;
    text-indent: -1em;
}
.lineList > li:before {
    content: "–";
    margin-right: 0.5em;
}

/* =======================================================
    alphabetList
========================================================== */


.alphabetList > li{position: relative; padding-left: 1.5em;}
.alphabetList > li:before{position: absolute; top: 0; left: 0;}

.alphabetList > li:nth-child(1):before{content:"a";}
.alphabetList > li:nth-child(2):before{content:"b";}
.alphabetList > li:nth-child(3):before{content:"c";}
.alphabetList > li:nth-child(4):before{content:"d";}
.alphabetList > li:nth-child(5):before{content:"e";}
.alphabetList > li:nth-child(6):before{content:"f";}
.alphabetList > li:nth-child(7):before{content:"g";}
.alphabetList > li:nth-child(8):before{content:"h";}
.alphabetList > li:nth-child(9):before{content:"i";}
.alphabetList > li:nth-child(10):before{content:"j";}
.alphabetList > li:nth-child(11):before{content:"k";}
.alphabetList > li:nth-child(12):before{content:"l";}
.alphabetList > li:nth-child(13):before{content:"m";}
.alphabetList > li:nth-child(14):before{content:"n";}
.alphabetList > li:nth-child(15):before{content:"o";}

/* =======================================================
    kanaList
========================================================== */


.kanaList > li{position: relative; padding-left: 1.5em;}
.kanaList > li:before{position: absolute; top: 0; left: 0;}

.kanaList > li:nth-child(1):before{content:"ア";}
.kanaList > li:nth-child(2):before{content:"イ";}
.kanaList > li:nth-child(3):before{content:"ウ";}
.kanaList > li:nth-child(4):before{content:"エ";}
.kanaList > li:nth-child(5):before{content:"オ";}
.kanaList > li:nth-child(6):before{content:"カ";}
.kanaList > li:nth-child(7):before{content:"キ";}
.kanaList > li:nth-child(8):before{content:"ク";}
.kanaList > li:nth-child(9):before{content:"ケ";}
.kanaList > li:nth-child(10):before{content:"コ";}
.kanaList > li:nth-child(11):before{content:"サ";}
.kanaList > li:nth-child(12):before{content:"シ";}
.kanaList > li:nth-child(13):before{content:"ス";}
.kanaList > li:nth-child(14):before{content:"セ";}
.kanaList > li:nth-child(15):before{content:"ソ";}




/* =======================================================
    listStyle
========================================================== */
.listStyle{margin: 0 0 2em;}
ul.listStyle{margin-left:0.25em;}
.listStyle li{
    position: relative;
    line-height: 1.4;
}
.listStyle li:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
}


@media print, screen and (min-width: 768px) {
    .listStyle li{font-size: 16px;}
}
@media screen and (max-width: 767px){
    .listStyle li{font-size: 14px;}
    .listStyle li + li{margin-top: 1em;}
}

/* ドット
-------------------------------------*/
.listStyle.dot li:before{
    top: 0.45em;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #BEC2CC;
}
.listStyle.dot2 li{padding-left: 1em;}
.listStyle.dot2 li:before{
    top: 0.5em;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #1d2087;
}
@media print, screen and (min-width: 768px) {
    .listStyle.dot li{padding-left: 1em;}
    .listStyle.dot li + li{margin-top: 0.5em;}
}
@media screen and (max-width: 767px){
    .listStyle.dot li{padding-left: 0.75em;}
    .listStyle.dot2 li + li{margin-top: 1em;}
}


/* 数字：numberRound
-------------------------------------*/
.listStyle.numberRound li:before{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    top: 0;
    border-radius: 50%;
	border: 1px solid #1d2087;
    background: #fff;
    color: #1d2087;
}
@media print, screen and (min-width: 768px) {
    .listStyle.numberRound li{padding-left: 26px;}
    .listStyle.numberRound li + li{margin-top: 0.5em;}

    .listStyle.numberRound li:before{
        width: 22px;
        height: 22px;
		font-size: 12px;
    }
}
@media screen and (max-width: 767px){
    .listStyle.numberRound li{padding-left: 22px;}
    .listStyle.numberRound li:before{
        width: 18px;
        height: 18px;
        font-size: 12px;
    }
}

.listStyle.numberRound li:nth-of-type(1):before{content: "1";}
.listStyle.numberRound li:nth-of-type(2):before{content: "2";}
.listStyle.numberRound li:nth-of-type(3):before{content: "3";}
.listStyle.numberRound li:nth-of-type(4):before{content: "4";}
.listStyle.numberRound li:nth-of-type(5):before{content: "5";}
.listStyle.numberRound li:nth-of-type(6):before{content: "6";}
.listStyle.numberRound li:nth-of-type(7):before{content: "7";}
.listStyle.numberRound li:nth-of-type(8):before{content: "8";}
.listStyle.numberRound li:nth-of-type(9):before{content: "9";}
.listStyle.numberRound li:nth-of-type(10):before{content: "10";}
.listStyle.numberRound li:nth-of-type(11):before{content: "11";}
.listStyle.numberRound li:nth-of-type(12):before{content: "12";}
.listStyle.numberRound li:nth-of-type(13):before{content: "13";}
.listStyle.numberRound li:nth-of-type(14):before{content: "14";}
.listStyle.numberRound li:nth-of-type(15):before{content: "15";}
.listStyle.numberRound li:nth-of-type(16):before{content: "16";}
.listStyle.numberRound li:nth-of-type(17):before{content: "17";}
.listStyle.numberRound li:nth-of-type(18):before{content: "18";}
.listStyle.numberRound li:nth-of-type(19):before{content: "19";}
.listStyle.numberRound li:nth-of-type(20):before{content: "20";}
.listStyle.numberRound li:nth-of-type(21):before{content: "21";}
.listStyle.numberRound li:nth-of-type(22):before{content: "22";}
.listStyle.numberRound li:nth-of-type(23):before{content: "23";}
.listStyle.numberRound li:nth-of-type(24):before{content: "24";}
.listStyle.numberRound li:nth-of-type(25):before{content: "25";}
.listStyle.numberRound li:nth-of-type(26):before{content: "26";}
.listStyle.numberRound li:nth-of-type(27):before{content: "27";}
.listStyle.numberRound li:nth-of-type(28):before{content: "28";}
.listStyle.numberRound li:nth-of-type(29):before{content: "29";}
.listStyle.numberRound li:nth-of-type(30):before{content: "30";}
.listStyle.numberRound li:nth-of-type(31):before{content: "31";}
.listStyle.numberRound li:nth-of-type(32):before{content: "32";}
.listStyle.numberRound li:nth-of-type(33):before{content: "33";}
.listStyle.numberRound li:nth-of-type(34):before{content: "34";}
.listStyle.numberRound li:nth-of-type(35):before{content: "35";}
.listStyle.numberRound li:nth-of-type(36):before{content: "36";}
.listStyle.numberRound li:nth-of-type(37):before{content: "37";}
.listStyle.numberRound li:nth-of-type(38):before{content: "38";}
.listStyle.numberRound li:nth-of-type(39):before{content: "39";}
.listStyle.numberRound li:nth-of-type(40):before{content: "40";}
.listStyle.numberRound li:nth-of-type(41):before{content: "41";}
.listStyle.numberRound li:nth-of-type(42):before{content: "42";}
.listStyle.numberRound li:nth-of-type(43):before{content: "43";}
.listStyle.numberRound li:nth-of-type(44):before{content: "44";}
.listStyle.numberRound li:nth-of-type(45):before{content: "45";}
.listStyle.numberRound li:nth-of-type(46):before{content: "46";}
.listStyle.numberRound li:nth-of-type(47):before{content: "47";}
.listStyle.numberRound li:nth-of-type(48):before{content: "48";}
.listStyle.numberRound li:nth-of-type(49):before{content: "49";}
.listStyle.numberRound li:nth-of-type(50):before{content: "50";}


.listStyle.numberRound li.n1:before{content: "1";}
.listStyle.numberRound li.n2:before{content: "2";}
.listStyle.numberRound li.n3:before{content: "3";}
.listStyle.numberRound li.n4:before{content: "4";}
.listStyle.numberRound li.n5:before{content: "5";}
.listStyle.numberRound li.n6:before{content: "6";}
.listStyle.numberRound li.n7:before{content: "7";}
.listStyle.numberRound li.n8:before{content: "8";}
.listStyle.numberRound li.n9:before{content: "9";}
.listStyle.numberRound li.n10:before{content: "10";}

/* ====================================================
　※付リスト
==================================================== */
ul.asterisk> li{
    position: relative;
    padding-left:1em;
    line-height: 1.66;
    text-indent: 0;
}
ul.asterisk > li:before{
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
ul.asterisk .icoCircle{
  margin: 0;
}

@media print, screen and (min-width: 768px) {
  ul.asterisk:not(:last-child){margin-bottom: 5px;}
  * + ul.asterisk{margin-top: 5px;}
}
@media screen and (max-width: 767px) {
  ul.asterisk:not(:last-child){margin-bottom: 5px;}
  * + ul.asterisk{margin-top: 5px;}
}



/* ######################################################################################

　タイトル　title

###################################################################################### */

/* ====================================================
　デフォルトタイトル
==================================================== */

h2,h3,h4,h5,h6 {
    margin:0 0 0.75em;
    padding:0;
    line-height: 1.25;
    font-weight:600;
    font-size:100%;
}
/* ====================================================
    太字タイトル
==================================================== */
.boldStyle{font-weight: bold;}
.boldTitle{
    color: #111;
    font-size: 18px;
    font-weight: bold;
}
.boldTitle.small{
    font-size: 16px;
}

/* ====================================================
    太字タイトル
==================================================== */

.pageAccessibility h2,
.pagePolicy h2,
.pagePrivacy h2{
    padding: 8px 4px 8px 12px;
    border-left: 3px solid #1d2087;
    background: rgba(29, 32, 136, 0.15);
    line-height: 1.3em;
    font-size: 16px;
    font-family: "M PLUS Rounded 1c", sans-serif;
    clear: both;
    margin-bottom: 15px;
    margin-top: 30px;
}
.pageAccessibility h3,
.pagePolicy h3,
.pagePrivacy h3{
    padding: 8px 4px 8px 8px;
    background: rgba(29, 32, 136, 0.15);
    line-height: 1.3em;
    font-size: 16px;
    font-family: "M PLUS Rounded 1c", sans-serif;
    clear: both;
    margin-bottom: 15px;
    margin-top: 16px;
}

/* ====================================================
    オレンジ　短い下線のタイトル
==================================================== */
.orangeUnderLineTitle{
    font-weight: normal;
    position: relative;
    margin-bottom: 1.4em;
    line-height: 1.5;
}
.orangeUnderLineTitle span{
    margin-left: 1.5em;
    font-size: 10px;
    color: #1d2087;
}

.orangeUnderLineTitle:before{
    content: "";
    width: 40px;
    height: 3px;
    position: absolute;
    bottom: -10px;
    left: 0;
    background-color: #1d2087;
}

@media print, screen and (min-width: 768px) {
    .orangeUnderLineTitle{font-size: 26px;}
    * + .orangeUnderLineTitle,
    .main > .orangeUnderLineTitle:first-child{margin-top: 2em;}

}
@media screen and (max-width: 767px) {
    .orangeUnderLineTitle{font-size: 22px;}
}

/* 色 */
.orangeUnderLineTitle.skyBlue span{color: #59B1CC;}
.orangeUnderLineTitle.skyBlue:before{background-color: #59B1CC;}
.orangeUnderLineTitle.blue span{color: #0B3EC9;}
.orangeUnderLineTitle.blue:before{background-color: #0B3EC9;}


/* 位置 */
.orangeUnderLineTitle.center{
    font-weight: bold;
    text-align: center;
}
.orangeUnderLineTitle.center:before{
    width: 80px;
    left: 50%;
    transform: translateX(-50%);
    bottom: -20px;
}
@media print, screen and (min-width: 768px) {
    .orangeUnderLineTitle.center{font-size: 22px;}
}
@media screen and (max-width: 767px) {
    .orangeUnderLineTitle.center{font-size: 18px;}
}



/* ====================================================
      color2Title
==================================================== */
.color2Title:before,
.color2Title:after{
	content:"";
    display:inline-block;
    position:absolute;
	width:3px;
}
.color2Title:before{
    top:0;
    left:0;
    background:#1d2087;
    height:100%;
}
.color2Title:before{
    top:0;
    left:0;
    background:#1d2087;
    height:100%;
}
.color2Title:after{
    left:0;
    bottom:0;
	background:#E1E1E1;
	height:50%;
}



@media print, screen and (min-width: 768px) {
    .purpleUnderLineTitle{font-size: 26px;}
    * + .purpleUnderLineTitle,
    .main > .purpleUnderLineTitle:first-child{margin-top: 2em;}
}
@media screen and (max-width: 767px) {
    .purpleUnderLineTitle{font-size: 22px;}
}

/* ====================================================
    オレンジ　背景タイトル
==================================================== */
.orangeBgTitle{
    padding: 0.5em 0.6em;
    background-color: #009944;
	color: #fff;
}
.orangeBgTitle.center{
    padding: 0.85em;
    text-align: center;
    border-radius: 6px;
    font-weight: normal;
}
.orangeBgTitle .small{display: block; margin-top: 0.25em;}


@media print, screen and (min-width: 768px) {
    .orangeBgTitle{font-size: 16px;}
    .orangeBgTitle.center{font-size: 26px;}
    .orangeBgTitle .small{font-size: 60%;}
	.orangeBgTitle.center{  margin-bottom: 2.5em;}
}
@media screen and (max-width: 767px) {
    .orangeBgTitle{font-size: 15px;}
    .orangeBgTitle .small{font-size: 70%;}
	.orangeBgTitle.center{ font-size: 20px; margin-bottom: 2em; padding: 1.5em;}
}







/* ====================================================
    グレー背景タイトル
==================================================== */
.grayBgTitle{
    padding: 0.7em 0.6em;
    background-color: #F8F8F8;
}

@media print, screen and (min-width: 768px) {
    * + .grayBgTitle{margin-top: 40px;}
    .grayBgTitle{font-size: 2.0rem;}
}
@media screen and (max-width: 767px) {
    * + .grayBgTitle{margin-top: 40px;}
    .grayBgTitle{font-size: 1.6rem;}
}

/* ====================================================
    左オレンジ帯タイトル　+　グレー下線
==================================================== */
.titleLeftUnderLine {
    margin-bottom: 1.0em;
    position: relative;
    padding-bottom: 0.75em;
    border-bottom: 1px solid #F2F4F5;
}
.titleLeftUnderLine span {
    position: relative;
    display: inline-block;
    padding-left: 0.75em;
    border-left: 3px solid #1d2087;
    border-left-style: solid;
    text-decoration:none;
}
.titleLeftUnderLine em{margin-left: 2em;
    font-style: inherit;
    font-size: 0.7em;
    color: #BEC2CC;
    }

@media print, screen and (min-width: 768px) {
	.titleLeftUnderLine{font-size: 2.0rem}
    * + .titleLeftUnderLine{margin-top: 65px;}
}
@media screen and (max-width: 767px) {
	.titleLeftUnderLine{font-size: 18px}
	.titleLeftUnderLine em{display: block; margin-top: 0.25em; margin-left: 1.4em;}
    * + .titleLeftUnderLine{margin-top: 27px;}
}

/* 色 */
.titleLeftUnderLine.skyBlue span{border-left-color: #59B1CC;}
.titleLeftUnderLine.purple span{border-left-color: #833C9D;}
.titleLeftUnderLine.platinum span{border-left-color: #e5e4e2;}

/* ====================================================
    グレー下線　+　オレンジ線タイトル
==================================================== */
.orangeGrayLineTitle{
    font-size: 2.0rem;
    font-weight: normal;
    border-bottom: 1px solid #dddddd;
}
.orangeGrayLineTitle > span{display: inline-block; position: relative; padding: 0.6em 0;}
.orangeGrayLineTitle > span:before{
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: -1px;
    left: 0;
    background-color: #1d2087;
}

@media print, screen and (min-width: 768px) {
    .orangeGrayLineTitle{font-size: 2.0rem;}
}
@media screen and (max-width: 767px) {
    .orangeGrayLineTitle{font-size: 1.7rem;}

}



/** オレンジボーダー **/
.orangeLeftBorderTitle{
    position: relative;
    margin-bottom: 1em;
    font-weight: 700;
    padding-left: 15px;
    padding-top: 1px;
    line-height: 1.25;
}
.orangeLeftBorderTitle:before{
    content: "";
    width: 3px;
    position: absolute;
    top: 0px;
    left: 0;
    background-color: #1d2087;
}

@media print, screen and (min-width: 768px) {
    .orangeLeftBorderTitle{font-size: 2.2rem;}
    * + .orangeLeftBorderTitle{margin-top: 65px;}
    .orangeLeftBorderTitle:before{height: 28px;}
}
@media screen and (max-width: 767px) {
    .orangeLeftBorderTitle{font-size: 1.8rem;}
    * + .orangeLeftBorderTitle{margin-top: 27px;}
    .orangeLeftBorderTitle:before{height: 20px;}
}

/* ====================================================
    　上下線タイトル
==================================================== */
.topUnderLine{border-top: 1px solid #c1bac6; border-bottom: 1px solid #c1bac6;}

@media print, screen and (min-width: 768px) {
    .topUnderLine{font-size: 2.6rem; padding: 2.3em 0;}

}
@media screen and (max-width: 767px) {
    .topUnderLine{font-size: 1.8rem; padding: 2em 0;}
}

/* ====================================================
    太字見出し
==================================================== */
@media print, screen and (min-width: 768px) {
    .boldTitle{font-size: 1.8rem; font-weight: bold;}
}
@media screen and (max-width: 767px) {
    .boldTitle{font-size: 1.5rem; font-weight: bold;}
}

/* ######################################################################################

dropdownMenu

###################################################################################### */
.dropdownMenu .childMenu {
    display: none;
}
