@charset "utf-8";
/* CSS Document */
/*
01.reset style
02.display inline-block
03.display block
04.margin
05.body/wrapper
06.header
07.global nav
08.drop down menu
09.accordion(menu)
10.page top(footer)
11.footer
12.accordion 共通汎用CSS
13.accordion(footer)
14.side menu
15.floating
16.page top(floating)
17.contents
18.bread list 不要
19.title
20.link
21.text

*/
/*================================================
* 01.reset style
================================================*/
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  outline:0;
  font-size:100%;
  font-weight: 400;
  vertical-align:baseline;
}
body, html {
  position: relative;
  width: 100%;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
  line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
  display:block;
}
nav ul, ul, ol {
  list-style:none;
}
blockquote, q {
  quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content:'';
  content:none;
}
ins {
  background-color:#ff9;
  color:#000;
  text-decoration:none;
}
mark {
  background-color:#ff9;
  color:#000;
  font-style:italic;
  font-weight:bold;
}
del {
  text-decoration: line-through;
}
abbr[title], dfn[title] {
  border-bottom:1px dotted;
  cursor:help;
}
li {
  text-align: justify;
  text-justify: inter-ideograph;/* for IE11 */
  font-size: 1rem;
}
li.c-txtAlignJustfy__no {
  text-align: left;
}
table {
  border-collapse:collapse;
  border-spacing:0;
}
hr {
  display:block;
  height:1px;
  margin:1em 0;
  padding:0;
  border:0;
  border-top:1px solid #cccccc;
}
input, select {
  vertical-align:middle;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: 600;
}
img {
  border: 0;
  border-style: none;
  vertical-align: top;
}
figcaption {
  font-size: .88rem;
}
sup {
  font-weight: normal;
}
.cf:after {
  display:block;
  clear:both;
  content:" ";
}
*{
  box-sizing: border-box;
}
.c-section__inner p {
  text-align: justify;
  line-height: 1.8;
}
.c-section__inner p.c-txtAlignJustfy__no {
  text-align: left;
}
.txt-align__left,
p.txt-align__left,
p .txt-align__left {
  text-align: left;
}

.c-whiteSpace__nowrap {
  white-space: nowrap;
}

.u-display__none {
  display: none;
}
.u-bgcolor__blue {
  background: #e2f1f5;
}
.u-bgcolor__gray {
  background: #f3f3f3;
}
/*===============================================
02.display:inline-block
===============================================*/
.u-inline-block {
  display: inline-block;
}
.u-inline__only-pc {
  display: none;
}
.u-inline__only-sp {
  display: inline;
}
@media only screen and (min-width: 769px){
  .u-inline__only-pc {
    display: inline;
  }
  .u-inline__only-sp {
    display: none;
  }
}/*769*/

/*===============================================
03.display:block
===============================================*/
.u-display__block {
  display: block;
}
/* ▲▲▲以上 */
.u-display__block--more321 {display: none!important;}
.u-display__block--more376 {display: none!important;}
.u-display__block--more415 {display: none!important;}
.u-display__block--more601 {display: none!important;}

@media screen and (min-width:321px) {
  .u-display__block--more321 {display: block!important;}
}/*376*/

@media screen and (min-width:376px) {
  .u-display__block--more376 {display: block!important;}
}/*376*/

@media screen and (min-width:415px) {
  .u-display__block--more415 { display: block!important;}
}/*415*/

@media screen and (min-width:601px) {
  .u-display__block--more601 {display: block!important;}
}/*601*/

.u-display__block--less321 {display: block!important;}
.u-display__block--less376 {display: block!important;}
.u-display__block--less415 {display: block!important;}
.u-display__block--less601 {display: block!important;}
.u-display__block--less769 {display: block!important;}

@media screen and (min-width:321px) {
  .u-display__block--less321 {display: none!important;}
}/*320*/
@media screen and (min-width:376px) {
  .u-display__block--less376 {display: none!important;}
}/*375*/
@media screen and (min-width:415px) {
  .u-display__block--less415 {display: none!important;}
}/*414*/
@media screen and (min-width:601px) {
  .u-display__block--less601 {display: none!important;}
}/*600*/
@media screen and (min-width:769px) {
  .u-display__block--less769 {display: none!important;}
}/*768*/

.u-only__pc { display: none!important; }
.u-only__sp { display: block!important; }

@media screen and (min-width:769px) {
  /*　デスクトップ用スタイルが入る　*/
  .u-only__pc { display: block!important;}
  .u-only__sp { display: none!important;}
}/*769*/

/*===============================================
04.margin
===============================================*/
.u-mt00 { margin-top: 0 !important; }
.u-mt05 { margin-top: 5px !important; }
.u-mt10 { margin-top: 10px !important; }
.u-mt15 { margin-top: 15px !important; }
.u-mt20 { margin-top: 20px !important; }
.u-mt25 { margin-top: 25px !important; }
.u-mt30 { margin-top: 30px !important; }
.u-mt35 { margin-top: 35px !important; }
.u-mt40 { margin-top: 40px !important; }
.u-mt45 { margin-top: 45px !important; }
.u-mt50 { margin-top: 50px !important; }
.u-mt55 { margin-top: 55px !important; }
.u-mt60 { margin-top: 60px !important; }
.u-mt65 { margin-top: 65px !important; }
.u-mt70 { margin-top: 70px !important; }
.u-mt75 { margin-top: 75px !important; }
.u-mt80 { margin-top: 80px !important; }
.u-mt85 { margin-top: 85px !important; }
.u-mt90 { margin-top: 90px !important; }
.u-mt95 { margin-top: 95px !important; }
.u-mt100 { margin-top: 100px !important; }

.u-mr00 { margin-right: 0 !important; }
.u-mr05 { margin-right: 5px !important; }
.u-mr10 { margin-right: 10px !important; }
.u-mr15 { margin-right: 15px !important; }
.u-mr20 { margin-right: 20px !important; }
.u-mr25 { margin-right: 25px !important; }
.u-mr30 { margin-right: 30px !important; }
.u-mr35 { margin-right: 35px !important; }
.u-mr40 { margin-right: 40px !important; }
.u-mr45 { margin-right: 45px !important; }
.u-mr50 { margin-right: 50px !important; }
.u-mr55 { margin-right: 55px !important; }
.u-mr60 { margin-right: 60px !important; }
.u-mr65 { margin-right: 65px !important; }
.u-mr70 { margin-right: 70px !important; }
.u-mr75 { margin-right: 75px !important; }
.u-mr80 { margin-right: 80px !important; }
.u-mr85 { margin-right: 85px !important; }
.u-mr90 { margin-right: 90px !important; }
.u-mr95 { margin-right: 95px !important; }
.u-mr100 { margin-right: 100px !important; }
.u-mr110 { margin-right: 110px !important; }
.u-mr120 { margin-right: 120px !important; }
.u-mr130 { margin-right: 130px !important; }
.u-mr140 { margin-right: 140px !important; }
.u-mr150 { margin-right: 150px !important; }

.u-mb00 { margin-bottom: 0 !important; }
.u-mb05 { margin-bottom: 5px !important; }
.u-mb10 { margin-bottom: 10px !important; }
.u-mb15 { margin-bottom: 15px !important; }
.u-mb20 { margin-bottom: 20px !important; }
.u-mb25 { margin-bottom: 25px !important; }
.u-mb30 { margin-bottom: 30px !important; }
.u-mb35 { margin-bottom: 35px !important; }
.u-mb40 { margin-bottom: 40px !important; }
.u-mb45 { margin-bottom: 45px !important; }
.u-mb50 { margin-bottom: 50px !important; }
.u-mb55 { margin-bottom: 55px !important; }
.u-mb60 { margin-bottom: 60px !important; }
.u-mb65 { margin-bottom: 65px !important; }
.u-mb70 { margin-bottom: 70px !important; }
.u-mb75 { margin-bottom: 75px !important; }
.u-mb80 { margin-bottom: 80px !important; }
.u-mb85 { margin-bottom: 85px !important; }
.u-mb90 { margin-bottom: 90px !important; }
.u-mb95 { margin-bottom: 95px !important; }
.u-mb100 { margin-bottom: 100px !important; }
.u-mb110 { margin-bottom: 110px !important; }
.u-mb120 { margin-bottom: 120px !important; }
.u-mb130 { margin-bottom: 130px !important; }
.u-mb140 { margin-bottom: 140px !important; }
.u-mb150 { margin-bottom: 150px !important; }

.u-ml00 { margin-left: 0 !important; }
.u-ml05 { margin-left: 5px !important; }
.u-ml10 { margin-left: 10px !important; }
.u-ml15 { margin-left: 15px !important; }
.u-ml20 { margin-left: 20px !important; }
.u-ml25 { margin-left: 25px !important; }
.u-ml30 { margin-left: 30px !important; }
.u-ml35 { margin-left: 35px !important; }
.u-ml40 { margin-left: 40px !important; }
.u-ml45 { margin-left: 45px !important; }
.u-ml50 { margin-left: 50px !important; }
.u-ml55 { margin-left: 55px !important; }
.u-ml60 { margin-left: 60px !important; }
.u-ml65 { margin-left: 65px !important; }
.u-ml70 { margin-left: 70px !important; }
.u-ml75 { margin-left: 75px !important; }
.u-ml80 { margin-left: 80px !important; }
.u-ml85 { margin-left: 85px !important; }
.u-ml90 { margin-left: 90px !important; }
.u-ml95 { margin-left: 95px !important; }
.u-ml100 { margin-left: 100px !important; }
.u-ml110 { margin-left: 110px !important; }
.u-ml120 { margin-left: 120px !important; }
.u-ml130 { margin-left: 130px !important; }
.u-ml140 { margin-left: 140px !important; }
.u-ml150 { margin-left: 150px !important; }

.u-mt0rem { margin-top: 0 !important; }
.u-mt05rem { margin-top: 0.5rem !important; }
.u-mt1rem { margin-top: 1rem !important; }
.u-mt15rem { margin-top: 1.5rem !important; }
.u-mt2rem { margin-top: 2rem !important; }
.u-mt25rem { margin-top: 2.5rem !important; }
.u-mt3rem { margin-top: 3rem !important; }
.u-mt35rem { margin-top: 3.5rem !important; }
.u-mt4rem { margin-top: 4rem !important; }
.u-mt45rem { margin-top: 4.5rem !important; }
.u-mt5rem { margin-top: 5rem !important; }
.u-mt55rem { margin-top: 5.5rem !important; }

.u-mr0rem { margin-right: 0 !important; }
.u-mr05rem { margin-right: 0.5rem !important; }
.u-mr1rem { margin-right: 1rem !important; }
.u-mr15rem { margin-right: 1.5rem !important; }
.u-mr2rem { margin-right: 2rem !important; }
.u-mr25rem { margin-right: 2.5rem !important; }
.u-mr3rem { margin-right: 3rem !important; }
.u-mr35rem { margin-right: 3.5rem !important; }
.u-mr4rem { margin-right: 4rem !important; }
.u-mr45rem { margin-right: 4.5rem !important; }
.u-mr5rem { margin-right: 5rem !important; }
.u-mr55rem { margin-right: 5.5rem !important; }

.u-mb0rem { margin-bottom: 0 !important; }
.u-mb05rem { margin-bottom: 0.5rem !important; }
.u-mb1rem { margin-bottom: 1rem !important; }
.u-mb15rem { margin-bottom: 1.5rem !important; }
.u-mb2rem { margin-bottom: 2rem !important; }
.u-mb25rem { margin-bottom: 2.5rem !important; }
.u-mb3rem { margin-bottom: 3rem !important; }
.u-mb35rem { margin-bottom: 3.5rem !important; }
.u-mb4rem { margin-bottom: 4rem !important; }
.u-mb45rem { margin-bottom: 4.5rem !important; }
.u-mb5rem { margin-bottom: 5rem !important; }
.u-mb55rem { margin-bottom: 5.5rem !important; }

.u-ml0rem { margin-left: 0 !important; }
.u-ml05rem { margin-left: 0.5rem !important; }
.u-ml1rem { margin-left: 1rem !important; }
.u-ml15rem { margin-left: 1.5rem !important; }
.u-ml2rem { margin-left: 2rem !important; }
.u-ml25rem { margin-left: 2.5rem !important; }
.u-ml3rem { margin-left: 3rem !important; }
.u-ml35rem { margin-left: 3.5rem !important; }
.u-ml4rem { margin-left: 4rem !important; }
.u-ml45rem { margin-left: 4.5rem !important; }
.u-ml5rem { margin-left: 5rem !important; }
.u-ml55rem { margin-left: 5.5rem !important; }

.u-font--10px { font-size: 10px !important; }
.u-font--11px { font-size: 11px !important; }
.u-font--12px { font-size: 12px !important; }
.u-font--13px { font-size: 13px !important; }
.u-font--14px { font-size: 14px !important; }
.u-font--15px { font-size: 15px !important; }
.u-font--16px { font-size: 16px !important; }
.u-font--17px { font-size: 17px !important; }
.u-font--18px { font-size: 18px !important; }
.u-font--19px { font-size: 19px !important; }
.u-font--20px { font-size: 20px !important; }
.u-font--21px { font-size: 21px !important; }
.u-font--22px { font-size: 22px !important; }
.u-font--23px { font-size: 23px !important; }
.u-font--24px { font-size: 24px !important; }
.u-font--25px { font-size: 25px !important; }
.u-font--26px { font-size: 26px !important; }
.u-font--27px { font-size: 27px !important; }
.u-font--28px { font-size: 28px !important; }
.u-font--29px { font-size: 29px !important; }
.u-font--30px { font-size: 30px !important; }
.u-font--31px { font-size: 31px !important; }
.u-font--32px { font-size: 32px !important; }
.u-font--33px { font-size: 33px !important; }
.u-font--34px { font-size: 34px !important; }
.u-font--35px { font-size: 35px !important; }
.u-font--36px { font-size: 36px !important; }
.u-font--37px { font-size: 37px !important; }
.u-font--38px { font-size: 38px !important; }
.u-font--39px { font-size: 39px !important; }
.u-font--40px { font-size: 40px !important; }

.u-text-align__center {
  text-align: center !important;
}
.u-text-align__left {
  text-align: left !important;
}
.u-text-align__right {
  text-align: right !important;
}
.u-zoom--80 { zoom: 80%; }

/*===============================================
btn arrow
===============================================*/
.c-btn_arrow {
  position: relative;
}
.c-btn_arrow::after {
  position: absolute;
  top: 50%;
  right: 16px;
  width: 27px;
  height: 8px;
  margin-top: -4px;
  background: url(../img/ico_arrow.svg) no-repeat 0 0/contain;
  content: "";
}
.p-btn__basic {
  max-width: 320px;
  margin: 0 auto;
}

.p-btn__basic--white {}
.p-btn__basic a {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-content: center;
  width: 100%;
  max-width: 320px;
  background: transparent;
  border: 2px solid #333;
  box-shadow: 0px 1px 4px 2px hsla(0,0%,0%,0.2);
  overflow: hidden;
}
.p-btn__basic--white a {
  border: 2px solid #fff;
}
.p-btn__basic a span {
  position: relative;
  display: block;
  width: calc(100% - 70px);
  padding: 1rem;
  color: #333;
  font-size: 1.25rem;
  text-align: center;
  z-index: 10;
}
.p-btn__basic--white a span {
  color: #fff;
}
.p-btn__basic a span::after {
  position: absolute;
  top: 50%;
  right: -54px;
  width: 70px;
  height: 20px;
  margin-top: -10px;
  background: url(../img/ico_arrow.svg) no-repeat 0 0/contain;
  content: "";
}
.p-btn__basic--white a span::after {
  background-image: url(../img/ico_arrow_white.svg);
}
@media only screen and (min-width: 769px) {
  .p-btn__basic a {
    width: 320px;
    max-width: inherit;
  }
  .p-btn__basic a::before {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    content: "";
    transition: all 300ms 0s ease;
  }
  .p-btn__basic a:hover::before {
    top: 0;
    left: 0;
    background: #333;
  }
  .p-btn__basic--white a:hover::before {
    background: #fff;
  }
  .p-btn__basic a:hover span {
    color: #fff;
  }
  .p-btn__basic--white a:hover span {
    color: #333;
  }
  .p-btn__basic a:hover span::after {
    background-image: url(../img/ico_arrow_white.svg) ;
  }
  .p-btn__basic--white a:hover span::after {
    background-image: url(../img/ico_arrow.svg) ;
  }
  /* IE11 */
  _:lang(x)::-ms-backdrop,
  .p-btn__basic a span {
    padding-top: 1.3rem;
    padding-bottom: 0.7rem;
  }
  /* 各チーム・ポジションの役割   /recruit/position/   */
  .p-list__link-position .p-btn__basic,
  .p-list__link-position .p-btn__basic a{
    width: 400px;
    max-width: 400px;
  }


}/* 769 */

.p-btn__red {}
.p-btn__red a {
  position: relative;
  display: flex;
  justify-content: center;
  align-content: center;
  width: 100%;
  max-width: 320px;
  background: #cf000e;
  border: 2px solid #cf000e;
  box-shadow: 0px 1px 4px 2px hsla(0,0%,0%,0.2);
  overflow: hidden;
}
.p-btn__red a span {
  display: block;
  padding: 1rem;
  color: #fff;
  font-size: 1.25rem;
  z-index: 10;
}
@media only screen and (min-width: 769px) {
  .p-btn__red a::before {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    content: "";
    transition: all 300ms 0s ease;
  }
  .p-btn__red a:hover::before {
    top: 0;
    left: 0;
    background: #fff;
  }
  .p-btn__red a:hover span {
    color: #cf000e;
  }
  /* IE11 */
  _:lang(x)::-ms-backdrop,
  .p-btn__red a span {
    padding-top: 1.3rem;
    padding-bottom: 0.7rem;
  }
}/* 769 */

/*===============================================
※印 注釈　● ■のリスト
===============================================*/
.u-list__txt-indent-1rem {}
.u-list__txt-indent-1rem li {
  margin: 0 0 .5rem 0;
  padding: 0 0 0 1rem;
  text-indent: -1rem;
  line-height: 1.4;
}
.u-list__txt-indent-1rem li:last-child {
  margin-bottom: 0;
}
.u-list__notice {}
.u-list__notice li {
  margin: 0 0 .5rem 0;
  padding: 0 0 0 .8rem;
  text-indent: -0.8rem;
  font-size: .8rem;
  line-height: 1.3;
}
.u-list__notice li:last-child {
  margin-bottom: 0;
}
/*===============================================
list
===============================================*/
.u-list__none {
  padding: 0 0 0 1.4rem;
}
.u-list__none li {
  margin: 0 0 .5rem 0;
  line-height: 1.4;
  list-style: outside;
}
.u-list__none li:last-child {
  margin-bottom: 0;
  line-height: 1.4;
}
.u-list__disc {
  padding: 0 0 0 1.4rem;
}
.u-list__disc li {
  margin: 0 0 .75rem 0;
  line-height: 1.5;
  list-style: disc outside;
}
.u-list__disc li:last-child {
  margin-bottom: 0;
}
.u-list__ordered {
  padding: 0 0 0 1.5rem;
}
.u-list__ordered li {
  margin: 0 0 .75rem 0;
  line-height: 1.5;
  list-style: decimal outside;
}
.u-list__ordered li:last-child {
  margin-bottom: 0;
}
.c-list__square {}
.c-list__square li {
  position: relative;
  display: inline-block;
  margin: 0 0 .5rem 0;
  padding: 0 1.2rem;
  line-height: 1.5;
}
.c-list__square li:last-child {
  margin-bottom: 0;
}
.c-list__square li::before {
  position: absolute;
  top: 5px;
  left: 0;
  width: 14px;
  height: 14px;
  background: #cf000e;
  content: "";
}
/* IE11 にのみ適用される */
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop,
  .c-list__square li::before {
    top: 2px;
  }
}

/*===============================================
05.body/wrapper
===============================================*/
body{
  color: #333;
  font-size: 100%;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ" , "ＭＳ Ｐゴシック" , "MS PGothic", sans-serif;
  -webkit-text-size-adjust: 100%;
  font-weight: 600;
  line-height: 1.75;
  word-wrap : break-word;
  overflow-wrap : break-word;
}
.l-wrapper {
  width: 100%;
  margin: 0 auto;
  padding: 60px 0 0 0;
  overflow: hidden;
}
@media only screen and (min-width: 769px) {
  .l-wrapper {
    width: 100%;
    padding-top: 72px;
  }
}/*769*/

/*===============================================
06.header
===============================================*/
header.l-header {
  position: fixed;
  top: 0;
  width: 100%;
  background: #fff;
  z-index: 300;
}
/* ロゴ */
.c-header__logo {
  position: relative;
  height: 60px;
  padding: 15px 0 10px 15px;
  background: #fff;
  z-index: 9999;
  box-shadow: 0 2px 4px -1px rgba(0,0,0,0.15);
}
/* ロゴ上のテキスト */
.c-header__logo-txt {
  font-size: 0.8rem;
  font-weight: normal;
}
.c-header__logo-img {}
.c-header__logo-img a {
  display: block;
  text-decoration: none;
}

.c-header__logo-img a img {
  display: block;
  height: 30px;
}
.c-header__ttl {
  display: block;
  font-size: 18px;
  font-weight: bold;
  color: #1596c8;
  line-height: 1;
}
.c-header__ttl-txt {
  display: flex;
  align-items: center;
  background: #3cadd9;
  border-top: 2px solid #308aaf;
  position: absolute;
  top: 100%;
  width: 100vw;
  height: 20px;
  padding: 0 10px;
  left: 0;
  font-size: 2.7vw;
  color: #FFF;
  letter-spacing: -0.5px;
}
@media screen and (min-width:415px) {
  .c-header__ttl-txt {
    font-size: .75rem;
  }
}
@media only screen and (min-width: 769px) {
  header.l-header {
    padding: 0 1rem;
    border-bottom: 2px solid #cf000e;
    box-shadow: 0 4px 5px -1px rgba(0,0,0,0.15);
  }
  .l-header__inner {
    position: relative;
    width: 1000px;
    height: 72px;
    margin: 0 auto;
  }
  /* ロゴ */
  .c-header__logo {
    display: inline-block;
    padding: 18px 0 16px 0;
    height: auto;
    box-shadow: none;
  }
  .c-header__logo-img {}
  .c-header__logo-img a {}
  .c-header__logo-img a img {
    height: 38px;
  }

  .c-header__ttl {
    font-size: 1.4rem;
    margin-top: 10px;
  }
  .c-header__ttl-txt{
    display: block;
    font-size: 13px;
    line-height: 1.3;
    background: none;
    border-top: none;
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    color: #333;
    margin-top: 5px;
  }
}/*769*/





/*===============================================
10.page top(footer)
===============================================*/
a#btnPageTop {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  background: #383838;
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid #fff;
}
a#btnPageTop span::before {
  position: absolute;
  top: 46%;
  left: 63%;
  height: 10px;
  width: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(315deg);
  transform: rotate(315deg);
  content: "";
}
@media only screen and (min-width: 415px) {
  a#btnPageTop span::before {
    left: 58%;
  }
}/*415*/
@media only screen and (min-width: 769px) {
  a#btnPageTop span::before {
    left: 55%;
  }
  #floating.fade-out {display: none;}
}/*769*/



/*===============================================
12.accordion 共通汎用CSS
===============================================*/
.c-accordion {
  position: relative;
}
.c-accordion__label {}
.c-accordion__input-checkbox { display: none; }
#gnavLinks01Receive.c-accordion--open-close,
.c-accordion--open-close{
  height: 0;
  overflow-y: hidden;
  transition: all 0.5s;
}

#gnavLinks01:checked ~ #gnavLinks01Receive.c-accordion--open-close {
  height: auto;
  opacity: 1;
}
#gnavLinks02:checked ~ #gnavLinks02Receive.c-accordion--open-close {
  height: auto;
  opacity: 1;
}

/* ＋－アイコン */
.p-accordion__toggle-position {
  position: absolute;
  top: 16px;
  right: 16px;
}
.c-btn__plus-minus {
  position: relative;
  display: block;
  width: 28px;
  height: 28px;
  border: 2px solid #fff;
  border-radius: 50%;
  cursor: pointer;
}
.c-btn__plus-minus::before {
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 8px);
  width: 16px;
  height: 2px;
  background: #fff;
  content: "";
  transition: .3s ease-in-out;
}
.c-btn__plus-minus::after {
  position: absolute;
  top: calc(50% - 8px);
  left: calc(50% - 1px);
  width: 2px;
  height: 16px;
  background: #fff;
  content: "";
  transition: .3s ease-in-out;
}
@media only screen and (min-width: 769px) {
  .c-btn__plus-minus {display: none;}
}

/*事務所概要*/
#toggleOffice:checked ~ #toggleOfficeReceive.c-accordion--open-close {
  height: auto;
  opacity: 1;
  overflow-y: visible;
  transition: all 1s;
}
@media only screen and (min-width: 769px) {
  #toggleOfficeReceive.c-accordion--open-close {
    height: auto;
  }
}/*769*/

/*===============================================
11.footer
===============================================*/
footer.c-footer {
  margin: 0;
  padding: 0;
  color: #777;
  clear: both;
}
.c-footer__wrap {}
.c-footer__inner {
  background: #222;
}
footer > ul {
  display: flex;
  flex-wrap: wrap;
}

.c-footer .c-gnav__first {
  margin-right: 0;
}
.p-footer__to-home {}
.p-footer__to-home a {
  position: relative;
  display: block;
  padding: 16px 0;
  background: #222222;
  color: #fff;
  text-decoration: none;
  text-align: center;
}
.p-footer__to-home a img {
  height: 45px;
}
.c-foot-nav__first li {}
.c-foot-nav__first span.c-foot-nav__first-txt {
  color: #fff;
  line-height: 1.3;
  font-weight: bold;
}
.c-foot-nav__first li {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  border-top: 1px solid #555;
  color: #fff;
  border-right: none;
}
.c-foot-nav__first li:last-child {
  border-bottom: 1px solid #555;
}

/* テーマ */
#footNavLinksCompany:checked ~ #footNavLinksCompanyReceive.c-accordion--open-close,
#footNavLinksEnvironment:checked ~ #footNavLinksEnvironmentReceive.c-accordion--open-close,
#footNavLinksCareers:checked ~ #footNavLinksCareersReceive.c-accordion--open-close,
#footNavLinksBosyu:checked ~ #footNavLinksBosyuReceive.c-accordion--open-close,
#footNavLinksJob:checked ~ #footNavLinksJobReceive.c-accordion--open-close{
  height: auto;
  opacity: 1;
  overflow-y: visible;
  transition: all 1s;
}
#footNavLinksCompany:checked ~ .c-accordion__label .c-btn__plus-minus::before,
#footNavLinksEnvironment:checked ~ .c-accordion__label .c-btn__plus-minus::before,
#footNavLinksCareers:checked ~ .c-accordion__label .c-btn__plus-minus::before,
#footNavLinksBosyu:checked ~ .c-accordion__label .c-btn__plus-minus::before,
#footNavLinksJob:checked ~ .c-accordion__label .c-btn__plus-minus::before{
  opacity: 0;
  transform: rotate(90deg);
  transition: .3s ease-in-out;
}
#footNavLinksCompany:checked ~ .c-accordion__label .c-btn__plus-minus::after,
#footNavLinksEnvironment:checked ~ .c-accordion__label .c-btn__plus-minus::after,
#footNavLinksCareers:checked ~ .c-accordion__label .c-btn__plus-minus::after,
#footNavLinksBosyu:checked ~ .c-accordion__label .c-btn__plus-minus::after,
#footNavLinksJob:checked ~ .c-accordion__label .c-btn__plus-minus::after{
  transform: rotate(90deg);
  transition: .3s ease-in-out;
}

.c-foot-nav__second {
  background: #313131;
}
.c-foot-nav__second li:last-child {
  border-bottom: 0;
}

.c-foot-nav__first li a,
.c-foot-nav__second li a,
.c-foot-nav__third li a,
.c-foot-nav__first--nolink {
  position: relative;
  display: block;
  width: 100%;
  padding: 20px 8px 20px 12px;
  /*background: #222;*/
  border-right: 1px solid #555;
  text-decoration: none;
}
.p-list__bosyu span.p-ttl__nolink {
  display: inline-block;
  padding: 20px 8px 20px 12px;
}
.c-foot-nav__third li a {
  background: #313131;
}
.c-foot-nav__first li a::after,
.c-foot-nav__second li a::after{
  position: absolute;
  top: 50%;
  right: 16px;
  width: 27px;
  height: 8px;
  margin-top: -4px;
  background: url(../img/ico_arrow_white.svg) no-repeat 0 0/contain;
  content: "";
}
.c-foot-nav__third li a {
  padding: 20px 8px 20px 12px;
}
.c-foot-nav__second li span,
.c-foot-nav__third li span{
  padding-left: 12px;
  font-size: 15px;
  color: #fff;
  font-weight: bold;
}
.c-foot-nav__third li span{
  padding-left: 24px;
  font-weight: normal;
}
.c-foot-nav__first li a.c-btn__toggle,
.c-foot-nav__second li a.c-btn__toggle{
  width: calc(100% - 60px);
}

.c-foot-nav__second li.p-foot-nav__privacy a,
.c-foot-nav__second li.p-foot-nav__inquiry a {
  padding-right: 0;
}
.c-foot-nav__second li.p-foot-nav__privacy span,
.c-foot-nav__second li.p-foot-nav__inquiry span {
  display: inline;
  letter-spacing: -1px;
}
@media only screen and (min-width: 415px) {
  .c-foot-nav__second li span {
    font-size: 14px;
  }
}/*415*/
.p-foot-nav__privacy,
.p-foot-nav__inquiry {
  letter-spacing: -2px;
}
@media only screen and (min-width: 769px){
  .c-footer__wrap {
    padding: 24px 0 12px;
    min-height: 280px;
    background: #222;
  }
  .c-footer__wrap a:hover {
    color: #FFF;
    text-decoration: underline;
  }
  .c-footer__wrap .c-accordion--open-close {
    height: auto;
  }
  .p-footer__to-home {
    position: relative;
    border-bottom: 1px solid #555;
  }
  .p-footer__to-home-in {
    width: 1000px;
    margin: 0 auto;
    padding: 0 0 24px 0;
  }
  .p-footer__to-home a {
    padding: 0;
    background: transparent;
    text-align: left;
  }
  .c-footer__inner {
    position: relative;
    width: 1000px;
    margin: 0 auto;
    padding: 38px 0 0 0;
  }
  .c-foot-nav__first {
    position: relative;
  }
  .c-foot-nav__first li {
    width: auto;
    background: transparent;
    border-top: none;
    line-height: 2;
  }
  .c-foot-nav__first li a,
  .c-foot-nav__first--nolink {
    padding: 0;
    background: transparent;
  }
  .c-foot-nav__first span.c-foot-nav__first-txt {
    color: #fff;
  }


  .c-foot-nav__second li.p-foot-nav__privacy span {
    display: inline;
    letter-spacing: 0px;
  }

  .c-footer .p-cat__company,
  .c-footer .p-cat__environment,
  .c-footer .p-cat__careers {
    position: relative;
    width: 200px;
  }
  .c-foot-nav__first li.p-cat__environment {
    position: absolute;
    top: 0;
    left: 300px;
  }
  .c-foot-nav__first li.p-cat__careers {
    position: absolute;
    top: 0;
    left: 600px;
    width: 420px;
  }
  .c-foot-nav__first li a,
  .c-foot-nav__second li a,
  .c-foot-nav__third li a,
  .c-foot-nav__first--nolink {
    display: inline-block;
    width: auto;
    padding: 0;
    border-right: none;
  }
  .c-foot-nav__first li a::after,
  .c-foot-nav__second li a::after {
    display: none;
  }
  .c-foot-nav__first li a.c-btn__toggle,
  .c-foot-nav__second li a.c-btn__toggle {
    width: 100%;
    padding: 0 0 8px 0;
    border-bottom: 1px solid #999;
  }
  .c-foot-nav__first li:last-child {
    border-bottom: none;
  }
  .c-foot-nav__first li.p-list__bosyu {
    position: absolute;
    top: 0;
    left: 0;
  }
  .c-foot-nav__first li.p-list__flow {
    position: absolute;
    top: 0;
    left: 220px;
  }
  .c-foot-nav__first li.p-list__role {
    position: absolute;
    top: 40px;
    left: 220px;
  }
  .c-foot-nav__first li.p-list__jobcontent {
    position: absolute;
    top: 34px;
    left: 220px;
  }
  .c-foot-nav__first li.p-list__exsample {
    position: absolute;
    top: 244px;
    left: 220px;
  }
  .c-foot-nav__second {
    position: relative;
    height: 280px;
    margin: 16px 0 0 0;
    background: none;
  }
  .c-foot-nav__second li span {
    padding: 4px 0;
    color: #fff;
    font-size: 13px;
    line-height: 2.4;
  }
  .c-foot-nav__second span::before {
    display: none;
  }
  .c-foot-nav__second li.p-list__bosyu a.c-btn__toggle,
  .c-foot-nav__second li.p-list__jobcontent a.c-btn__toggle{
    border-bottom: 0;
  }
  .c-foot-nav__third {
    margin: 0 0 0 1rem;
  }

}/*769*/

/*====================================================================================
office 事務所案内
====================================================================================*/
.p-accordion__office .c-accordion__label {
  display: block;
  position: absolute;
  width: inherit;
  min-height: inherit;
  margin: 0;
  padding: 0;
  background: inherit;
  color: transparent;
  cursor: pointer;
}

/*====================================================================================
footer_office_links 全国の事務所一覧
====================================================================================*/
.c-footerlinks__office .c-accordion__label,
.c-footerlinks__individual .c-accordion__label,
.c-footerlinks__corporate .c-accordion__label,
.c-footerlinks__group .c-accordion__label {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  min-height: 48px;
  margin: 0 0 2px 0;
  padding: 0 1rem;
  background: #3cadd9;
  color: #fff;
  cursor: pointer;
}
.c-footerlinks__office .c-accordion__label::after,
.c-footerlinks__individual .c-accordion__label::after,
.c-footerlinks__corporate .c-accordion__label::after,
.c-footerlinks__group .c-accordion__label::after {
  position: absolute;
  top: calc(50% - 7px);
  right: 16px;
  width: 16px;
  height: 16px;
  background: url(/common_api/img/ico_plus_white.svg) center center;
  background-size: contain;
  vertical-align: middle;
  line-height: 0;
  color: #9a8550;
  content: "";
}
.c-accordion__label .label-txt {
  line-height: 1.1;
  width: calc(100% - 46px);
  height: 100%;
}
.c-accordion__checkbox {
  display: none;
}
.c-accordion .c-accordion--openclose .c-accordion--openclose__inner {
  height: 0;
  overflow-y: hidden;
  transition: all 0.5s;
}

/* SP時 フッターアコーディオン
----------------------------------------*/
#toggleLinksFooterOffice:checked ~ #openClose .c-accordion--openclose__inner,
#toggleLinksFooterIndividual:checked ~ #openClose .c-accordion--openclose__inner,
#toggleLinksFooterCorporate:checked ~ #openClose .c-accordion--openclose__inner,
#toggleLinksFooterGroup:checked ~ #openClose .c-accordion--openclose__inner{
  height: auto;
  opacity: 1;
}
#toggleLinksFooterOffice:checked ~ #openClose .c-accordion--openclose__inner,
#toggleLinksFooterIndividual:checked ~ #openClose .c-accordion--openclose__inner,
#toggleLinksFooterCorporate:checked ~ #openClose .c-accordion--openclose__inner,
#toggleLinksFooterGroup:checked ~ #openClose .c-accordion--openclose__inner {
  height: auto;
  opacity: 1;
}
#toggleLinksFooterOffice:checked ~ .c-accordion__label::after,
#toggleLinksFooterIndividual:checked ~ .c-accordion__label::after,
#toggleLinksFooterCorporate:checked ~ .c-accordion__label::after,
#toggleLinksFooterGroup:checked ~ .c-accordion__label::after {
  background: url(/common_api/img/ico_minus_white.svg) center center;
  background-size: contain;
}

.c-footerlinks {
  width: 100%;
  margin: 0;
  padding: 1rem;
}
.c-footerlinks h4 {
  color: #1596c8;
  margin-bottom: 0.5rem;
}
.c-footerlinks__list li {
  float: left;
  padding: 0 1rem .5rem 0;
  font-size: .88rem;
  line-height: 1;
}
.c-footerlinks__list li a {
  color: #333;
  text-decoration: none;
  line-height: 1.5;
}
.c-footerlinks__list li a.u-link--blank::after {
  position: relative;
  left: 6px;
  padding-right: .6rem;
  margin-right: .6rem;
  background: url(/common_api/img/ico_blank.svg) no-repeat right 0px bottom 2px;
  background-size: 9px 8px;
  content: "";
}
/* 旧設定の打ち消し */
a.link-blank::after {
  background-image: none;
}
/* バナー一覧 */
.c-footerlinks__bnr {
  width: 100%;
  margin: 2rem auto 0 auto;
}
.c-footerlinks-bnr__list {
  margin: 0 0 2rem 0;
}
.c-footerlinks-bnr__list li {
  width: 100%;
  max-width: 300px;
  margin: 1rem auto 0 auto;
}
.c-footerlinks-bnr__list li a {
  display: inline-block;
  height: 56px;
  border: 1px solid #ccc;
}
.c-footerlinks-bnr__list li a img {
  height: 100%;
}

/*==================================================================================
==================================================================================*/
@media only screen and (min-width: 769px){
  footer .c-accordion,
  .c-footerlinks__bnr {
    margin-left: auto;
    margin-right: auto;
    width: 1000px;
  }
  .c-accordion.c-footerlinks__office {
    margin-top: 30px;
  }
  .c-accordion__label {
    display: none!important;
  }
  .c-accordion .c-accordion--openclose .c-accordion--openclose__inner {
    height: auto;
    overflow-y: hidden;
    transition: unset;
  }
  .c-footerlinks {
    padding: 0 0 1rem 0;
  }
  .c-footerlinks h4.u-only__pc {
    margin-bottom: .5rem;
  }
  .c-footerlinks h4.u-only__pc span {
    font-weight: bold;
  }
  .c-footerlinks__list li a:hover {
    text-decoration: underline;
  }
  /* バナー */
  .c-footerlinks-bnr__list li {
    float: left;
    margin: 0 1rem 0 0;
  }
}/*769*/

/*==================================================================================
==================================================================================*/
/*ロゴ・住所・コピーライトエリア*/
.p-area__copyright {
  margin: 20px 0 0 0;
}
.p-list__privacy--rule {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-list__privacy--rule li {}
.p-list__privacy--rule li a {
  display: block;
  padding: 0 .5rem;
}
.p-list__privacy--rule li a span {
  font-size: 12px;
  color: #fff;
}
.p-list__privacy--txt {}
.p-list__rule--txt {}
.p-copyright {
  padding: 12px 0 8px 0;
  font-size: 12px;
  color:#fff;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  #areaFooter {
    background: #eaeaea;
  }
  #areaFooter .c-copyright {
    padding-bottom: 80px;
  }
  .p-area__copyright {}
  .p-list__privacy--rule {
    justify-content: inherit;
    float: left;
  }
  .p-list__privacy--txt {}
  .p-list__rule--txt {}
  .p-copyright {
    float:right;
    padding: 0;
    text-align: right;
  }

}/*769*/

/*========================================================
15.floating
=========================================================*/
#floating {
  display: none;
  position: fixed;
  bottom: 0;
  width: 100%;
  height: auto;
  box-shadow: 0px -2px 4px hsla(0, 0%, 20%, 0.3);
  background: hsla(15,23%,17%,0.9);
  z-index: 2000;
}
.p-floating__sp {}
#floating.fade-in {
  display: block;
}
#floating .p-cva__header {
  justify-content: center;
  padding-top: 10px;
  padding-bottom: 0;
}
@media only screen and (min-width: 769px) {
  #floating {
    height: 80px;
  }
  .p-floating__sp {
    display: none;
  }
  .p-floating__pc {
    position: relative;
    display: block;
    width: 1000px;
    margin: 0 auto;
  }
  .p-floating__pc-fee {
    position: absolute;
    top: -10px;
    left: 0;
  }
  .p-floating__pc-tel {
    position: absolute;
    top: 15px;
    left: 200px;
  }
  #floating .p-btn__mail-chat {
    position: absolute;
    top: 12px;
    right: 0;
    display: flex;
    width: 100%;
    max-width: 538px;
    margin: 0;
  }
}/*769*/

/*===============================================
16.page top (floating)
===============================================*/
#scrollPageTop {
  position: fixed;
  z-index: 2000;
  bottom: 90px;
  right: 0;
  visibility: hidden;
  text-decoration: none;
  opacity: 0;
  transition: opacity 0.2s, visibility 0.2s;
}
#scrollPageTop a {
  display: block;
  width: 60px;
  height: 60px;
  opacity: 0.9;
  background: hsla(0,0%,20%,0.75);
}
#scrollPageTop span {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
#scrollPageTop span::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -4px 0 0 -9px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(-45deg);
  content: "";
}
#scrollPageTop.is-show {
  visibility: visible;
  opacity: 1;
}
#scrollPageTop.is-hide {
  visibility: hidden;
  opacity: 0;
}
@media only screen and (min-width:769px) {
  #scrollPageTop {
    bottom: 100px;
  }
}/*769*/

/*===============================================
17.contents
===============================================*/
.l-contents__main {}
.p-bg__gray .c-hero,
.p-bg__gray .l-contents__main {
  background: #f1f1f1;
}
.c-contents__wrap {}
.c-contents__main {}
.c-section {
  width: 100%;
  padding: 1.5rem 0 2rem 0;
}
.c-section__inner {
  padding: 1rem;
}
.p-ttl__h3 + .c-section__inner {
  padding-top: 0;
}
@media only screen and (min-width:769px) {
  .c-section {
    padding: 90px 0;
  }
  .c-section__inner {
    width: 1000px;
    margin: 0 auto;
    padding: 0 50px;
  }
}/*769*/

/*===============================================
18.breadcrunmb
===============================================*/
.c-breadcrunmb__wrap {
  display: none;
  clear: both;
  width: 100%;
  padding: 0;
}
.c-breadcrunmb {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: .4rem 10px;
  line-height: 1.3;
}
.c-breadcrunmb li {
  display: inline-block;
  margin: 0 .5rem 0 0;
  font-size: .75rem;
}
.c-breadcrunmb li::after {
  position: relative;
  top: -1px;
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0;
  padding: 0;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  transform: rotate(45deg);
  content: "";
}
.c-breadcrunmb li:last-child::after {
  padding: 0;
  content: none;
}
.c-breadcrunmb li a {
  margin: 0 .3rem 0 0;
  text-decoration: none;
}
.c-breadcrunmb li a span {
  color: #3a39bb;
}
.c-breadcrunmb li span {
  color: #333;
}
.c-breadcrunmb li span br {
  display: none;
}
@media only screen and (min-width: 769px) {
  .c-breadcrunmb__wrap {
    display: block;
  }
  .c-breadcrunmb {
    padding: 1rem 0;
  }
}/*769*/

/*===============================================
19.title
===============================================*/
.c-hero {
  padding: 2rem 0 0 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

@media only screen and (min-width: 769px) {
  .c-hero {}
  .c-hero.p-layer__second {
    padding: 110px 0 14px;
  }
  .c-hero.p-layer__third {
    padding: 90px 0 0;
  }
}/*769*/
.p-ttl__h1 {
  position: relative;
  width: 1000px;
  margin: 0 auto;
  padding: 0 1rem;
  font-size: 1.5rem;
  z-index: 50;
}
.p-ttl__h1 span {
  position: relative;
  display: block;
  padding: 0 0 30px 0;
  font-weight: bold;
  line-height: 1.2;
}
.p-ttl__h1 span::after {
  position: absolute;
  top: 16px;
  left: 16px;
  width: 100%;
  height: 36px;
  /*background-image: url(../img/img_h1_eng_txt.png);*/
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  content: "";
}
.p-ttl__h2 {
  margin: 0 0 1rem 0;
  padding: 0 0 .35rem 0;
  line-height: 1.3;
  border-bottom: 3px solid #c1c1c1;
}
.p-ttl__h2::after {
  position: relative;
  bottom: calc(-3px + -0.35rem);
  left: 0;
  display: block;
  width: 100px;
  height: 3px;
  background: #cf000e;
  content: "";
}
.p-ttl__h2 span {
  display: block;
  padding: 0;
  font-size: 1.25rem;
  font-weight: bold;
  color: #333;
  line-height: 1.3;
}

@media only screen and (min-width: 414px) {
  .p-ttl__h1 {
    font-size: 5vw;
  }
  .p-ttl__h1 span::after {
    top: 3vw;
    left: 3vw;
    height: 8vw;
  }
}/*414*/


@media only screen and (min-width: 769px) {
  .p-ttl__h1 {
    margin-bottom: 4rem;
    padding-right: 0;
    padding-left: 0;
    font-size: 1.5rem;
  }
  .p-ttl__h1 span {
    padding-bottom: 50px;
    font-size: 2.5rem;
    font-weight: bold;
  }
  .p-ttl__h1 span::after {
    top: 24px;
    left: 24px;
    height: 96px;
  }
  .p-ttl__h2 {}
  .p-ttl__h2::after {}
  .p-ttl__h2 span {}

}/*769*/

.p-ttl__h3 {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  line-height: 1.3;
}

.p-ttl__h3 span {
  display: block;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.3;
}

.p-ttl__h4 {}
.p-ttl__h4 span {
  font-weight: bold;
  line-height: 1.3;
}

.p-ttl__h5 {}
.p-ttl__h5 span {}
.p-ttl__h6 {}
.p-ttl__h6 span {}

.p-ttl__h7 {}
.p-ttl__h7 span {}

/*===============================================
20.link
===============================================*/
a {
  margin:0;
  padding:0;
  background:transparent;
  font-size:100%;
  color: #0d74cf;
  text-decoration: none;
  text-align: left;
  line-height: 1;
  vertical-align:baseline;
}
a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 769px) {
  a.c-link__txt:hover {
    text-decoration: underline;
    cursor: pointer;
  }
}/* 769 */
a:visited {}
a:active {}

a.p-link {
  display: inline;
  padding: 0;
  color: #1d1eb6;
  border-bottom: 0px solid #1d1eb6;
  line-height: 1.4;
  text-decoration: none;
}
/* 外部アイコン */
a.u-link__blank {}
a.u-link__blank::after,
a.u-link__blank--white::after,
a.link-blank::after {
  position: relative;
  top: 4px;
  right: 0;
  width: 9px;
  height: 8px;
  padding: 0 6px;
  background: url(/common/img/ico_blank.svg) no-repeat 0 0;
  background-size: auto;
  content: "";
}
a.u-link__blank--white::after {
  background-image: url(/common/img/ico_blank_white.svg);
}
a.u-link__blank:hover,
a.link-blank:hover {
  text-decoration: none;
  cursor: pointer;
}
/*アンカーリンク*/
.c-anchor-link {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 60px;
  padding: 0;
  border-bottom: 1px solid #d6d6d6;
}
.c-anchor-link li {
  display: flex;
  align-items: stretch;
  border-top: 1px solid #d6d6d6;
}
.c-anchor-link a {
  width: 100%;
  text-decoration: none;
  color: #333;
}
.c-anchor-link a span {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 70px;
  padding: 1rem 2.5rem 1rem 1rem;
  line-height: 1.5;
  text-decoration: none;
}
.c-anchor-link a span::before {
  position: absolute;
  top: 50%;
  right: 1rem;
  margin-top: -4px;
  width: 7px;
  height: 7px;
  border-right: 2px solid #3aadd9;
  border-bottom: 2px solid #3aadd9;
  transform: rotate( 45deg );
  content: "";
}
.c-anchor-link-01 li {
  width: 100%;
}
.c-anchor-link-02 li {
  width: 100%;
}
/* 文字2行高さ固定 */
.two-row li a span {
  height: 4rem;
}
/*フッターリンク*/
.sec-cmn-footer {
  margin-top: 80px;
}
.ttl-list-cmn-footer {
  display: block;
  position: relative;
  padding: 1rem;
  background: #383838;
  color: #fff;
  font-family: "Yu Mincho", "YuMincho", "serif", "ＭＳ Ｐ明朝", "MS PMincho", "HG明朝B", "HGMinchoB" ;
  font-size: 1.25rem;
  text-decoration: none;
}
a.p-link__headcircle,
.p-link__headcircle {
  margin-left: 24px;
  position: relative;
  line-height: 1.4;
}
a.p-link__headcircle::before,
.p-link__headcircle::before{
  position: absolute;
  display: block;
  top: 0;
  left: -24px;
  width: 19px;
  height: 19px;
  background: url(/common/img/ico_arrow_circle.png) no-repeat 0 0;
  background-size: contain;
  content: "";
}
@media only screen and (min-width: 769px) {
  .c-anchor-link-02 li {
    position: relative;
    width: 50%;
  }
  .c-anchor-link-02 li:nth-child(odd)::after {
    position: absolute;
    top: 16px;
    right: 0;
    width: 1px;
    height: calc(100% - 16px - 16px);
    margin-top: 0;
    border-right: 1px solid #d6d6d6;
    content: "";
  }
  a.p-link:hover {
    border-bottom: 1px solid #1d1eb6;
  }
  a.p-link__headcircle:hover {
    border-bottom: 1px solid #1d1eb6;
  }
}/*769*/

/*===============================================
21.マーカー
===============================================*/
.u-marker {
  background-image: url(/common/img/bg_marker.png);
}
/* IE11 */
_:lang(x)::-ms-backdrop,
.u-marker {
  background-repeat: repeat-x;
  background-size: 20px;
}
/* アニメーション付きマーカー */
.u-marker__animation {
  background-image: linear-gradient(90deg, transparent 50%, hsla(356,96%,90%,0.50) 50%, hsla(356,96%,90%,0.50));
  background-repeat: repeat-x;
  background-size: 200% 1em;
  background-position: 0 0;
  transition: all 2s ease;
  font-weight: bold;
}
/* IE11 */
_:lang(x)::-ms-backdrop,
.u-marker__animation {
  background-repeat: repeat-x;
  background-size: 200% 80%;
}
.u-marker__animation.active{
  background-position: -100% 0;
}



/*========================================================
28.スマホ時、メニューのスクロールの際、メインコンテンツがスクロールしないように
=========================================================*/
html,body {
  overflow-x: hidden;
  overflow-y : visible;
  height: auto;
}
html.openMenu, body.openMenu {
  overflow: hidden;
  height: 100%;
}
header.openMenu {
  position: fixed !important;
  background: #fff;
  z-index: 9999;
}
body.openMenu #contents {
  position: fixed !important;
}
body.openMenu #floating {
  display: none;
}


/*========================================================
36.スマホ時、ポップアップのスクロールの際、メインコンテンツがスクロールしないように
=========================================================*/
html.popup-open,
body.popup-open {
  overflow:auto;
}
html.popup-open,
body.popup-open,
header.popup-open,
footer.popup-open{
  overflow: hidden;

}
header.popup-open {
  display: none;
}
body.popup-open #contents {
  position: fixed !important;
}
body.popup-open #floating {
  display: none;
}
body.popup-open footer {
  display: none;
}

/*===============================================
ページャー
===============================================*/
.area-pager {
  margin: 0 auto;
  text-align: center;
}
.list-pager {
  display: inline-block;
}
.list-pager li {
  float: left;
  width: 40px;
  height: 40px;
  margin: 0 0 0 0.5rem;
  border: 1px solid #1596c8;
  background: #fff;
}
.list-pager li:first-child {
  margin-left: 0;
}
.list-pager li a,
.list-pager li.is-disable {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #1596c8;
}
.list-pager li.is-disable,
.list-pager li.is-disable:hover {
  float: left;
  width: 40px;
  height: 40px;
  margin: 0 0 0 0.5rem;
  border: 1px solid #ccc;
  background: #eaeaea;
  color: #c6c6c6;
}
.list-pager li:hover {
  background: #fffddd;
}
@media only screen and (min-width: 769px) {
  /* IE11 */
  _:lang(x)::-ms-backdrop,
  .list-pager li a,
  .list-pager li.is-disable {
    padding-top: 5px;
  }
}
/*==============================================================
ページ下のボタン
==============================================================*/
.p-area__link-pagebottom {
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
}

.p-area__link-pagebottom .p-btn__red {
  width: 100%;
  margin-bottom: 2rem;
}
.p-area__link-pagebottom .p-btn__basic {
  width: 100%;
}

@media only screen and (min-width: 769px) {
  .p-area__link-pagebottom {
    display: flex;
    justify-content: space-around;
    align-content: center;
    width: 698px;
    max-width: inherit;
    margin: 0 auto;
  }
  .p-area__link-pagebottom .p-btn__red {
    margin-right: 58px;
    margin-bottom: 0;
  }
  .p-area__link-pagebottom .p-btn__basic {
    /*width: 320px;  iE11で崩れ*/
    max-width: inherit;
  }
}/* 769 */

/*==============================================================
ページ内アンカー　グローバルナビが固定のため、ずれ解消
==============================================================*/
.p-anchor-point {
  position: relative;
  top: -100px;
  width: 0;
  height: 0;
  font-size: 0;
  line-height: 0;
}





