@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

@font-face {
  font-family: 'Helvetica';
  src: url(../fonts/Helvetica-Bold-Font.ttf);
}
@font-face {
  font-family: 'Noto Sans JP';
  src: url(../fonts/static/NotoSansJP-VariableFont_wght.ttf;);
}
/* loadfont 
		'Roboto', sans-serif;
*/
.p0 {
  padding: 0px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pl0 {
  padding-left: 0px !important;
}

.pr0 {
  padding-right: 0px !important;
}

.pv0 {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

.ph0 {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

.m0 {
  margin: 0px !important;
}

.mt0 {
  margin-top: 0px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.ml0 {
  margin-left: 0px !important;
}

.mr0 {
  margin-right: 0px !important;
}

.mv0 {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

.mh0 {
  margin-left: 0px !important;
  margin-right: 0px !important;
}

.p1 {
  padding: 1px !important;
}

.pt1 {
  padding-top: 1px !important;
}

.pb1 {
  padding-bottom: 1px !important;
}

.pl1 {
  padding-left: 1px !important;
}

.pr1 {
  padding-right: 1px !important;
}

.pv1 {
  padding-top: 1px !important;
  padding-bottom: 1px !important;
}

.ph1 {
  padding-left: 1px !important;
  padding-right: 1px !important;
}

.m1 {
  margin: 1px !important;
}

.mt1 {
  margin-top: 1px !important;
}

.mb1 {
  margin-bottom: 1px !important;
}

.ml1 {
  margin-left: 1px !important;
}

.mr1 {
  margin-right: 1px !important;
}

.mv1 {
  margin-top: 1px !important;
  margin-bottom: 1px !important;
}

.mh1 {
  margin-left: 1px !important;
  margin-right: 1px !important;
}

.p2 {
  padding: 2px !important;
}

.pt2 {
  padding-top: 2px !important;
}

.pb2 {
  padding-bottom: 2px !important;
}

.pl2 {
  padding-left: 2px !important;
}

.pr2 {
  padding-right: 2px !important;
}

.pv2 {
  padding-top: 2px !important;
  padding-bottom: 2px !important;
}

.ph2 {
  padding-left: 2px !important;
  padding-right: 2px !important;
}

.m2 {
  margin: 2px !important;
}

.mt2 {
  margin-top: 2px !important;
}

.mb2 {
  margin-bottom: 2px !important;
}

.ml2 {
  margin-left: 2px !important;
}

.mr2 {
  margin-right: 2px !important;
}

.mv2 {
  margin-top: 2px !important;
  margin-bottom: 2px !important;
}

.mh2 {
  margin-left: 2px !important;
  margin-right: 2px !important;
}

.p3 {
  padding: 3px !important;
}

.pt3 {
  padding-top: 3px !important;
}

.pb3 {
  padding-bottom: 3px !important;
}

.pl3 {
  padding-left: 3px !important;
}

.pr3 {
  padding-right: 3px !important;
}

.pv3 {
  padding-top: 3px !important;
  padding-bottom: 3px !important;
}

.ph3 {
  padding-left: 3px !important;
  padding-right: 3px !important;
}

.m3 {
  margin: 3px !important;
}

.mt3 {
  margin-top: 3px !important;
}

.mb3 {
  margin-bottom: 3px !important;
}

.ml3 {
  margin-left: 3px !important;
}

.mr3 {
  margin-right: 3px !important;
}

.mv3 {
  margin-top: 3px !important;
  margin-bottom: 3px !important;
}

.mh3 {
  margin-left: 3px !important;
  margin-right: 3px !important;
}

.p4 {
  padding: 4px !important;
}

.pt4 {
  padding-top: 4px !important;
}

.pb4 {
  padding-bottom: 4px !important;
}

.pl4 {
  padding-left: 4px !important;
}

.pr4 {
  padding-right: 4px !important;
}

.pv4 {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.ph4 {
  padding-left: 4px !important;
  padding-right: 4px !important;
}

.m4 {
  margin: 4px !important;
}

.mt4 {
  margin-top: 4px !important;
}

.mb4 {
  margin-bottom: 4px !important;
}

.ml4 {
  margin-left: 4px !important;
}

.mr4 {
  margin-right: 4px !important;
}

.mv4 {
  margin-top: 4px !important;
  margin-bottom: 4px !important;
}

.mh4 {
  margin-left: 4px !important;
  margin-right: 4px !important;
}

.p5 {
  padding: 5px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pv5 {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.ph5 {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

.m5 {
  margin: 5px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mv5 {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}

.mh5 {
  margin-left: 5px !important;
  margin-right: 5px !important;
}

.p6 {
  padding: 6px !important;
}

.pt6 {
  padding-top: 6px !important;
}

.pb6 {
  padding-bottom: 6px !important;
}

.pl6 {
  padding-left: 6px !important;
}

.pr6 {
  padding-right: 6px !important;
}

.pv6 {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

.ph6 {
  padding-left: 6px !important;
  padding-right: 6px !important;
}

.m6 {
  margin: 6px !important;
}

.mt6 {
  margin-top: 6px !important;
}

.mb6 {
  margin-bottom: 6px !important;
}

.ml6 {
  margin-left: 6px !important;
}

.mr6 {
  margin-right: 6px !important;
}

.mv6 {
  margin-top: 6px !important;
  margin-bottom: 6px !important;
}

.mh6 {
  margin-left: 6px !important;
  margin-right: 6px !important;
}

.p7 {
  padding: 7px !important;
}

.pt7 {
  padding-top: 7px !important;
}

.pb7 {
  padding-bottom: 7px !important;
}

.pl7 {
  padding-left: 7px !important;
}

.pr7 {
  padding-right: 7px !important;
}

.pv7 {
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}

.ph7 {
  padding-left: 7px !important;
  padding-right: 7px !important;
}

.m7 {
  margin: 7px !important;
}

.mt7 {
  margin-top: 7px !important;
}

.mb7 {
  margin-bottom: 7px !important;
}

.ml7 {
  margin-left: 7px !important;
}

.mr7 {
  margin-right: 7px !important;
}

.mv7 {
  margin-top: 7px !important;
  margin-bottom: 7px !important;
}

.mh7 {
  margin-left: 7px !important;
  margin-right: 7px !important;
}

.p8 {
  padding: 8px !important;
}

.pt8 {
  padding-top: 8px !important;
}

.pb8 {
  padding-bottom: 8px !important;
}

.pl8 {
  padding-left: 8px !important;
}

.pr8 {
  padding-right: 8px !important;
}

.pv8 {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.ph8 {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.m8 {
  margin: 8px !important;
}

.mt8 {
  margin-top: 8px !important;
}

.mb8 {
  margin-bottom: 8px !important;
}

.ml8 {
  margin-left: 8px !important;
}

.mr8 {
  margin-right: 8px !important;
}

.mv8 {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

.mh8 {
  margin-left: 8px !important;
  margin-right: 8px !important;
}

.p9 {
  padding: 9px !important;
}

.pt9 {
  padding-top: 9px !important;
}

.pb9 {
  padding-bottom: 9px !important;
}

.pl9 {
  padding-left: 9px !important;
}

.pr9 {
  padding-right: 9px !important;
}

.pv9 {
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}

.ph9 {
  padding-left: 9px !important;
  padding-right: 9px !important;
}

.m9 {
  margin: 9px !important;
}

.mt9 {
  margin-top: 9px !important;
}

.mb9 {
  margin-bottom: 9px !important;
}

.ml9 {
  margin-left: 9px !important;
}

.mr9 {
  margin-right: 9px !important;
}

.mv9 {
  margin-top: 9px !important;
  margin-bottom: 9px !important;
}

.mh9 {
  margin-left: 9px !important;
  margin-right: 9px !important;
}

.p10 {
  padding: 10px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pv10 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.ph10 {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.m10 {
  margin: 10px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mv10 {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.mh10 {
  margin-left: 10px !important;
  margin-right: 10px !important;
}

.mt-10 {
  margin-top: -10px !important;
}

.ml-10 {
  margin-left: -10px !important;
}

.mr-10 {
  margin-right: -10px !important;
}

@media screen and (max-width: 780px) {
  .sp_p10 {
    padding: 10px !important;
  }

  .sp_pt10 {
    padding-top: 10px !important;
  }

  .sp_pb10 {
    padding-bottom: 10px !important;
  }

  .sp_pl10 {
    padding-left: 10px !important;
  }

  .sp_pr10 {
    padding-right: 10px !important;
  }

  .sp_pv10 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .sp_ph10 {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .sp_m10 {
    margin: 10px !important;
  }

  .sp_mt10 {
    margin-top: 10px !important;
  }

  .sp_mb10 {
    margin-bottom: 10px !important;
  }

  .sp_ml10 {
    margin-left: 10px !important;
  }

  .sp_mr10 {
    margin-right: 10px !important;
  }

  .sp_mv10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }

  .sp_mh10 {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  .sp_mt-10 {
    margin-top: -10px !important;
  }

  .sp_ml-10 {
    margin-left: -10px !important;
  }

  .sp_mr-10 {
    margin-right: -10px !important;
  }
}
.p15 {
  padding: 15px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pv15 {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

.ph15 {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

.m15 {
  margin: 15px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mv15 {
  margin-top: 15px !important;
  margin-bottom: 15px !important;
}

.mh15 {
  margin-left: 15px !important;
  margin-right: 15px !important;
}

.mt-15 {
  margin-top: -15px !important;
}

.ml-15 {
  margin-left: -15px !important;
}

.mr-15 {
  margin-right: -15px !important;
}

@media screen and (max-width: 780px) {
  .sp_p15 {
    padding: 15px !important;
  }

  .sp_pt15 {
    padding-top: 15px !important;
  }

  .sp_pb15 {
    padding-bottom: 15px !important;
  }

  .sp_pl15 {
    padding-left: 15px !important;
  }

  .sp_pr15 {
    padding-right: 15px !important;
  }

  .sp_pv15 {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }

  .sp_ph15 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .sp_m15 {
    margin: 15px !important;
  }

  .sp_mt15 {
    margin-top: 15px !important;
  }

  .sp_mb15 {
    margin-bottom: 15px !important;
  }

  .sp_ml15 {
    margin-left: 15px !important;
  }

  .sp_mr15 {
    margin-right: 15px !important;
  }

  .sp_mv15 {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }

  .sp_mh15 {
    margin-left: 15px !important;
    margin-right: 15px !important;
  }

  .sp_mt-15 {
    margin-top: -15px !important;
  }

  .sp_ml-15 {
    margin-left: -15px !important;
  }

  .sp_mr-15 {
    margin-right: -15px !important;
  }
}
.p20 {
  padding: 20px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pv20 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.ph20 {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.m20 {
  margin: 20px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mv20 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

.mh20 {
  margin-left: 20px !important;
  margin-right: 20px !important;
}

.mt-20 {
  margin-top: -20px !important;
}

.ml-20 {
  margin-left: -20px !important;
}

.mr-20 {
  margin-right: -20px !important;
}

@media screen and (max-width: 780px) {
  .sp_p20 {
    padding: 20px !important;
  }

  .sp_pt20 {
    padding-top: 20px !important;
  }

  .sp_pb20 {
    padding-bottom: 20px !important;
  }

  .sp_pl20 {
    padding-left: 20px !important;
  }

  .sp_pr20 {
    padding-right: 20px !important;
  }

  .sp_pv20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  .sp_ph20 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .sp_m20 {
    margin: 20px !important;
  }

  .sp_mt20 {
    margin-top: 20px !important;
  }

  .sp_mb20 {
    margin-bottom: 20px !important;
  }

  .sp_ml20 {
    margin-left: 20px !important;
  }

  .sp_mr20 {
    margin-right: 20px !important;
  }

  .sp_mv20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }

  .sp_mh20 {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }

  .sp_mt-20 {
    margin-top: -20px !important;
  }

  .sp_ml-20 {
    margin-left: -20px !important;
  }

  .sp_mr-20 {
    margin-right: -20px !important;
  }
}
.p25 {
  padding: 25px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pv25 {
  padding-top: 25px !important;
  padding-bottom: 25px !important;
}

.ph25 {
  padding-left: 25px !important;
  padding-right: 25px !important;
}

.m25 {
  margin: 25px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mv25 {
  margin-top: 25px !important;
  margin-bottom: 25px !important;
}

.mh25 {
  margin-left: 25px !important;
  margin-right: 25px !important;
}

.mt-25 {
  margin-top: -25px !important;
}

.ml-25 {
  margin-left: -25px !important;
}

.mr-25 {
  margin-right: -25px !important;
}

@media screen and (max-width: 780px) {
  .sp_p25 {
    padding: 25px !important;
  }

  .sp_pt25 {
    padding-top: 25px !important;
  }

  .sp_pb25 {
    padding-bottom: 25px !important;
  }

  .sp_pl25 {
    padding-left: 25px !important;
  }

  .sp_pr25 {
    padding-right: 25px !important;
  }

  .sp_pv25 {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }

  .sp_ph25 {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }

  .sp_m25 {
    margin: 25px !important;
  }

  .sp_mt25 {
    margin-top: 25px !important;
  }

  .sp_mb25 {
    margin-bottom: 25px !important;
  }

  .sp_ml25 {
    margin-left: 25px !important;
  }

  .sp_mr25 {
    margin-right: 25px !important;
  }

  .sp_mv25 {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }

  .sp_mh25 {
    margin-left: 25px !important;
    margin-right: 25px !important;
  }

  .sp_mt-25 {
    margin-top: -25px !important;
  }

  .sp_ml-25 {
    margin-left: -25px !important;
  }

  .sp_mr-25 {
    margin-right: -25px !important;
  }
}
.p30 {
  padding: 30px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pv30 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.ph30 {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.m30 {
  margin: 30px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mv30 {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

.mh30 {
  margin-left: 30px !important;
  margin-right: 30px !important;
}

.mt-30 {
  margin-top: -30px !important;
}

.ml-30 {
  margin-left: -30px !important;
}

.mr-30 {
  margin-right: -30px !important;
}

@media screen and (max-width: 780px) {
  .sp_p30 {
    padding: 30px !important;
  }

  .sp_pt30 {
    padding-top: 30px !important;
  }

  .sp_pb30 {
    padding-bottom: 30px !important;
  }

  .sp_pl30 {
    padding-left: 30px !important;
  }

  .sp_pr30 {
    padding-right: 30px !important;
  }

  .sp_pv30 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  .sp_ph30 {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  .sp_m30 {
    margin: 30px !important;
  }

  .sp_mt30 {
    margin-top: 30px !important;
  }

  .sp_mb30 {
    margin-bottom: 30px !important;
  }

  .sp_ml30 {
    margin-left: 30px !important;
  }

  .sp_mr30 {
    margin-right: 30px !important;
  }

  .sp_mv30 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }

  .sp_mh30 {
    margin-left: 30px !important;
    margin-right: 30px !important;
  }

  .sp_mt-30 {
    margin-top: -30px !important;
  }

  .sp_ml-30 {
    margin-left: -30px !important;
  }

  .sp_mr-30 {
    margin-right: -30px !important;
  }
}
.p35 {
  padding: 35px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pv35 {
  padding-top: 35px !important;
  padding-bottom: 35px !important;
}

.ph35 {
  padding-left: 35px !important;
  padding-right: 35px !important;
}

.m35 {
  margin: 35px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mv35 {
  margin-top: 35px !important;
  margin-bottom: 35px !important;
}

.mh35 {
  margin-left: 35px !important;
  margin-right: 35px !important;
}

.mt-35 {
  margin-top: -35px !important;
}

.ml-35 {
  margin-left: -35px !important;
}

.mr-35 {
  margin-right: -35px !important;
}

@media screen and (max-width: 780px) {
  .sp_p35 {
    padding: 35px !important;
  }

  .sp_pt35 {
    padding-top: 35px !important;
  }

  .sp_pb35 {
    padding-bottom: 35px !important;
  }

  .sp_pl35 {
    padding-left: 35px !important;
  }

  .sp_pr35 {
    padding-right: 35px !important;
  }

  .sp_pv35 {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
  }

  .sp_ph35 {
    padding-left: 35px !important;
    padding-right: 35px !important;
  }

  .sp_m35 {
    margin: 35px !important;
  }

  .sp_mt35 {
    margin-top: 35px !important;
  }

  .sp_mb35 {
    margin-bottom: 35px !important;
  }

  .sp_ml35 {
    margin-left: 35px !important;
  }

  .sp_mr35 {
    margin-right: 35px !important;
  }

  .sp_mv35 {
    margin-top: 35px !important;
    margin-bottom: 35px !important;
  }

  .sp_mh35 {
    margin-left: 35px !important;
    margin-right: 35px !important;
  }

  .sp_mt-35 {
    margin-top: -35px !important;
  }

  .sp_ml-35 {
    margin-left: -35px !important;
  }

  .sp_mr-35 {
    margin-right: -35px !important;
  }
}
.p40 {
  padding: 40px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pv40 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.ph40 {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.m40 {
  margin: 40px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mv40 {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

.mh40 {
  margin-left: 40px !important;
  margin-right: 40px !important;
}

.mt-40 {
  margin-top: -40px !important;
}

.ml-40 {
  margin-left: -40px !important;
}

.mr-40 {
  margin-right: -40px !important;
}

@media screen and (max-width: 780px) {
  .sp_p40 {
    padding: 40px !important;
  }

  .sp_pt40 {
    padding-top: 40px !important;
  }

  .sp_pb40 {
    padding-bottom: 40px !important;
  }

  .sp_pl40 {
    padding-left: 40px !important;
  }

  .sp_pr40 {
    padding-right: 40px !important;
  }

  .sp_pv40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .sp_ph40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }

  .sp_m40 {
    margin: 40px !important;
  }

  .sp_mt40 {
    margin-top: 40px !important;
  }

  .sp_mb40 {
    margin-bottom: 40px !important;
  }

  .sp_ml40 {
    margin-left: 40px !important;
  }

  .sp_mr40 {
    margin-right: 40px !important;
  }

  .sp_mv40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }

  .sp_mh40 {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }

  .sp_mt-40 {
    margin-top: -40px !important;
  }

  .sp_ml-40 {
    margin-left: -40px !important;
  }

  .sp_mr-40 {
    margin-right: -40px !important;
  }
}
.p45 {
  padding: 45px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pv45 {
  padding-top: 45px !important;
  padding-bottom: 45px !important;
}

.ph45 {
  padding-left: 45px !important;
  padding-right: 45px !important;
}

.m45 {
  margin: 45px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mv45 {
  margin-top: 45px !important;
  margin-bottom: 45px !important;
}

.mh45 {
  margin-left: 45px !important;
  margin-right: 45px !important;
}

.mt-45 {
  margin-top: -45px !important;
}

.ml-45 {
  margin-left: -45px !important;
}

.mr-45 {
  margin-right: -45px !important;
}

@media screen and (max-width: 780px) {
  .sp_p45 {
    padding: 45px !important;
  }

  .sp_pt45 {
    padding-top: 45px !important;
  }

  .sp_pb45 {
    padding-bottom: 45px !important;
  }

  .sp_pl45 {
    padding-left: 45px !important;
  }

  .sp_pr45 {
    padding-right: 45px !important;
  }

  .sp_pv45 {
    padding-top: 45px !important;
    padding-bottom: 45px !important;
  }

  .sp_ph45 {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }

  .sp_m45 {
    margin: 45px !important;
  }

  .sp_mt45 {
    margin-top: 45px !important;
  }

  .sp_mb45 {
    margin-bottom: 45px !important;
  }

  .sp_ml45 {
    margin-left: 45px !important;
  }

  .sp_mr45 {
    margin-right: 45px !important;
  }

  .sp_mv45 {
    margin-top: 45px !important;
    margin-bottom: 45px !important;
  }

  .sp_mh45 {
    margin-left: 45px !important;
    margin-right: 45px !important;
  }

  .sp_mt-45 {
    margin-top: -45px !important;
  }

  .sp_ml-45 {
    margin-left: -45px !important;
  }

  .sp_mr-45 {
    margin-right: -45px !important;
  }
}
.p50 {
  padding: 50px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pv50 {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.ph50 {
  padding-left: 50px !important;
  padding-right: 50px !important;
}

.m50 {
  margin: 50px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mv50 {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}

.mh50 {
  margin-left: 50px !important;
  margin-right: 50px !important;
}

.mt-50 {
  margin-top: -50px !important;
}

.ml-50 {
  margin-left: -50px !important;
}

.mr-50 {
  margin-right: -50px !important;
}

@media screen and (max-width: 780px) {
  .sp_p50 {
    padding: 50px !important;
  }

  .sp_pt50 {
    padding-top: 50px !important;
  }

  .sp_pb50 {
    padding-bottom: 50px !important;
  }

  .sp_pl50 {
    padding-left: 50px !important;
  }

  .sp_pr50 {
    padding-right: 50px !important;
  }

  .sp_pv50 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  .sp_ph50 {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }

  .sp_m50 {
    margin: 50px !important;
  }

  .sp_mt50 {
    margin-top: 50px !important;
  }

  .sp_mb50 {
    margin-bottom: 50px !important;
  }

  .sp_ml50 {
    margin-left: 50px !important;
  }

  .sp_mr50 {
    margin-right: 50px !important;
  }

  .sp_mv50 {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }

  .sp_mh50 {
    margin-left: 50px !important;
    margin-right: 50px !important;
  }

  .sp_mt-50 {
    margin-top: -50px !important;
  }

  .sp_ml-50 {
    margin-left: -50px !important;
  }

  .sp_mr-50 {
    margin-right: -50px !important;
  }
}
.p55 {
  padding: 55px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pl55 {
  padding-left: 55px !important;
}

.pr55 {
  padding-right: 55px !important;
}

.pv55 {
  padding-top: 55px !important;
  padding-bottom: 55px !important;
}

.ph55 {
  padding-left: 55px !important;
  padding-right: 55px !important;
}

.m55 {
  margin: 55px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.mv55 {
  margin-top: 55px !important;
  margin-bottom: 55px !important;
}

.mh55 {
  margin-left: 55px !important;
  margin-right: 55px !important;
}

.mt-55 {
  margin-top: -55px !important;
}

.ml-55 {
  margin-left: -55px !important;
}

.mr-55 {
  margin-right: -55px !important;
}

@media screen and (max-width: 780px) {
  .sp_p55 {
    padding: 55px !important;
  }

  .sp_pt55 {
    padding-top: 55px !important;
  }

  .sp_pb55 {
    padding-bottom: 55px !important;
  }

  .sp_pl55 {
    padding-left: 55px !important;
  }

  .sp_pr55 {
    padding-right: 55px !important;
  }

  .sp_pv55 {
    padding-top: 55px !important;
    padding-bottom: 55px !important;
  }

  .sp_ph55 {
    padding-left: 55px !important;
    padding-right: 55px !important;
  }

  .sp_m55 {
    margin: 55px !important;
  }

  .sp_mt55 {
    margin-top: 55px !important;
  }

  .sp_mb55 {
    margin-bottom: 55px !important;
  }

  .sp_ml55 {
    margin-left: 55px !important;
  }

  .sp_mr55 {
    margin-right: 55px !important;
  }

  .sp_mv55 {
    margin-top: 55px !important;
    margin-bottom: 55px !important;
  }

  .sp_mh55 {
    margin-left: 55px !important;
    margin-right: 55px !important;
  }

  .sp_mt-55 {
    margin-top: -55px !important;
  }

  .sp_ml-55 {
    margin-left: -55px !important;
  }

  .sp_mr-55 {
    margin-right: -55px !important;
  }
}
.p60 {
  padding: 60px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pv60 {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.ph60 {
  padding-left: 60px !important;
  padding-right: 60px !important;
}

.m60 {
  margin: 60px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mv60 {
  margin-top: 60px !important;
  margin-bottom: 60px !important;
}

.mh60 {
  margin-left: 60px !important;
  margin-right: 60px !important;
}

.mt-60 {
  margin-top: -60px !important;
}

.ml-60 {
  margin-left: -60px !important;
}

.mr-60 {
  margin-right: -60px !important;
}

@media screen and (max-width: 780px) {
  .sp_p60 {
    padding: 60px !important;
  }

  .sp_pt60 {
    padding-top: 60px !important;
  }

  .sp_pb60 {
    padding-bottom: 60px !important;
  }

  .sp_pl60 {
    padding-left: 60px !important;
  }

  .sp_pr60 {
    padding-right: 60px !important;
  }

  .sp_pv60 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  .sp_ph60 {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }

  .sp_m60 {
    margin: 60px !important;
  }

  .sp_mt60 {
    margin-top: 60px !important;
  }

  .sp_mb60 {
    margin-bottom: 60px !important;
  }

  .sp_ml60 {
    margin-left: 60px !important;
  }

  .sp_mr60 {
    margin-right: 60px !important;
  }

  .sp_mv60 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }

  .sp_mh60 {
    margin-left: 60px !important;
    margin-right: 60px !important;
  }

  .sp_mt-60 {
    margin-top: -60px !important;
  }

  .sp_ml-60 {
    margin-left: -60px !important;
  }

  .sp_mr-60 {
    margin-right: -60px !important;
  }
}
.pt70 {
  padding-top: 70px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt-70 {
  margin-top: -70px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt-80 {
  margin-top: -80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt-90 {
  margin-top: -90px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mt-100 {
  margin-top: -100px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.pt110 {
  padding-top: 110px !important;
}

.pb110 {
  padding-bottom: 110px !important;
}

.mt110 {
  margin-top: 110px !important;
}

.mt-110 {
  margin-top: -110px !important;
}

.mb110 {
  margin-bottom: 110px !important;
}

.pt120 {
  padding-top: 120px !important;
}

.pb120 {
  padding-bottom: 120px !important;
}

.mt120 {
  margin-top: 120px !important;
}

.mt-120 {
  margin-top: -120px !important;
}

.mb120 {
  margin-bottom: 120px !important;
}

.pt130 {
  padding-top: 130px !important;
}

.pb130 {
  padding-bottom: 130px !important;
}

.mt130 {
  margin-top: 130px !important;
}

.mt-130 {
  margin-top: -130px !important;
}

.mb130 {
  margin-bottom: 130px !important;
}

.pt140 {
  padding-top: 140px !important;
}

.pb140 {
  padding-bottom: 140px !important;
}

.mt140 {
  margin-top: 140px !important;
}

.mt-140 {
  margin-top: -140px !important;
}

.mb140 {
  margin-bottom: 140px !important;
}

.pt150 {
  padding-top: 150px !important;
}

.pb150 {
  padding-bottom: 150px !important;
}

.mt150 {
  margin-top: 150px !important;
}

.mt-150 {
  margin-top: -150px !important;
}

.mb150 {
  margin-bottom: 150px !important;
}

.mb1em {
  margin-bottom: 1em;
}

.mhauto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.mtm5 {
  margin-top: -5px !important;
}

.mb-xs {
  margin-bottom: 15px;
}

.mb-s {
  margin-bottom: 28px;
}

.mb-m {
  margin-bottom: 46px;
}

.mb-l {
  margin-bottom: 55px;
}

.mb-xl {
  margin-bottom: 76px;
}

.mb-xxl {
  margin-bottom: 95px;
}

.mb-xxxl {
  margin-bottom: 109px;
}

.mb-xxxxl {
  margin-bottom: 150px;
}

@media screen and (max-width: 780px) {
  .mb-xs {
    margin-bottom: 15px;
  }

  .mb-m {
    margin-bottom: 20px;
  }

  .mb-l {
    margin-bottom: 28px;
  }

  .mb-xxl {
    margin-bottom: 55px;
  }

  .mb-xxxl {
    margin-bottom: 76px;
  }

  .mb-xxxxl {
    margin-bottom: 95px;
  }
}
.mt-xs {
  margin-top: 15px;
}

.mt-s {
  margin-top: 28px;
}

.mt-m {
  margin-top: 46px;
}

.mt-l {
  margin-top: 55px;
}

.mt-xl {
  margin-top: 76px;
}

.mt-xxl {
  margin-top: 95px;
}

.mt-xxxl {
  margin-top: 109px;
}

width
.mt-xxxxl {
  margin-top: 150px;
}

.w10p {
  width: 10% !important;
}

.w15p {
  width: 15% !important;
}

.w10 {
  width: 10px !important;
}

.minw10 {
  min-width: 10px !important;
}

.maxw10 {
  max-width: 10px !important;
}

.h15p {
  height: 15% !important;
}

.h10 {
  height: 10px !important;
}

.minh10 {
  min-height: 10px !important;
}

.maxh10 {
  max-height: 10px !important;
}

.w110 {
  width: 110px !important;
}

.minw110 {
  min-width: 110px !important;
}

.maxw110 {
  max-width: 110px !important;
}

.h15p {
  height: 15% !important;
}

.h110 {
  height: 110px !important;
}

.minh110 {
  min-height: 110px !important;
}

.maxh110 {
  max-height: 110px !important;
}

.w210 {
  width: 210px !important;
}

.minw210 {
  min-width: 210px !important;
}

.maxw210 {
  max-width: 210px !important;
}

.h15p {
  height: 15% !important;
}

.h210 {
  height: 210px !important;
}

.minh210 {
  min-height: 210px !important;
}

.maxh210 {
  max-height: 210px !important;
}

.w310 {
  width: 310px !important;
}

.minw310 {
  min-width: 310px !important;
}

.maxw310 {
  max-width: 310px !important;
}

.h15p {
  height: 15% !important;
}

.h310 {
  height: 310px !important;
}

.minh310 {
  min-height: 310px !important;
}

.maxh310 {
  max-height: 310px !important;
}

.w410 {
  width: 410px !important;
}

.minw410 {
  min-width: 410px !important;
}

.maxw410 {
  max-width: 410px !important;
}

.h15p {
  height: 15% !important;
}

.h410 {
  height: 410px !important;
}

.minh410 {
  min-height: 410px !important;
}

.maxh410 {
  max-height: 410px !important;
}

.w510 {
  width: 510px !important;
}

.minw510 {
  min-width: 510px !important;
}

.maxw510 {
  max-width: 510px !important;
}

.h15p {
  height: 15% !important;
}

.h510 {
  height: 510px !important;
}

.minh510 {
  min-height: 510px !important;
}

.maxh510 {
  max-height: 510px !important;
}

.w610 {
  width: 610px !important;
}

.minw610 {
  min-width: 610px !important;
}

.maxw610 {
  max-width: 610px !important;
}

.h15p {
  height: 15% !important;
}

.h610 {
  height: 610px !important;
}

.minh610 {
  min-height: 610px !important;
}

.maxh610 {
  max-height: 610px !important;
}

.w710 {
  width: 710px !important;
}

.minw710 {
  min-width: 710px !important;
}

.maxw710 {
  max-width: 710px !important;
}

.h15p {
  height: 15% !important;
}

.h710 {
  height: 710px !important;
}

.minh710 {
  min-height: 710px !important;
}

.maxh710 {
  max-height: 710px !important;
}

.w810 {
  width: 810px !important;
}

.minw810 {
  min-width: 810px !important;
}

.maxw810 {
  max-width: 810px !important;
}

.h15p {
  height: 15% !important;
}

.h810 {
  height: 810px !important;
}

.minh810 {
  min-height: 810px !important;
}

.maxh810 {
  max-height: 810px !important;
}

.w910 {
  width: 910px !important;
}

.minw910 {
  min-width: 910px !important;
}

.maxw910 {
  max-width: 910px !important;
}

.h15p {
  height: 15% !important;
}

.h910 {
  height: 910px !important;
}

.minh910 {
  min-height: 910px !important;
}

.maxh910 {
  max-height: 910px !important;
}

.w20p {
  width: 20% !important;
}

.w25p {
  width: 25% !important;
}

.w20 {
  width: 20px !important;
}

.minw20 {
  min-width: 20px !important;
}

.maxw20 {
  max-width: 20px !important;
}

.h25p {
  height: 25% !important;
}

.h20 {
  height: 20px !important;
}

.minh20 {
  min-height: 20px !important;
}

.maxh20 {
  max-height: 20px !important;
}

.w120 {
  width: 120px !important;
}

.minw120 {
  min-width: 120px !important;
}

.maxw120 {
  max-width: 120px !important;
}

.h25p {
  height: 25% !important;
}

.h120 {
  height: 120px !important;
}

.minh120 {
  min-height: 120px !important;
}

.maxh120 {
  max-height: 120px !important;
}

.w220 {
  width: 220px !important;
}

.minw220 {
  min-width: 220px !important;
}

.maxw220 {
  max-width: 220px !important;
}

.h25p {
  height: 25% !important;
}

.h220 {
  height: 220px !important;
}

.minh220 {
  min-height: 220px !important;
}

.maxh220 {
  max-height: 220px !important;
}

.w320 {
  width: 320px !important;
}

.minw320 {
  min-width: 320px !important;
}

.maxw320 {
  max-width: 320px !important;
}

.h25p {
  height: 25% !important;
}

.h320 {
  height: 320px !important;
}

.minh320 {
  min-height: 320px !important;
}

.maxh320 {
  max-height: 320px !important;
}

.w420 {
  width: 420px !important;
}

.minw420 {
  min-width: 420px !important;
}

.maxw420 {
  max-width: 420px !important;
}

.h25p {
  height: 25% !important;
}

.h420 {
  height: 420px !important;
}

.minh420 {
  min-height: 420px !important;
}

.maxh420 {
  max-height: 420px !important;
}

.w520 {
  width: 520px !important;
}

.minw520 {
  min-width: 520px !important;
}

.maxw520 {
  max-width: 520px !important;
}

.h25p {
  height: 25% !important;
}

.h520 {
  height: 520px !important;
}

.minh520 {
  min-height: 520px !important;
}

.maxh520 {
  max-height: 520px !important;
}

.w620 {
  width: 620px !important;
}

.minw620 {
  min-width: 620px !important;
}

.maxw620 {
  max-width: 620px !important;
}

.h25p {
  height: 25% !important;
}

.h620 {
  height: 620px !important;
}

.minh620 {
  min-height: 620px !important;
}

.maxh620 {
  max-height: 620px !important;
}

.w720 {
  width: 720px !important;
}

.minw720 {
  min-width: 720px !important;
}

.maxw720 {
  max-width: 720px !important;
}

.h25p {
  height: 25% !important;
}

.h720 {
  height: 720px !important;
}

.minh720 {
  min-height: 720px !important;
}

.maxh720 {
  max-height: 720px !important;
}

.w820 {
  width: 820px !important;
}

.minw820 {
  min-width: 820px !important;
}

.maxw820 {
  max-width: 820px !important;
}

.h25p {
  height: 25% !important;
}

.h820 {
  height: 820px !important;
}

.minh820 {
  min-height: 820px !important;
}

.maxh820 {
  max-height: 820px !important;
}

.w920 {
  width: 920px !important;
}

.minw920 {
  min-width: 920px !important;
}

.maxw920 {
  max-width: 920px !important;
}

.h25p {
  height: 25% !important;
}

.h920 {
  height: 920px !important;
}

.minh920 {
  min-height: 920px !important;
}

.maxh920 {
  max-height: 920px !important;
}

.w30p {
  width: 30% !important;
}

.w35p {
  width: 35% !important;
}

.w30 {
  width: 30px !important;
}

.minw30 {
  min-width: 30px !important;
}

.maxw30 {
  max-width: 30px !important;
}

.h35p {
  height: 35% !important;
}

.h30 {
  height: 30px !important;
}

.minh30 {
  min-height: 30px !important;
}

.maxh30 {
  max-height: 30px !important;
}

.w130 {
  width: 130px !important;
}

.minw130 {
  min-width: 130px !important;
}

.maxw130 {
  max-width: 130px !important;
}

.h35p {
  height: 35% !important;
}

.h130 {
  height: 130px !important;
}

.minh130 {
  min-height: 130px !important;
}

.maxh130 {
  max-height: 130px !important;
}

.w230 {
  width: 230px !important;
}

.minw230 {
  min-width: 230px !important;
}

.maxw230 {
  max-width: 230px !important;
}

.h35p {
  height: 35% !important;
}

.h230 {
  height: 230px !important;
}

.minh230 {
  min-height: 230px !important;
}

.maxh230 {
  max-height: 230px !important;
}

.w330 {
  width: 330px !important;
}

.minw330 {
  min-width: 330px !important;
}

.maxw330 {
  max-width: 330px !important;
}

.h35p {
  height: 35% !important;
}

.h330 {
  height: 330px !important;
}

.minh330 {
  min-height: 330px !important;
}

.maxh330 {
  max-height: 330px !important;
}

.w430 {
  width: 430px !important;
}

.minw430 {
  min-width: 430px !important;
}

.maxw430 {
  max-width: 430px !important;
}

.h35p {
  height: 35% !important;
}

.h430 {
  height: 430px !important;
}

.minh430 {
  min-height: 430px !important;
}

.maxh430 {
  max-height: 430px !important;
}

.w530 {
  width: 530px !important;
}

.minw530 {
  min-width: 530px !important;
}

.maxw530 {
  max-width: 530px !important;
}

.h35p {
  height: 35% !important;
}

.h530 {
  height: 530px !important;
}

.minh530 {
  min-height: 530px !important;
}

.maxh530 {
  max-height: 530px !important;
}

.w630 {
  width: 630px !important;
}

.minw630 {
  min-width: 630px !important;
}

.maxw630 {
  max-width: 630px !important;
}

.h35p {
  height: 35% !important;
}

.h630 {
  height: 630px !important;
}

.minh630 {
  min-height: 630px !important;
}

.maxh630 {
  max-height: 630px !important;
}

.w730 {
  width: 730px !important;
}

.minw730 {
  min-width: 730px !important;
}

.maxw730 {
  max-width: 730px !important;
}

.h35p {
  height: 35% !important;
}

.h730 {
  height: 730px !important;
}

.minh730 {
  min-height: 730px !important;
}

.maxh730 {
  max-height: 730px !important;
}

.w830 {
  width: 830px !important;
}

.minw830 {
  min-width: 830px !important;
}

.maxw830 {
  max-width: 830px !important;
}

.h35p {
  height: 35% !important;
}

.h830 {
  height: 830px !important;
}

.minh830 {
  min-height: 830px !important;
}

.maxh830 {
  max-height: 830px !important;
}

.w930 {
  width: 930px !important;
}

.minw930 {
  min-width: 930px !important;
}

.maxw930 {
  max-width: 930px !important;
}

.h35p {
  height: 35% !important;
}

.h930 {
  height: 930px !important;
}

.minh930 {
  min-height: 930px !important;
}

.maxh930 {
  max-height: 930px !important;
}

.w40p {
  width: 40% !important;
}

.w45p {
  width: 45% !important;
}

.w40 {
  width: 40px !important;
}

.minw40 {
  min-width: 40px !important;
}

.maxw40 {
  max-width: 40px !important;
}

.h45p {
  height: 45% !important;
}

.h40 {
  height: 40px !important;
}

.minh40 {
  min-height: 40px !important;
}

.maxh40 {
  max-height: 40px !important;
}

.w140 {
  width: 140px !important;
}

.minw140 {
  min-width: 140px !important;
}

.maxw140 {
  max-width: 140px !important;
}

.h45p {
  height: 45% !important;
}

.h140 {
  height: 140px !important;
}

.minh140 {
  min-height: 140px !important;
}

.maxh140 {
  max-height: 140px !important;
}

.w240 {
  width: 240px !important;
}

.minw240 {
  min-width: 240px !important;
}

.maxw240 {
  max-width: 240px !important;
}

.h45p {
  height: 45% !important;
}

.h240 {
  height: 240px !important;
}

.minh240 {
  min-height: 240px !important;
}

.maxh240 {
  max-height: 240px !important;
}

.w340 {
  width: 340px !important;
}

.minw340 {
  min-width: 340px !important;
}

.maxw340 {
  max-width: 340px !important;
}

.h45p {
  height: 45% !important;
}

.h340 {
  height: 340px !important;
}

.minh340 {
  min-height: 340px !important;
}

.maxh340 {
  max-height: 340px !important;
}

.w440 {
  width: 440px !important;
}

.minw440 {
  min-width: 440px !important;
}

.maxw440 {
  max-width: 440px !important;
}

.h45p {
  height: 45% !important;
}

.h440 {
  height: 440px !important;
}

.minh440 {
  min-height: 440px !important;
}

.maxh440 {
  max-height: 440px !important;
}

.w540 {
  width: 540px !important;
}

.minw540 {
  min-width: 540px !important;
}

.maxw540 {
  max-width: 540px !important;
}

.h45p {
  height: 45% !important;
}

.h540 {
  height: 540px !important;
}

.minh540 {
  min-height: 540px !important;
}

.maxh540 {
  max-height: 540px !important;
}

.w640 {
  width: 640px !important;
}

.minw640 {
  min-width: 640px !important;
}

.maxw640 {
  max-width: 640px !important;
}

.h45p {
  height: 45% !important;
}

.h640 {
  height: 640px !important;
}

.minh640 {
  min-height: 640px !important;
}

.maxh640 {
  max-height: 640px !important;
}

.w740 {
  width: 740px !important;
}

.minw740 {
  min-width: 740px !important;
}

.maxw740 {
  max-width: 740px !important;
}

.h45p {
  height: 45% !important;
}

.h740 {
  height: 740px !important;
}

.minh740 {
  min-height: 740px !important;
}

.maxh740 {
  max-height: 740px !important;
}

.w840 {
  width: 840px !important;
}

.minw840 {
  min-width: 840px !important;
}

.maxw840 {
  max-width: 840px !important;
}

.h45p {
  height: 45% !important;
}

.h840 {
  height: 840px !important;
}

.minh840 {
  min-height: 840px !important;
}

.maxh840 {
  max-height: 840px !important;
}

.w940 {
  width: 940px !important;
}

.minw940 {
  min-width: 940px !important;
}

.maxw940 {
  max-width: 940px !important;
}

.h45p {
  height: 45% !important;
}

.h940 {
  height: 940px !important;
}

.minh940 {
  min-height: 940px !important;
}

.maxh940 {
  max-height: 940px !important;
}

.w50p {
  width: 50% !important;
}

.w55p {
  width: 55% !important;
}

.w50 {
  width: 50px !important;
}

.minw50 {
  min-width: 50px !important;
}

.maxw50 {
  max-width: 50px !important;
}

.h55p {
  height: 55% !important;
}

.h50 {
  height: 50px !important;
}

.minh50 {
  min-height: 50px !important;
}

.maxh50 {
  max-height: 50px !important;
}

.w150 {
  width: 150px !important;
}

.minw150 {
  min-width: 150px !important;
}

.maxw150 {
  max-width: 150px !important;
}

.h55p {
  height: 55% !important;
}

.h150 {
  height: 150px !important;
}

.minh150 {
  min-height: 150px !important;
}

.maxh150 {
  max-height: 150px !important;
}

.w250 {
  width: 250px !important;
}

.minw250 {
  min-width: 250px !important;
}

.maxw250 {
  max-width: 250px !important;
}

.h55p {
  height: 55% !important;
}

.h250 {
  height: 250px !important;
}

.minh250 {
  min-height: 250px !important;
}

.maxh250 {
  max-height: 250px !important;
}

.w350 {
  width: 350px !important;
}

.minw350 {
  min-width: 350px !important;
}

.maxw350 {
  max-width: 350px !important;
}

.h55p {
  height: 55% !important;
}

.h350 {
  height: 350px !important;
}

.minh350 {
  min-height: 350px !important;
}

.maxh350 {
  max-height: 350px !important;
}

.w450 {
  width: 450px !important;
}

.minw450 {
  min-width: 450px !important;
}

.maxw450 {
  max-width: 450px !important;
}

.h55p {
  height: 55% !important;
}

.h450 {
  height: 450px !important;
}

.minh450 {
  min-height: 450px !important;
}

.maxh450 {
  max-height: 450px !important;
}

.w550 {
  width: 550px !important;
}

.minw550 {
  min-width: 550px !important;
}

.maxw550 {
  max-width: 550px !important;
}

.h55p {
  height: 55% !important;
}

.h550 {
  height: 550px !important;
}

.minh550 {
  min-height: 550px !important;
}

.maxh550 {
  max-height: 550px !important;
}

.w650 {
  width: 650px !important;
}

.minw650 {
  min-width: 650px !important;
}

.maxw650 {
  max-width: 650px !important;
}

.h55p {
  height: 55% !important;
}

.h650 {
  height: 650px !important;
}

.minh650 {
  min-height: 650px !important;
}

.maxh650 {
  max-height: 650px !important;
}

.w750 {
  width: 750px !important;
}

.minw750 {
  min-width: 750px !important;
}

.maxw750 {
  max-width: 750px !important;
}

.h55p {
  height: 55% !important;
}

.h750 {
  height: 750px !important;
}

.minh750 {
  min-height: 750px !important;
}

.maxh750 {
  max-height: 750px !important;
}

.w850 {
  width: 850px !important;
}

.minw850 {
  min-width: 850px !important;
}

.maxw850 {
  max-width: 850px !important;
}

.h55p {
  height: 55% !important;
}

.h850 {
  height: 850px !important;
}

.minh850 {
  min-height: 850px !important;
}

.maxh850 {
  max-height: 850px !important;
}

.w950 {
  width: 950px !important;
}

.minw950 {
  min-width: 950px !important;
}

.maxw950 {
  max-width: 950px !important;
}

.h55p {
  height: 55% !important;
}

.h950 {
  height: 950px !important;
}

.minh950 {
  min-height: 950px !important;
}

.maxh950 {
  max-height: 950px !important;
}

.w60p {
  width: 60% !important;
}

.w65p {
  width: 65% !important;
}

.w60 {
  width: 60px !important;
}

.minw60 {
  min-width: 60px !important;
}

.maxw60 {
  max-width: 60px !important;
}

.h65p {
  height: 65% !important;
}

.h60 {
  height: 60px !important;
}

.minh60 {
  min-height: 60px !important;
}

.maxh60 {
  max-height: 60px !important;
}

.w160 {
  width: 160px !important;
}

.minw160 {
  min-width: 160px !important;
}

.maxw160 {
  max-width: 160px !important;
}

.h65p {
  height: 65% !important;
}

.h160 {
  height: 160px !important;
}

.minh160 {
  min-height: 160px !important;
}

.maxh160 {
  max-height: 160px !important;
}

.w260 {
  width: 260px !important;
}

.minw260 {
  min-width: 260px !important;
}

.maxw260 {
  max-width: 260px !important;
}

.h65p {
  height: 65% !important;
}

.h260 {
  height: 260px !important;
}

.minh260 {
  min-height: 260px !important;
}

.maxh260 {
  max-height: 260px !important;
}

.w360 {
  width: 360px !important;
}

.minw360 {
  min-width: 360px !important;
}

.maxw360 {
  max-width: 360px !important;
}

.h65p {
  height: 65% !important;
}

.h360 {
  height: 360px !important;
}

.minh360 {
  min-height: 360px !important;
}

.maxh360 {
  max-height: 360px !important;
}

.w460 {
  width: 460px !important;
}

.minw460 {
  min-width: 460px !important;
}

.maxw460 {
  max-width: 460px !important;
}

.h65p {
  height: 65% !important;
}

.h460 {
  height: 460px !important;
}

.minh460 {
  min-height: 460px !important;
}

.maxh460 {
  max-height: 460px !important;
}

.w560 {
  width: 560px !important;
}

.minw560 {
  min-width: 560px !important;
}

.maxw560 {
  max-width: 560px !important;
}

.h65p {
  height: 65% !important;
}

.h560 {
  height: 560px !important;
}

.minh560 {
  min-height: 560px !important;
}

.maxh560 {
  max-height: 560px !important;
}

.w660 {
  width: 660px !important;
}

.minw660 {
  min-width: 660px !important;
}

.maxw660 {
  max-width: 660px !important;
}

.h65p {
  height: 65% !important;
}

.h660 {
  height: 660px !important;
}

.minh660 {
  min-height: 660px !important;
}

.maxh660 {
  max-height: 660px !important;
}

.w760 {
  width: 760px !important;
}

.minw760 {
  min-width: 760px !important;
}

.maxw760 {
  max-width: 760px !important;
}

.h65p {
  height: 65% !important;
}

.h760 {
  height: 760px !important;
}

.minh760 {
  min-height: 760px !important;
}

.maxh760 {
  max-height: 760px !important;
}

.w860 {
  width: 860px !important;
}

.minw860 {
  min-width: 860px !important;
}

.maxw860 {
  max-width: 860px !important;
}

.h65p {
  height: 65% !important;
}

.h860 {
  height: 860px !important;
}

.minh860 {
  min-height: 860px !important;
}

.maxh860 {
  max-height: 860px !important;
}

.w960 {
  width: 960px !important;
}

.minw960 {
  min-width: 960px !important;
}

.maxw960 {
  max-width: 960px !important;
}

.h65p {
  height: 65% !important;
}

.h960 {
  height: 960px !important;
}

.minh960 {
  min-height: 960px !important;
}

.maxh960 {
  max-height: 960px !important;
}

.w70p {
  width: 70% !important;
}

.w75p {
  width: 75% !important;
}

.w70 {
  width: 70px !important;
}

.minw70 {
  min-width: 70px !important;
}

.maxw70 {
  max-width: 70px !important;
}

.h75p {
  height: 75% !important;
}

.h70 {
  height: 70px !important;
}

.minh70 {
  min-height: 70px !important;
}

.maxh70 {
  max-height: 70px !important;
}

.w170 {
  width: 170px !important;
}

.minw170 {
  min-width: 170px !important;
}

.maxw170 {
  max-width: 170px !important;
}

.h75p {
  height: 75% !important;
}

.h170 {
  height: 170px !important;
}

.minh170 {
  min-height: 170px !important;
}

.maxh170 {
  max-height: 170px !important;
}

.w270 {
  width: 270px !important;
}

.minw270 {
  min-width: 270px !important;
}

.maxw270 {
  max-width: 270px !important;
}

.h75p {
  height: 75% !important;
}

.h270 {
  height: 270px !important;
}

.minh270 {
  min-height: 270px !important;
}

.maxh270 {
  max-height: 270px !important;
}

.w370 {
  width: 370px !important;
}

.minw370 {
  min-width: 370px !important;
}

.maxw370 {
  max-width: 370px !important;
}

.h75p {
  height: 75% !important;
}

.h370 {
  height: 370px !important;
}

.minh370 {
  min-height: 370px !important;
}

.maxh370 {
  max-height: 370px !important;
}

.w470 {
  width: 470px !important;
}

.minw470 {
  min-width: 470px !important;
}

.maxw470 {
  max-width: 470px !important;
}

.h75p {
  height: 75% !important;
}

.h470 {
  height: 470px !important;
}

.minh470 {
  min-height: 470px !important;
}

.maxh470 {
  max-height: 470px !important;
}

.w570 {
  width: 570px !important;
}

.minw570 {
  min-width: 570px !important;
}

.maxw570 {
  max-width: 570px !important;
}

.h75p {
  height: 75% !important;
}

.h570 {
  height: 570px !important;
}

.minh570 {
  min-height: 570px !important;
}

.maxh570 {
  max-height: 570px !important;
}

.w670 {
  width: 670px !important;
}

.minw670 {
  min-width: 670px !important;
}

.maxw670 {
  max-width: 670px !important;
}

.h75p {
  height: 75% !important;
}

.h670 {
  height: 670px !important;
}

.minh670 {
  min-height: 670px !important;
}

.maxh670 {
  max-height: 670px !important;
}

.w770 {
  width: 770px !important;
}

.minw770 {
  min-width: 770px !important;
}

.maxw770 {
  max-width: 770px !important;
}

.h75p {
  height: 75% !important;
}

.h770 {
  height: 770px !important;
}

.minh770 {
  min-height: 770px !important;
}

.maxh770 {
  max-height: 770px !important;
}

.w870 {
  width: 870px !important;
}

.minw870 {
  min-width: 870px !important;
}

.maxw870 {
  max-width: 870px !important;
}

.h75p {
  height: 75% !important;
}

.h870 {
  height: 870px !important;
}

.minh870 {
  min-height: 870px !important;
}

.maxh870 {
  max-height: 870px !important;
}

.w970 {
  width: 970px !important;
}

.minw970 {
  min-width: 970px !important;
}

.maxw970 {
  max-width: 970px !important;
}

.h75p {
  height: 75% !important;
}

.h970 {
  height: 970px !important;
}

.minh970 {
  min-height: 970px !important;
}

.maxh970 {
  max-height: 970px !important;
}

.w80p {
  width: 80% !important;
}

.w85p {
  width: 85% !important;
}

.w80 {
  width: 80px !important;
}

.minw80 {
  min-width: 80px !important;
}

.maxw80 {
  max-width: 80px !important;
}

.h85p {
  height: 85% !important;
}

.h80 {
  height: 80px !important;
}

.minh80 {
  min-height: 80px !important;
}

.maxh80 {
  max-height: 80px !important;
}

.w180 {
  width: 180px !important;
}

.minw180 {
  min-width: 180px !important;
}

.maxw180 {
  max-width: 180px !important;
}

.h85p {
  height: 85% !important;
}

.h180 {
  height: 180px !important;
}

.minh180 {
  min-height: 180px !important;
}

.maxh180 {
  max-height: 180px !important;
}

.w280 {
  width: 280px !important;
}

.minw280 {
  min-width: 280px !important;
}

.maxw280 {
  max-width: 280px !important;
}

.h85p {
  height: 85% !important;
}

.h280 {
  height: 280px !important;
}

.minh280 {
  min-height: 280px !important;
}

.maxh280 {
  max-height: 280px !important;
}

.w380 {
  width: 380px !important;
}

.minw380 {
  min-width: 380px !important;
}

.maxw380 {
  max-width: 380px !important;
}

.h85p {
  height: 85% !important;
}

.h380 {
  height: 380px !important;
}

.minh380 {
  min-height: 380px !important;
}

.maxh380 {
  max-height: 380px !important;
}

.w480 {
  width: 480px !important;
}

.minw480 {
  min-width: 480px !important;
}

.maxw480 {
  max-width: 480px !important;
}

.h85p {
  height: 85% !important;
}

.h480 {
  height: 480px !important;
}

.minh480 {
  min-height: 480px !important;
}

.maxh480 {
  max-height: 480px !important;
}

.w580 {
  width: 580px !important;
}

.minw580 {
  min-width: 580px !important;
}

.maxw580 {
  max-width: 580px !important;
}

.h85p {
  height: 85% !important;
}

.h580 {
  height: 580px !important;
}

.minh580 {
  min-height: 580px !important;
}

.maxh580 {
  max-height: 580px !important;
}

.w680 {
  width: 680px !important;
}

.minw680 {
  min-width: 680px !important;
}

.maxw680 {
  max-width: 680px !important;
}

.h85p {
  height: 85% !important;
}

.h680 {
  height: 680px !important;
}

.minh680 {
  min-height: 680px !important;
}

.maxh680 {
  max-height: 680px !important;
}

.w780 {
  width: 780px !important;
}

.minw780 {
  min-width: 780px !important;
}

.maxw780 {
  max-width: 780px !important;
}

.h85p {
  height: 85% !important;
}

.h780 {
  height: 780px !important;
}

.minh780 {
  min-height: 780px !important;
}

.maxh780 {
  max-height: 780px !important;
}

.w880 {
  width: 880px !important;
}

.minw880 {
  min-width: 880px !important;
}

.maxw880 {
  max-width: 880px !important;
}

.h85p {
  height: 85% !important;
}

.h880 {
  height: 880px !important;
}

.minh880 {
  min-height: 880px !important;
}

.maxh880 {
  max-height: 880px !important;
}

.w980 {
  width: 980px !important;
}

.minw980 {
  min-width: 980px !important;
}

.maxw980 {
  max-width: 980px !important;
}

.h85p {
  height: 85% !important;
}

.h980 {
  height: 980px !important;
}

.minh980 {
  min-height: 980px !important;
}

.maxh980 {
  max-height: 980px !important;
}

.w90p {
  width: 90% !important;
}

.w95p {
  width: 95% !important;
}

.w90 {
  width: 90px !important;
}

.minw90 {
  min-width: 90px !important;
}

.maxw90 {
  max-width: 90px !important;
}

.h95p {
  height: 95% !important;
}

.h90 {
  height: 90px !important;
}

.minh90 {
  min-height: 90px !important;
}

.maxh90 {
  max-height: 90px !important;
}

.w190 {
  width: 190px !important;
}

.minw190 {
  min-width: 190px !important;
}

.maxw190 {
  max-width: 190px !important;
}

.h95p {
  height: 95% !important;
}

.h190 {
  height: 190px !important;
}

.minh190 {
  min-height: 190px !important;
}

.maxh190 {
  max-height: 190px !important;
}

.w290 {
  width: 290px !important;
}

.minw290 {
  min-width: 290px !important;
}

.maxw290 {
  max-width: 290px !important;
}

.h95p {
  height: 95% !important;
}

.h290 {
  height: 290px !important;
}

.minh290 {
  min-height: 290px !important;
}

.maxh290 {
  max-height: 290px !important;
}

.w390 {
  width: 390px !important;
}

.minw390 {
  min-width: 390px !important;
}

.maxw390 {
  max-width: 390px !important;
}

.h95p {
  height: 95% !important;
}

.h390 {
  height: 390px !important;
}

.minh390 {
  min-height: 390px !important;
}

.maxh390 {
  max-height: 390px !important;
}

.w490 {
  width: 490px !important;
}

.minw490 {
  min-width: 490px !important;
}

.maxw490 {
  max-width: 490px !important;
}

.h95p {
  height: 95% !important;
}

.h490 {
  height: 490px !important;
}

.minh490 {
  min-height: 490px !important;
}

.maxh490 {
  max-height: 490px !important;
}

.w590 {
  width: 590px !important;
}

.minw590 {
  min-width: 590px !important;
}

.maxw590 {
  max-width: 590px !important;
}

.h95p {
  height: 95% !important;
}

.h590 {
  height: 590px !important;
}

.minh590 {
  min-height: 590px !important;
}

.maxh590 {
  max-height: 590px !important;
}

.w690 {
  width: 690px !important;
}

.minw690 {
  min-width: 690px !important;
}

.maxw690 {
  max-width: 690px !important;
}

.h95p {
  height: 95% !important;
}

.h690 {
  height: 690px !important;
}

.minh690 {
  min-height: 690px !important;
}

.maxh690 {
  max-height: 690px !important;
}

.w790 {
  width: 790px !important;
}

.minw790 {
  min-width: 790px !important;
}

.maxw790 {
  max-width: 790px !important;
}

.h95p {
  height: 95% !important;
}

.h790 {
  height: 790px !important;
}

.minh790 {
  min-height: 790px !important;
}

.maxh790 {
  max-height: 790px !important;
}

.w890 {
  width: 890px !important;
}

.minw890 {
  min-width: 890px !important;
}

.maxw890 {
  max-width: 890px !important;
}

.h95p {
  height: 95% !important;
}

.h890 {
  height: 890px !important;
}

.minh890 {
  min-height: 890px !important;
}

.maxh890 {
  max-height: 890px !important;
}

.w990 {
  width: 990px !important;
}

.minw990 {
  min-width: 990px !important;
}

.maxw990 {
  max-width: 990px !important;
}

.h95p {
  height: 95% !important;
}

.h990 {
  height: 990px !important;
}

.minh990 {
  min-height: 990px !important;
}

.maxh990 {
  max-height: 990px !important;
}

.w100p {
  width: 100% !important;
}

.w105p {
  width: 105% !important;
}

.w100 {
  width: 100px !important;
}

.minw100 {
  min-width: 100px !important;
}

.maxw100 {
  max-width: 100px !important;
}

.h105p {
  height: 105% !important;
}

.h100 {
  height: 100px !important;
}

.minh100 {
  min-height: 100px !important;
}

.maxh100 {
  max-height: 100px !important;
}

.w200 {
  width: 200px !important;
}

.minw200 {
  min-width: 200px !important;
}

.maxw200 {
  max-width: 200px !important;
}

.h105p {
  height: 105% !important;
}

.h200 {
  height: 200px !important;
}

.minh200 {
  min-height: 200px !important;
}

.maxh200 {
  max-height: 200px !important;
}

.w300 {
  width: 300px !important;
}

.minw300 {
  min-width: 300px !important;
}

.maxw300 {
  max-width: 300px !important;
}

.h105p {
  height: 105% !important;
}

.h300 {
  height: 300px !important;
}

.minh300 {
  min-height: 300px !important;
}

.maxh300 {
  max-height: 300px !important;
}

.w400 {
  width: 400px !important;
}

.minw400 {
  min-width: 400px !important;
}

.maxw400 {
  max-width: 400px !important;
}

.h105p {
  height: 105% !important;
}

.h400 {
  height: 400px !important;
}

.minh400 {
  min-height: 400px !important;
}

.maxh400 {
  max-height: 400px !important;
}

.w500 {
  width: 500px !important;
}

.minw500 {
  min-width: 500px !important;
}

.maxw500 {
  max-width: 500px !important;
}

.h105p {
  height: 105% !important;
}

.h500 {
  height: 500px !important;
}

.minh500 {
  min-height: 500px !important;
}

.maxh500 {
  max-height: 500px !important;
}

.w600 {
  width: 600px !important;
}

.minw600 {
  min-width: 600px !important;
}

.maxw600 {
  max-width: 600px !important;
}

.h105p {
  height: 105% !important;
}

.h600 {
  height: 600px !important;
}

.minh600 {
  min-height: 600px !important;
}

.maxh600 {
  max-height: 600px !important;
}

.w700 {
  width: 700px !important;
}

.minw700 {
  min-width: 700px !important;
}

.maxw700 {
  max-width: 700px !important;
}

.h105p {
  height: 105% !important;
}

.h700 {
  height: 700px !important;
}

.minh700 {
  min-height: 700px !important;
}

.maxh700 {
  max-height: 700px !important;
}

.w800 {
  width: 800px !important;
}

.minw800 {
  min-width: 800px !important;
}

.maxw800 {
  max-width: 800px !important;
}

.h105p {
  height: 105% !important;
}

.h800 {
  height: 800px !important;
}

.minh800 {
  min-height: 800px !important;
}

.maxh800 {
  max-height: 800px !important;
}

.w900 {
  width: 900px !important;
}

.minw900 {
  min-width: 900px !important;
}

.maxw900 {
  max-width: 900px !important;
}

.h105p {
  height: 105% !important;
}

.h900 {
  height: 900px !important;
}

.minh900 {
  min-height: 900px !important;
}

.maxh900 {
  max-height: 900px !important;
}

.w1000 {
  width: 1000px !important;
}

.minw1000 {
  min-width: 1000px !important;
}

.maxw1000 {
  max-width: 1000px !important;
}

.h105p {
  height: 105% !important;
}

.h1000 {
  height: 1000px !important;
}

.minh1000 {
  min-height: 1000px !important;
}

.maxh1000 {
  max-height: 1000px !important;
}

@media screen and (max-width: 780px) {
  .sp_minw_auto {
    min-width: auto !important;
  }
}
.h100p {
  height: 100%;
}

.w33p {
  width: 33.33333%;
}

.maxw100p {
  max-width: 100% !important;
}

.w780 {
  width: 780px !important;
}

.wauto {
  width: auto !important;
}

.hauto {
  height: auto !important;
}

@media screen and (max-width: 780px) {
  .spw10p {
    width: 10% !important;
  }
}

@media screen and (max-width: 780px) {
  .spw20p {
    width: 20% !important;
  }
}

@media screen and (max-width: 780px) {
  .spw30p {
    width: 30% !important;
  }
}

@media screen and (max-width: 780px) {
  .spw40p {
    width: 40% !important;
  }
}

@media screen and (max-width: 780px) {
  .spw50p {
    width: 50% !important;
  }
}

@media screen and (max-width: 780px) {
  .spw60p {
    width: 60% !important;
  }
}

@media screen and (max-width: 780px) {
  .spw70p {
    width: 70% !important;
  }
}

@media screen and (max-width: 780px) {
  .spw80p {
    width: 80% !important;
  }
}

@media screen and (max-width: 780px) {
  .spw90p {
    width: 90% !important;
  }
}

@media screen and (max-width: 780px) {
  .spw100p {
    width: 100% !important;
  }
}

.fz10 {
  font-size: 10px !important;
}

.fz11 {
  font-size: 11px !important;
}

.fz12 {
  font-size: 12px !important;
}

.fz13 {
  font-size: 13px !important;
}

.fz14 {
  font-size: 14px !important;
}

.fz15 {
  font-size: 15px !important;
}

.fz16 {
  font-size: 16px !important;
}

.fz17 {
  font-size: 17px !important;
}

.fz18 {
  font-size: 18px !important;
}

.fz19 {
  font-size: 19px !important;
}

.fz20 {
  font-size: 20px !important;
}

.fz21 {
  font-size: 21px !important;
}

.fz22 {
  font-size: 22px !important;
}

.fz23 {
  font-size: 23px !important;
}

.fz24 {
  font-size: 24px !important;
}

.fz25 {
  font-size: 25px !important;
}

.fz26 {
  font-size: 26px !important;
}

.fz27 {
  font-size: 27px !important;
}

.fz28 {
  font-size: 28px !important;
}

.fz29 {
  font-size: 29px !important;
}

.fz30 {
  font-size: 30px !important;
}

.fz31 {
  font-size: 31px !important;
}

.fz32 {
  font-size: 32px !important;
}

.fz33 {
  font-size: 33px !important;
}

.fz34 {
  font-size: 34px !important;
}

.fz35 {
  font-size: 35px !important;
}

.fz36 {
  font-size: 36px !important;
}

.fz37 {
  font-size: 37px !important;
}

.fz38 {
  font-size: 38px !important;
}

.fz39 {
  font-size: 39px !important;
}

.fz40 {
  font-size: 40px !important;
}

.fz41 {
  font-size: 41px !important;
}

.fz42 {
  font-size: 42px !important;
}

.fz43 {
  font-size: 43px !important;
}

.fz44 {
  font-size: 44px !important;
}

.fz45 {
  font-size: 45px !important;
}

.fz46 {
  font-size: 46px !important;
}

.fz47 {
  font-size: 47px !important;
}

.fz48 {
  font-size: 48px !important;
}

.fz49 {
  font-size: 49px !important;
}

.fz50 {
  font-size: 50px !important;
}

.bold {
  font-weight: bold !important;
}

.fw100 {
  font-weight: 100 !important;
}

.fw200 {
  font-weight: 200 !important;
}

.fw300 {
  font-weight: 300 !important;
}

.fw400 {
  font-weight: 400 !important;
}

.fw500 {
  font-weight: 500 !important;
}

.fw600 {
  font-weight: 600 !important;
}

.fw700 {
  font-weight: 700 !important;
}

.fw800 {
  font-weight: 800 !important;
}

.fw900 {
  font-weight: 900 !important;
}

.lh0 {
  line-height: 0 !important;
}

.lh1 {
  line-height: 0.1 !important;
}

.lh2 {
  line-height: 0.2 !important;
}

.lh3 {
  line-height: 0.3 !important;
}

.lh4 {
  line-height: 0.4 !important;
}

.lh5 {
  line-height: 0.5 !important;
}

.lh6 {
  line-height: 0.6 !important;
}

.lh7 {
  line-height: 0.7 !important;
}

.lh8 {
  line-height: 0.8 !important;
}

.lh9 {
  line-height: 0.9 !important;
}

.lh10 {
  line-height: 1 !important;
}

.lh11 {
  line-height: 1.1 !important;
}

.lh12 {
  line-height: 1.2 !important;
}

.lh13 {
  line-height: 1.3 !important;
}

.lh14 {
  line-height: 1.4 !important;
}

.lh15 {
  line-height: 1.5 !important;
}

.lh16 {
  line-height: 1.6 !important;
}

.lh17 {
  line-height: 1.7 !important;
}

.lh18 {
  line-height: 1.8 !important;
}

.lh19 {
  line-height: 1.9 !important;
}

.lh20 {
  line-height: 2 !important;
}

.va0 {
  vertical-align: 0;
}

.va1 {
  vertical-align: 1px !important;
}

.va-1 {
  vertical-align: -1px !important;
}

.va2 {
  vertical-align: 2px !important;
}

.va-2 {
  vertical-align: -2px !important;
}

.va3 {
  vertical-align: 3px !important;
}

.va-3 {
  vertical-align: -3px !important;
}

.va4 {
  vertical-align: 4px !important;
}

.va-4 {
  vertical-align: -4px !important;
}

.va5 {
  vertical-align: 5px !important;
}

.va-5 {
  vertical-align: -5px !important;
}

.va6 {
  vertical-align: 6px !important;
}

.va-6 {
  vertical-align: -6px !important;
}

.va7 {
  vertical-align: 7px !important;
}

.va-7 {
  vertical-align: -7px !important;
}

.va8 {
  vertical-align: 8px !important;
}

.va-8 {
  vertical-align: -8px !important;
}

.va9 {
  vertical-align: 9px !important;
}

.va-9 {
  vertical-align: -9px !important;
}

.va10 {
  vertical-align: 10px !important;
}

.va-10 {
  vertical-align: -10px !important;
}

.mt-1 {
  margin-top: -1px !important;
}

.mt-5 {
  margin-top: -5px !important;
}

.fll {
  float: left !important;
}

.flr {
  float: right !important;
}

.fln {
  float: none !important;
}

.tac {
  text-align: center !important;
}

.tal {
  text-align: left !important;
}

.tar {
  text-align: right !important;
}

.taj {
  text-align: justify !important;
}

@media screen and (max-width: 780px) {
  .sp_tal {
    text-align: left;
  }
}
.vat {
  vertical-align: top !important;
}

.vab {
  vertical-align: bottom !important;
}

.vam {
  vertical-align: middle !important;
}

.clearfix {
  display: block;
  *zoom: 1;
}
.clearfix:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}

.flex {
  display: flex;
}
@media screen and (max-width: 780px) {
  .flex {
    flex-direction: column;
  }
}

.gap20 {
  gap: 20px !important;
}

@media screen and (max-width: 780px) {
  .sp_gap20 {
    gap: 20px !important;
  }
}
.gap30 {
  gap: 30px !important;
}

@media screen and (max-width: 780px) {
  .sp_gap30 {
    gap: 30px !important;
  }
}
.gap40 {
  gap: 40px !important;
}

@media screen and (max-width: 780px) {
  .sp_gap40 {
    gap: 40px !important;
  }
}
.gap50 {
  gap: 50px !important;
}

@media screen and (max-width: 780px) {
  .sp_gap50 {
    gap: 50px !important;
  }
}
.gap60 {
  gap: 60px !important;
}

@media screen and (max-width: 780px) {
  .sp_gap60 {
    gap: 60px !important;
  }
}
.gap70 {
  gap: 70px !important;
}

@media screen and (max-width: 780px) {
  .sp_gap70 {
    gap: 70px !important;
  }
}
.gap80 {
  gap: 80px !important;
}

@media screen and (max-width: 780px) {
  .sp_gap80 {
    gap: 80px !important;
  }
}
.gap90 {
  gap: 90px !important;
}

@media screen and (max-width: 780px) {
  .sp_gap90 {
    gap: 90px !important;
  }
}
.gap100 {
  gap: 100px !important;
}

@media screen and (max-width: 780px) {
  .sp_gap100 {
    gap: 100px !important;
  }
}
.gap110 {
  gap: 110px !important;
}

@media screen and (max-width: 780px) {
  .sp_gap110 {
    gap: 110px !important;
  }
}
.gap120 {
  gap: 120px !important;
}

@media screen and (max-width: 780px) {
  .sp_gap120 {
    gap: 120px !important;
  }
}
.just_sb {
  justify-content: space-between !important;
}

.none {
  display: none !important;
}

.block {
  display: block !important;
}

.ib,
.inline-block {
  display: inline-block;
  vertical-align: middle;
  *vertical-align: auto;
  *zoom: 1;
  *display: inline;
  vertical-align: top;
}

.inline {
  display: inline;
}

.table {
  display: table;
  table-layout: fixed;
}

table.table {
  table-layout: auto;
}

.table-row {
  display: table-row;
}

.table-cell {
  display: table-cell;
  vertical-align: top;
}

a.block:hover {
  text-decoration: none;
}

.list-disc {
  list-style-type: disc;
  padding-left: 20px;
}

.list-decimal {
  list-style-type: decimal;
  padding-left: 20px;
}

.radius2 {
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
}

.radius4 {
  -moz-border-radius: 4px !important;
  -webkit-border-radius: 4px;
  border-radius: 4px !important;
}

.radius5 {
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}

.radius6 {
  -moz-border-radius: 6px !important;
  -webkit-border-radius: 6px;
  border-radius: 6px !important;
}

.radius10 {
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

.radius50p {
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.indent {
  text-indent: -1.25em;
  padding-left: 1.25em;
}

.indent1 {
  text-indent: -1em;
  padding-left: 1em;
}

.indent20 {
  text-indent: -20px;
  padding-left: 20px;
}

.nowrap {
  white-space: nowrap;
}

.underline {
  text-decoration: underline;
}

.hover75 {
  -moz-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.hover75:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=75);
  opacity: 0.75;
}

.hover50 {
  -moz-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.hover50:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
  opacity: 0.5;
}

.hover25 {
  -moz-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.hover25:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=25);
  opacity: 0.25;
}

.fg0 {
  flex-grow: 0 !important;
}

.fg1 {
  flex-grow: 1 !important;
}

.nolink {
  pointer-events: none !important;
}

.no_bg {
  background: none !important;
}

.color-white {
  color: #fff !important;
}

.h-fit {
  height: fit-content;
}

.mincho {
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.indent {
  text-indent: -1em;
  margin-left: 1em;
}

.school-c {
  color: #A2174E;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "DNP ShueiGoKinStd", "Noto Sans JP", "NotoSansCJKjp", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", "Yu Gothic", YuGothic, "MS P Gothic", "ＭＳ Ｐゴシック", arial, helvetica, sans-serif;
  color: #1B293E;
  line-height: 1.4;
  font-weight: 500;
  font-size: 15px;
  font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
}

h1 {
  font-size: 34px;
}

h2 {
  font-size: 28px;
}

h3 {
  font-size: 24px;
}

h4 {
  font-size: 20px;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

h1, h2, h3, h4, div, p, a {
  word-wrap: break-word;
}

a {
  color: #1B293E;
  cursor: pointer;
  text-decoration: none;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
a:hover {
  text-decoration: none;
  opacity: 0.7;
}

strong {
  font-weight: bold;
}

span {
  display: inline-block;
  vertical-align: middle;
  *vertical-align: auto;
  *zoom: 1;
  *display: inline;
  vertical-align: bottom;
}

table th, table td {
  vertical-align: top;
}

img {
  vertical-align: middle;
}

html {
  margin-top: 0 !important;
}

#wpadminbar {
  display: none;
}

/*
レイアウト
----------------------------*/
html {
  position: relative;
  font-weight: 500;
}

body {
  width: 100%;
  background-color: #fff;
}
@media screen and (max-width: 1030px) {
  body {
    min-width: 100%;
  }
}

.container {
  max-width: 1530px;
  width: 100%;
  padding-left: 95px;
  padding-right: 95px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.container.size-sm {
  max-width: 930px;
}
.container.size-xs {
  max-width: 1040px;
}
.container.size-xl {
  max-width: 100%;
  box-sizing: border-box;
}
.container.size-xxl {
  max-width: 1123px;
}
@media screen and (max-width: 1030px) {
  .container {
    padding-left: 0;
    padding-right: 0;
    width: calc(100% - 54px);
  }
  .container.size-sm {
    width: calc(100% - 54px);
  }
  .container.size-xs {
    width: calc(100% - 54px);
  }
  .container.size-xl {
    width: calc(100% - 54px);
  }
  .container.size-xxl {
    width: calc(100% - 54px);
  }
  .container.sp_full {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
  }
}
@media screen and (max-width: 780px) {
  .container {
    padding-left: 0;
    padding-right: 0;
    width: calc(100% - 52px);
  }
  .container.size-sm {
    width: calc(100% - 52px);
  }
  .container.size-xs {
    width: calc(100% - 52px);
  }
  .container.size-xl {
    width: calc(100% - 52px);
  }
  .container.size-xxl {
    width: calc(100% - 52px);
  }
}

.inner-pd {
  padding: 0 70px;
}
@media screen and (max-width: 780px) {
  .inner-pd {
    padding: 0 11px;
  }
}

.page-container001 {
  max-width: 1680px;
  padding-left: 171px;
  padding-right: 171px;
  margin: 0 auto;
}
@media screen and (max-width: 1030px) {
  .page-container001 {
    margin-left: 30px;
    margin-right: 30px;
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 780px) {
  .page-container001 {
    margin-left: 26px;
    margin-right: 26px;
  }
}

html {
  margin-top: 0 !important;
}

/*
header
----------------------------*/
.header {
  position: relative;
  height: 60px;
  z-index: 9999;
}
@media screen and (max-width: 1030px) {
  .header {
    height: 70px;
  }
}
@media screen and (max-width: 780px) {
  .header {
    top: 0;
    width: 100%;
    z-index: 10;
    background: #fff;
  }
}
.header .header-logo {
  position: absolute;
  left: 39px;
  top: 0;
}
@media screen and (max-width: 1030px) {
  .header .header-logo {
    left: 0;
    width: 130px;
  }
}
@media screen and (max-width: 780px) {
  .header .header-logo {
    width: 70px;
  }
}
.header .header-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
.header .header-main .faculty {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: 204px;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 145.455%;
  letter-spacing: 0.25px;
}
@media screen and (max-width: 1200px) {
  .header .header-main .faculty {
    font-size: 16px;
  }
}
@media screen and (max-width: 1030px) {
  .header .header-main .faculty {
    margin-left: 147px;
    font-size: 15px;
    gap: 8px;
  }
  .header .header-main .faculty img {
    margin-right: 10px;
  }
}
@media screen and (max-width: 1030px) and (max-width: 1030px) {
  .header .header-main .faculty img {
    margin-right: 0;
  }
}

@media screen and (max-width: 780px) {
  .header .header-main .faculty {
    margin-left: 80px;
  }
}
.header .header-main .header-menus {
  display: flex;
  justify-content: flex-end;
}
.header .header-main .header-menus .header-links {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 780px) {
  .header .header-main .header-menus .header-links {
    display: none;
  }
}
.header .header-main .header-menus .header-links > li {
  display: flex;
  align-items: center;
}
.header .header-main .header-menus .header-links > li a {
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0 min(30 / 1680 *100vw,30px);
  text-align: center;
  width: 124px;
}
.header .header-main .header-menus .header-links > li a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1100px) {
  .header .header-main .header-menus .header-links > li a {
    padding: 0 11px;
    width: 74px;
  }
}
.header .header-main .header-menus .header-links > li a .icons {
  display: block;
  width: 100%;
}
.header .header-main .header-menus .header-links > li a .icons:nth-child(n+2) img {
  width: 22px;
}
@media screen and (max-width: 1030px) {
  .header .header-main .header-menus .header-links > li a .icons:nth-child(n+2) img {
    width: auto;
  }
}
@media screen and (max-width: 1100px) {
  .header .header-main .header-menus .header-links > li a .icons {
    margin-bottom: 4px;
  }
  .header .header-main .header-menus .header-links > li a .icons .icn-logo {
    width: 70px;
  }
  .header .header-main .header-menus .header-links > li a .icons .icn-clip {
    width: 24px;
  }
  .header .header-main .header-menus .header-links > li a .icons .icn-info {
    width: 24px;
  }
}
.header .header-main .header-menus .header-links > li a p {
  display: block;
  width: 100%;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}
.header .header-main .header-menus .header-links > li a p .icon-blank {
  position: relative;
  top: -1px;
  vertical-align: middle;
  line-height: 0;
}
@media screen and (max-width: 1100px) {
  .header .header-main .header-menus .header-links > li a p {
    font-size: 10px;
  }
}
@media screen and (max-width: 1030px) {
  .header .header-main .header-menus .header-links > li a p img {
    width: 17px;
  }
}
.header .header-main .header-menus .header-links > li a:before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 44px;
  background: #BCBFC3;
  transform: translateY(-50%);
}
.header .header-main .header-menus .header-links > li:nth-child(1) a .icons {
  margin-bottom: 6px;
}
.header .header-main .header-menus .languages {
  position: relative;
}
.header .header-main .header-menus .languages > .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 67px;
  height: 60px;
  background: var(--middle, #929FAE);
  gap: 5px;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1030px) {
  .header .header-main .header-menus .languages > .inner {
    width: 70px;
    height: 70px;
    overflow: hidden;
  }
}
@media screen and (max-width: 780px) {
  .header .header-main .header-menus .languages > .inner {
    width: 32px;
    flex-wrap: wrap;
    align-items: stretch;
    align-self: auto;
  }
}
.header .header-main .header-menus .languages > .inner:hover {
  opacity: 0.7;
}
.header .header-main .header-menus .languages > .inner:before {
  content: '';
  position: absolute;
  width: 24px;
  height: 24px;
  left: 50%;
  bottom: 0;
  background: url("https://fst.sophia.ac.jp/common/img/icn-arrow-bottom-01.svg") no-repeat;
  background-size: cover;
  transform: translateX(-50%);
}
@media screen and (max-width: 780px) {
  .header .header-main .header-menus .languages > .inner:before {
    bottom: -3px;
  }
}
@media screen and (max-width: 780px) {
  .header .header-main .header-menus .languages > .inner img {
    width: 16px;
  }
}
.header .header-main .header-menus .languages > .inner .status {
  color: var(--grey-white, #FFF);
  text-align: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 81.281%;
  letter-spacing: 0.444px;
}
@media screen and (max-width: 780px) {
  .header .header-main .header-menus .languages > .inner .status {
    margin-top: -10px;
    font-size: 9px;
  }
}
.header .header-main .header-menus .languages .header-language-list,
.header .header-main .header-menus .languages .bogo-language-switcher {
  position: absolute;
  height: 0;
  width: 100%;
  left: 0;
  bottom: 0;
  transform: translateY(100%);
  overflow: hidden;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.header .header-main .header-menus .languages .header-language-list li,
.header .header-main .header-menus .languages .bogo-language-switcher li {
  width: 100%;
}
.header .header-main .header-menus .languages .header-language-list li a,
.header .header-main .header-menus .languages .bogo-language-switcher li a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 40px;
  background: #929FAE;
  color: #fff;
  font-weight: 700;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1030px) {
  .header .header-main .header-menus .languages .header-language-list li a,
  .header .header-main .header-menus .languages .bogo-language-switcher li a {
    width: 70px;
    height: 40px;
  }
}
@media screen and (max-width: 780px) {
  .header .header-main .header-menus .languages .header-language-list li a,
  .header .header-main .header-menus .languages .bogo-language-switcher li a {
    width: 100%;
    font-size: 9px;
  }
}
.header .header-main .header-menus .languages .header-language-list li a:hover,
.header .header-main .header-menus .languages .bogo-language-switcher li a:hover {
  background: #F3F3F3;
  color: #929FAE;
}
.header .header-main .header-menus .languages .bogo-language-switcher {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}
.header .header-main .header-menus .languages:hover .header-language-list,
.header .header-main .header-menus .languages:hover .bogo-language-switcher {
  height: auto;
  width: 100%;
}
.header .header-main .header-menus .header-menu-btn {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  text-align: center;
  width: 60px;
  height: 60px;
  background: #76AEB6;
  gap: 7px;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1030px) {
  .header .header-main .header-menus .header-menu-btn {
    width: 70px;
    height: 70px;
  }
}
@media screen and (max-width: 780px) {
  .header .header-main .header-menus .header-menu-btn {
    display: none;
  }
}
.header .header-main .header-menus .header-menu-btn:hover {
  opacity: 0.7;
}
.header .header-main .header-menus .header-menu-btn .img {
  width: 100%;
}
.header .header-main .header-menus .header-menu-btn > span {
  display: block;
  width: 100%;
  color: var(--grey-white, #FFF);
  text-align: center;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

.sp-nav-pagetop {
  display: none;
}
@media screen and (max-width: 780px) {
  .sp-nav-pagetop {
    display: block;
    transform: translateY(0px);
    position: fixed;
    bottom: 18.46154vw;
    right: 6.15385vw;
  }
  .sp-nav-pagetop.active {
    transform: translateY(110px);
  }
  .sp-nav-pagetop > img {
    width: 9.23077vw;
    height: 9.23077vw;
  }
}

.sp-menus {
  display: none;
}
@media screen and (max-width: 780px) {
  .sp-menus {
    position: fixed;
    width: 96vw;
    height: 50px;
    left: 2vw;
    bottom: 2vw;
    display: flex !important;
    justify-content: space-between;
    border-radius: 8px;
    overflow: hidden;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    background: #fff;
    background: linear-gradient(90deg, #ffffff 0%, #ffffff 95%, #76aeb6 95%, #76aeb6 100%);
    z-index: 500;
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.12);
    transform: translateY(0px);
  }
  .sp-menus.en {
    height: 65px;
  }
  .sp-menus.js--action-hide {
    transform: translateY(60px);
  }
  .sp-menus.js--action-hide.en {
    transform: translateY(80px);
  }
}
.sp-menus .logo {
  background: #9A003D;
  width: 95px;
  display: flex;
  align-items: center;
}
.sp-menus .logo a {
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-self: center;
  text-align: center;
}
.sp-menus .logo a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1030px) {
  .sp-menus .logo a {
    padding: 0 11px;
  }
}
.sp-menus .logo a .icons {
  display: block;
  width: 100%;
  margin-bottom: 5px;
}
.sp-menus .logo a p {
  display: block;
  width: 100%;
  color: #fff;
  font-size: 8px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0;
  text-transform: uppercase;
}
.sp-menus .logo a p .icon-blank {
  position: relative;
  top: -1px;
  vertical-align: middle;
  line-height: 0;
  width: 15px;
}
.sp-menus .testinfo-link, .sp-menus .document-link {
  display: flex;
  align-items: center;
}
.sp-menus .testinfo-link a, .sp-menus .document-link a {
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  text-align: center;
}
.sp-menus .testinfo-link a:hover, .sp-menus .document-link a:hover {
  opacity: 0.7;
}
.sp-menus .testinfo-link a .icons, .sp-menus .document-link a .icons {
  display: block;
  width: 100%;
  margin-bottom: 0;
}
.sp-menus .testinfo-link a p, .sp-menus .document-link a p {
  display: block;
  width: 100%;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}
.sp-menus .testinfo-link a p .icon-blank, .sp-menus .document-link a p .icon-blank {
  position: relative;
  top: -1px;
  vertical-align: middle;
  line-height: 0;
}
@media screen and (max-width: 1030px) {
  .sp-menus .testinfo-link a p, .sp-menus .document-link a p {
    font-size: 8px;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 1030px) {
  .sp-menus .testinfo-link a p img, .sp-menus .document-link a p img {
    width: 17px;
  }
}
.sp-menus .testinfo-link a {
  position: relative;
}
.sp-menus .testinfo-link a:before {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  width: 1px;
  height: 18px;
  background: #BCBFC3;
  transform: translateY(-50%);
}
.sp-menus .header-menu-btn {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  text-align: center;
  width: 62px;
  background: #76AEB6;
  gap: 7px;
}
.sp-menus .header-menu-btn .img {
  width: 100%;
  text-align: center;
}
.sp-menus .header-menu-btn .img > img {
  margin: 0 auto;
}
.sp-menus .header-menu-btn .img-open {
  display: block;
}
.sp-menus .header-menu-btn .img-close {
  display: none;
}
.sp-menus .header-menu-btn > span {
  display: block;
  width: 100%;
  color: var(--grey-white, #FFF);
  text-align: center;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}
.sp-menus .header-menu-btn.active .img-open {
  display: none;
}
.sp-menus .header-menu-btn.active .img-close {
  display: block;
}

.main-menu {
  display: none;
  position: absolute;
  height: calc(100vh - 80px);
  width: 100vw;
  padding: 55px 0;
  box-sizing: border-box;
  background: #76AEB6;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 99;
}
@media screen and (max-width: 1030px) {
  .main-menu {
    padding: 120px 0;
    height: calc(100vh - 70px);
  }
}
@media screen and (max-width: 780px) {
  .main-menu {
    position: fixed;
    top: 0;
    height: 100vh;
    padding: 23px 0 33px;
    z-index: 1000;
  }
}
.main-menu .bad_btn {
  padding-bottom: 8px;
  text-align: right;
  position: relative;
}
.main-menu .bad_btn .sp-menu-close {
  position: fixed;
  top: 10px;
  right: 10px;
}
.main-menu h2 {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 25px;
}
.main-menu h2 > img {
  margin-right: 20px;
}
.main-menu h2 > span {
  color: var(--unnamed, var(--grey-white, #FFF));
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.25px;
}
.main-menu h2 .sp-menu-close {
  display: none;
}
@media screen and (max-width: 780px) {
  .main-menu h2 .sp-menu-close {
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }
}
.main-menu .menu-col {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 780px) {
  .main-menu .menu-col {
    flex-wrap: wrap;
  }
}
.main-menu .menu-col .faculty-links {
  max-width: 450px;
  width: 100%;
}
@media screen and (max-width: 1030px) {
  .main-menu .menu-col .faculty-links {
    width: 48%;
  }
}
@media screen and (max-width: 780px) {
  .main-menu .menu-col .faculty-links {
    max-width: 100%;
    width: 100%;
    margin-bottom: 32px;
  }
}
.main-menu .menu-col .faculty-links .faculty-list > li {
  margin-bottom: 10px;
}
.main-menu .menu-col .faculty-links .faculty-list > li a {
  display: flex;
  align-items: center;
  padding: 9px;
  font-size: 16px;
  background: #fff;
  border-radius: 10px;
  font-weight: 700;
}
.main-menu .menu-col .faculty-links .faculty-list > li a img {
  margin-right: 18px;
}
.main-menu .menu-col .faculty-links .txt-box {
  padding: 25px;
  background: #fff;
  border-radius: 10px;
}
.main-menu .menu-col .faculty-links .txt-box h3 {
  margin-bottom: 20px;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  color: var(--support-color-100, #1B293E);
  letter-spacing: 0.21px;
}
.main-menu .menu-col .faculty-links .txt-box > ul {
  display: flex;
  flex-wrap: wrap;
}
.main-menu .menu-col .faculty-links .txt-box > ul > li {
  align-items: center;
  color: var(--hight, #5C6778);
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.21px;
}
.main-menu .menu-col .faculty-links .txt-box > ul > li:after {
  content: '';
  display: inline-block;
  margin: 0 15px;
  width: 1px;
  height: 14px;
  background: #5C6778;
  transform: rotate(45deg);
}
.main-menu .menu-col .faculty-links .txt-box > ul > li:last-child:after {
  display: none;
}
.main-menu .menu-col .pages-links {
  max-width: 370px;
  width: 100%;
}
@media screen and (max-width: 1030px) {
  .main-menu .menu-col .pages-links {
    width: 48%;
  }
}
@media screen and (max-width: 780px) {
  .main-menu .menu-col .pages-links {
    max-width: 100%;
    width: 100%;
  }
}
.main-menu .menu-col .pages-links .main-link {
  margin-bottom: 20px;
  margin-left: 24px;
}
.main-menu .menu-col .pages-links .main-link > li {
  margin-bottom: 20px;
}
.main-menu .menu-col .pages-links .main-link > li a {
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 177.778%;
  letter-spacing: 0.25px;
  color: #FFF;
}
.main-menu .menu-col .pages-links .sub-link {
  margin-left: 20px;
}
.main-menu .menu-col .pages-links .sub-link > li {
  margin-bottom: 20px;
}
.main-menu .menu-col .pages-links .sub-link > li a {
  color: #FFF;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.21px;
}
.main-menu .menu-col02 .pages-links {
  max-width: inherit;
  width: 100%;
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 1030px) {
  .main-menu .menu-col02 .pages-links {
    width: 100%;
  }
}
@media screen and (max-width: 780px) {
  .main-menu .menu-col02 .pages-links {
    max-width: 100%;
    width: 100%;
    flex-direction: column;
  }
}
.main-menu .menu-col02 .pages-links .main-link {
  width: calc(100% / 2 - 16px);
}
@media screen and (max-width: 780px) {
  .main-menu .menu-col02 .pages-links .main-link {
    width: 100%;
  }
}
.main-menu .menu-col02 .pages-links .main-link > li {
  margin-bottom: 20px;
}
.main-menu .menu-col02 .pages-links .main-link > li a {
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 177.778%;
  letter-spacing: 0.25px;
  color: #FFF;
}
.main-menu .menu-col02 .pages-links .sub-link {
  width: calc(100% / 2 - 16px);
}
@media screen and (max-width: 780px) {
  .main-menu .menu-col02 .pages-links .sub-link {
    width: 100%;
  }
}
.main-menu .menu-col02 .pages-links .sub-link > li {
  margin-bottom: 20px;
}
.main-menu .menu-col02 .pages-links .sub-link > li a {
  color: #FFF;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.21px;
}

/*
footer
----------------------------*/
.footer {
  position: relative;
  padding: 110px 0 0;
}
@media screen and (max-width: 1030px) {
  .footer {
    padding-top: 87px;
  }
}
@media screen and (max-width: 780px) {
  .footer {
    width: 100%;
  }
}
.footer .container {
  position: relative;
  padding-bottom: 27px;
}
.footer .footer-logo {
  margin-bottom: 120px;
  text-align: center;
}
@media screen and (max-width: 1030px) {
  .footer .footer-logo {
    margin-bottom: 95px;
  }
}
@media screen and (max-width: 780px) {
  .footer .footer-logo {
    margin-bottom: 60px;
  }
  .footer .footer-logo img {
    width: 204px;
  }
}
.footer .footer-contact {
  display: flex;
  gap: 80px;
  flex-wrap: wrap;
  margin-bottom: 100px;
}
.footer .footer-contact .box {
  width: calc(100% / 2 - 80px);
  flex-grow: 1;
}
@media screen and (max-width: 780px) {
  .footer .footer-contact .box {
    width: 100%;
  }
}
.footer .footer-contact .box .contact-name {
  font-size: 18px;
  line-height: 1.77778;
  font-weight: 700;
  padding-bottom: 12px;
  border-bottom: 1px solid #D1D2D4;
  margin-bottom: 15px;
}
.footer .footer-contact .box p {
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 8px;
}
.footer .footer-contact .box address a {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.55556;
  gap: 8px;
}
.footer .footer-facult-list {
  margin-bottom: 145px;
  display: flex;
  flex-wrap: wrap;
  gap: 1%;
}
@media screen and (max-width: 1030px) {
  .footer .footer-facult-list {
    margin-bottom: 65px;
  }
}
@media screen and (max-width: 780px) {
  .footer .footer-facult-list {
    margin-bottom: 48px;
  }
}
.footer .footer-facult-list > li {
  width: calc(100% / 5 - 1% * 4/5);
}
@media screen and (max-width: 1250px) {
  .footer .footer-facult-list > li {
    width: calc(100% / 4 - 1%);
  }
}
@media screen and (max-width: 1030px) {
  .footer .footer-facult-list > li {
    width: 23%;
  }
}
@media screen and (max-width: 780px) {
  .footer .footer-facult-list > li {
    width: 100%;
  }
}
.footer .footer-facult-list > li a {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 22px 0;
  height: 23px;
  border-bottom: 1px solid #DADBDC;
}
@media screen and (max-width: 780px) {
  .footer .footer-facult-list > li a {
    padding: 22px 15px;
    height: auto;
  }
}
.footer .footer-facult-list > li a > span .icon-blank {
  position: relative;
  margin-left: 0.5em;
  top: -2px;
  vertical-align: middle;
  line-height: 0;
}
@media screen and (max-width: 1030px) {
  .footer .footer-facult-list.la-en {
    gap: 3%;
  }
}
.footer .footer-facult-list.la-en > li {
  width: calc(100% / 4 - 1% * 3/4);
}
@media screen and (max-width: 1030px) {
  .footer .footer-facult-list.la-en > li {
    width: 48%;
  }
}
@media screen and (max-width: 780px) {
  .footer .footer-facult-list.la-en > li {
    width: 100%;
  }
}
.footer .footer-facult-list.la-en > li a {
  font-size: 12px;
}
.footer .footer-sns {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 24px;
}
@media screen and (max-width: 780px) {
  .footer .footer-sns {
    flex-direction: column;
    margin-bottom: 48px;
    gap: 24px;
  }
}
.footer .footer-sns .social-title {
  color: #1B293E;
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}
.footer .footer-sns .social-list {
  display: flex;
  justify-content: center;
  gap: 40px;
}
@media screen and (max-width: 780px) {
  .footer .footer-sns .social-list {
    gap: 20px;
  }
}
.footer .footer-sub {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 100px;
}
@media screen and (max-width: 1030px) {
  .footer .footer-sub {
    margin-bottom: 65px;
  }
}
@media screen and (max-width: 780px) {
  .footer .footer-sub {
    flex-wrap: wrap;
  }
}
.footer .footer-sub .links {
  display: flex;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
}
@media screen and (max-width: 780px) {
  .footer .footer-sub .links.en > li {
    width: 100%;
  }
}
@media screen and (max-width: 780px) {
  .footer .footer-sub .links {
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    gap: 0;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 780px) {
  .footer .footer-sub .links > li {
    width: 50%;
    margin-bottom: 10px;
  }
}
.footer .footer-sub .links > li a {
  position: relative;
  color: #586270;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.27px;
}
@media screen and (max-width: 780px) {
  .footer .footer-sub .links > li a {
    font-size: 10px;
  }
}
.footer .footer-sub .links > li a:before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 10px;
  background: url(https://fst.sophia.ac.jp/common/img/icn-arrow-right-circle-02.svg) no-repeat;
  background-size: cover;
  position: relative;
  margin-left: 0.5em;
  top: -1px;
  vertical-align: middle;
  line-height: 0;
}
.footer .footer-sub .links > li a .icon-blank {
  position: relative;
  margin-left: 0.5em;
  top: -1px;
  vertical-align: middle;
  line-height: 0;
}
@media screen and (max-width: 780px) {
  .footer .footer-sub .txt-logo {
    width: 100%;
    text-align: center;
  }
  .footer .footer-sub .txt-logo img {
    width: 55.64103vw;
  }
}
.footer .copy {
  color: #1B293E;
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
  letter-spacing: -0.48px;
}
.footer .pagetop {
  display: none;
  position: fixed;
  right: 0px;
  bottom: 0px;
  z-index: 100;
}
@media screen and (max-width: 780px) {
  .footer .pagetop {
    display: none;
  }
}
.footer .pagetop a {
  display: block;
  width: 190px;
  height: 50px;
  color: #FFF;
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 50px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  background: #1B293E;
}
.footer .pagetop a .icon-pagetop {
  position: relative;
  top: -2px;
  vertical-align: middle;
  line-height: 0;
}

/*
loading
----------------------------*/
/*
section
----------------------------*/
.section {
  padding: 61px 0 71px;
}
@media screen and (max-width: 780px) {
  .section {
    padding: 35px 0 38px;
  }
}

@media screen and (max-width: 780px) {
  .section-mews {
    padding: 35px 0 0 !important;
  }
}

#section-conversion {
  background: #E5E5E5;
}

.breadcrumb {
  background: #F3F3F3;
  padding: 18px 0;
  padding-left: min(205 / 750 *100vw,205px);
  font-size: 14px;
  letter-spacing: 0.25px;
}
@media screen and (max-width: 780px) {
  .breadcrumb {
    padding-left: 13px;
  }
}
.breadcrumb span > span {
  position: relative;
  align-items: center;
}
.breadcrumb span > span::after {
  content: "";
  background: url(../img/icn-breadcrumb01.svg) no-repeat;
  background-size: cover;
  width: 6px;
  height: 12px;
  display: inline-block;
  margin: 0 20px;
}
@media screen and (max-width: 780px) {
  .breadcrumb span > span::after {
    margin: 0 10px;
    width: 5px;
    height: 10px;
  }
}
.breadcrumb span > .breadcrumb_last {
  font-weight: 700;
}
.breadcrumb span > .breadcrumb_last::after {
  content: none;
}

.bg-white {
  background: #fff;
}

.bg-glay {
  background: #F3F3F3;
}

.bg-none {
  background: none !important;
}

.page-404 {
  padding: 70px;
}
@media screen and (max-width: 780px) {
  .page-404 {
    padding: 60px 0;
  }
}
.page-404 h2 {
  font-size: 28px;
  font-weight: bold;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: 40px;
  letter-spacing: 0.25px;
}
@media screen and (max-width: 780px) {
  .page-404 h2 {
    font-size: 24px;
    margin-bottom: 28px;
  }
}
.page-404 p {
  font-size: 16px;
  margin-bottom: 40px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.75;
}
@media screen and (max-width: 780px) {
  .page-404 p {
    margin-bottom: 32px;
  }
}
.page-404 .error-sub {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 780px) {
  .page-404 .error-sub {
    flex-wrap: wrap;
  }
}
.page-404 .error-sub .links {
  display: flex;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
}
@media screen and (max-width: 780px) {
  .page-404 .error-sub .links {
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    gap: 0;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 780px) {
  .page-404 .error-sub .links > li {
    width: 50%;
    margin-bottom: 10px;
  }
}
.page-404 .error-sub .links > li a {
  position: relative;
  color: #586270;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.27px;
}
@media screen and (max-width: 780px) {
  .page-404 .error-sub .links > li a {
    font-size: 10px;
  }
}
.page-404 .error-sub .links > li a:before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 10px;
  background: url(https://fst.sophia.ac.jp/common/img/icn-arrow-right-circle-02.svg) no-repeat;
  background-size: cover;
  position: relative;
  margin-left: 0.5em;
  top: -1px;
  vertical-align: middle;
  line-height: 0;
}
.page-404 .error-sub .links > li a .icon-blank {
  position: relative;
  margin-left: 0.5em;
  top: -1px;
  vertical-align: middle;
  line-height: 0;
}

@media screen and (max-width: 780px) {
  .section-internal-links {
    padding: 35px 0 18px;
  }
}

.title-36 {
  font-size: 28px;
  letter-spacing: 0.25px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.title-16 {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.21px;
}
@media screen and (max-width: 780px) {
  .title-16 {
    font-size: 15px;
    line-height: 1.86667;
  }
}

.title-sticky::before {
  content: "";
  display: block;
  height: 4px;
  width: 126px;
  background: #A2174E;
  margin-bottom: 53px;
}
@media screen and (max-width: 780px) {
  .title-sticky::before {
    width: 120px;
  }
}

/* google検索窓 */
.gsc-modal-background-image-visible {
  background-color: #000 !important;
  opacity: 0.6 !important;
}

.pc_block {
  display: block !important;
}

.pc_none {
  display: none !important;
}

.pc_only {
  display: block !important;
}

.sp_only {
  display: none !important;
}

@media screen and (max-width: 1030px) {
  .sp_only {
    display: block !important;
  }

  .pc_only {
    display: none !important;
  }
}
@media screen and (max-width: 1030px) {
  .sp_none {
    display: none !important;
  }

  .sp_block {
    display: block !important;
  }

  .sp_inline-block {
    display: inline-block !important;
  }

  .sp_tac {
    text-align: center !important;
  }

  .sp_tal {
    text-align: left !important;
  }

  .sp_tar {
    text-align: right !important;
  }

  .sp_fln {
    float: none !important;
  }

  .sp_bdn {
    border: none !important;
  }

  .sp_fz20 {
    font-size: 18px !important;
  }

  .sp_fz12 {
    font-size: 12px !important;
  }

  .sp_fz16 {
    font-size: 16px !important;
  }

  .sp_w15 {
    width: 15px !important;
  }

  .sp_h15 {
    height: 15px;
  }

  .sp_w50 {
    width: 50px;
  }

  .sp_w200 {
    width: 200px;
  }

  .sp_w250 {
    width: 250px;
  }

  .sp_w80 {
    width: 80px !important;
  }

  .sp_w100 {
    width: 100px !important;
  }

  .sp_w24p {
    width: 24% !important;
  }

  .sp_w34p {
    width: 34% !important;
  }

  .sp_w100p {
    width: 100% !important;
  }

  .sp_wauto {
    width: auto !important;
  }

  .sp_maxw100p {
    max-width: 100% !important;
  }

  .sp_minwn {
    min-width: none !important;
  }

  .sp_maxwn {
    max-width: none !important;
  }

  .sp_col1 {
    *zoom: 1;
  }
  .sp_col1:after {
    content: "\0020";
    display: block;
    height: 0;
    clear: both;
    overflow: hidden;
    visibility: hidden;
  }
  .sp_col1 > .cell {
    width: auto !important;
    float: none !important;
    clear: both;
    margin-right: 0;
    margin-bottom: 20px;
  }
  .sp_col1 > .cell:nth-child(1n-1) {
    float: none !important;
    clear: both;
    margin-right: 0;
    margin-bottom: 20px;
  }
  .sp_col1 > .cell:nth-child(1n-0) {
    float: none !important;
    clear: both;
    margin-right: 0;
    margin-bottom: 20px;
  }

  .sp_p0 {
    padding: 0px !important;
  }

  .sp_pt0 {
    padding-top: 0px !important;
  }

  .sp_pb0 {
    padding-bottom: 0px !important;
  }

  .sp_pl0 {
    padding-left: 0px !important;
  }

  .sp_pr0 {
    padding-right: 0px !important;
  }

  .sp_pv0 {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }

  .sp_ph0 {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  .sp_m0 {
    margin: 0px !important;
  }

  .sp_mt0 {
    margin-top: 0px !important;
  }

  .sp_mt-0 {
    margin-top: 0px !important;
  }

  .sp_mb0 {
    margin-bottom: 0px !important;
  }

  .sp_ml0 {
    margin-left: 0px !important;
  }

  .sp_mr0 {
    margin-right: 0px !important;
  }

  .sp_mv0 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }

  .sp_mh0 {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }

  .sp_p5 {
    padding: 5px !important;
  }

  .sp_pt5 {
    padding-top: 5px !important;
  }

  .sp_pb5 {
    padding-bottom: 5px !important;
  }

  .sp_pl5 {
    padding-left: 5px !important;
  }

  .sp_pr5 {
    padding-right: 5px !important;
  }

  .sp_pv5 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  .sp_ph5 {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  .sp_m5 {
    margin: 5px !important;
  }

  .sp_mt5 {
    margin-top: 5px !important;
  }

  .sp_mt-5 {
    margin-top: -5px !important;
  }

  .sp_mb5 {
    margin-bottom: 5px !important;
  }

  .sp_ml5 {
    margin-left: 5px !important;
  }

  .sp_mr5 {
    margin-right: 5px !important;
  }

  .sp_mv5 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }

  .sp_mh5 {
    margin-left: 5px !important;
    margin-right: 5px !important;
  }

  .sp_p10 {
    padding: 10px !important;
  }

  .sp_pt10 {
    padding-top: 10px !important;
  }

  .sp_pb10 {
    padding-bottom: 10px !important;
  }

  .sp_pl10 {
    padding-left: 10px !important;
  }

  .sp_pr10 {
    padding-right: 10px !important;
  }

  .sp_pv10 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .sp_ph10 {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .sp_m10 {
    margin: 10px !important;
  }

  .sp_mt10 {
    margin-top: 10px !important;
  }

  .sp_mt-10 {
    margin-top: -10px !important;
  }

  .sp_mb10 {
    margin-bottom: 10px !important;
  }

  .sp_ml10 {
    margin-left: 10px !important;
  }

  .sp_mr10 {
    margin-right: 10px !important;
  }

  .sp_mv10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }

  .sp_mh10 {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  .sp_p15 {
    padding: 15px !important;
  }

  .sp_pt15 {
    padding-top: 15px !important;
  }

  .sp_pb15 {
    padding-bottom: 15px !important;
  }

  .sp_pl15 {
    padding-left: 15px !important;
  }

  .sp_pr15 {
    padding-right: 15px !important;
  }

  .sp_pv15 {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }

  .sp_ph15 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .sp_m15 {
    margin: 15px !important;
  }

  .sp_mt15 {
    margin-top: 15px !important;
  }

  .sp_mt-15 {
    margin-top: -15px !important;
  }

  .sp_mb15 {
    margin-bottom: 15px !important;
  }

  .sp_ml15 {
    margin-left: 15px !important;
  }

  .sp_mr15 {
    margin-right: 15px !important;
  }

  .sp_mv15 {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }

  .sp_mh15 {
    margin-left: 15px !important;
    margin-right: 15px !important;
  }

  .sp_p20 {
    padding: 20px !important;
  }

  .sp_pt20 {
    padding-top: 20px !important;
  }

  .sp_pb20 {
    padding-bottom: 20px !important;
  }

  .sp_pl20 {
    padding-left: 20px !important;
  }

  .sp_pr20 {
    padding-right: 20px !important;
  }

  .sp_pv20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  .sp_ph20 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .sp_m20 {
    margin: 20px !important;
  }

  .sp_mt20 {
    margin-top: 20px !important;
  }

  .sp_mt-20 {
    margin-top: -20px !important;
  }

  .sp_mb20 {
    margin-bottom: 20px !important;
  }

  .sp_ml20 {
    margin-left: 20px !important;
  }

  .sp_mr20 {
    margin-right: 20px !important;
  }

  .sp_mv20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }

  .sp_mh20 {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }

  .sp_p25 {
    padding: 25px !important;
  }

  .sp_pt25 {
    padding-top: 25px !important;
  }

  .sp_pb25 {
    padding-bottom: 25px !important;
  }

  .sp_pl25 {
    padding-left: 25px !important;
  }

  .sp_pr25 {
    padding-right: 25px !important;
  }

  .sp_pv25 {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }

  .sp_ph25 {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }

  .sp_m25 {
    margin: 25px !important;
  }

  .sp_mt25 {
    margin-top: 25px !important;
  }

  .sp_mt-25 {
    margin-top: -25px !important;
  }

  .sp_mb25 {
    margin-bottom: 25px !important;
  }

  .sp_ml25 {
    margin-left: 25px !important;
  }

  .sp_mr25 {
    margin-right: 25px !important;
  }

  .sp_mv25 {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }

  .sp_mh25 {
    margin-left: 25px !important;
    margin-right: 25px !important;
  }

  .sp_p30 {
    padding: 30px !important;
  }

  .sp_pt30 {
    padding-top: 30px !important;
  }

  .sp_pb30 {
    padding-bottom: 30px !important;
  }

  .sp_pl30 {
    padding-left: 30px !important;
  }

  .sp_pr30 {
    padding-right: 30px !important;
  }

  .sp_pv30 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  .sp_ph30 {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  .sp_m30 {
    margin: 30px !important;
  }

  .sp_mt30 {
    margin-top: 30px !important;
  }

  .sp_mt-30 {
    margin-top: -30px !important;
  }

  .sp_mb30 {
    margin-bottom: 30px !important;
  }

  .sp_ml30 {
    margin-left: 30px !important;
  }

  .sp_mr30 {
    margin-right: 30px !important;
  }

  .sp_mv30 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }

  .sp_mh30 {
    margin-left: 30px !important;
    margin-right: 30px !important;
  }

  .sp_p35 {
    padding: 35px !important;
  }

  .sp_pt35 {
    padding-top: 35px !important;
  }

  .sp_pb35 {
    padding-bottom: 35px !important;
  }

  .sp_pl35 {
    padding-left: 35px !important;
  }

  .sp_pr35 {
    padding-right: 35px !important;
  }

  .sp_pv35 {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
  }

  .sp_ph35 {
    padding-left: 35px !important;
    padding-right: 35px !important;
  }

  .sp_m35 {
    margin: 35px !important;
  }

  .sp_mt35 {
    margin-top: 35px !important;
  }

  .sp_mt-35 {
    margin-top: -35px !important;
  }

  .sp_mb35 {
    margin-bottom: 35px !important;
  }

  .sp_ml35 {
    margin-left: 35px !important;
  }

  .sp_mr35 {
    margin-right: 35px !important;
  }

  .sp_mv35 {
    margin-top: 35px !important;
    margin-bottom: 35px !important;
  }

  .sp_mh35 {
    margin-left: 35px !important;
    margin-right: 35px !important;
  }

  .sp_p40 {
    padding: 40px !important;
  }

  .sp_pt40 {
    padding-top: 40px !important;
  }

  .sp_pb40 {
    padding-bottom: 40px !important;
  }

  .sp_pl40 {
    padding-left: 40px !important;
  }

  .sp_pr40 {
    padding-right: 40px !important;
  }

  .sp_pv40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .sp_ph40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }

  .sp_m40 {
    margin: 40px !important;
  }

  .sp_mt40 {
    margin-top: 40px !important;
  }

  .sp_mt-40 {
    margin-top: -40px !important;
  }

  .sp_mb40 {
    margin-bottom: 40px !important;
  }

  .sp_ml40 {
    margin-left: 40px !important;
  }

  .sp_mr40 {
    margin-right: 40px !important;
  }

  .sp_mv40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }

  .sp_mh40 {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }

  .sp_p45 {
    padding: 45px !important;
  }

  .sp_pt45 {
    padding-top: 45px !important;
  }

  .sp_pb45 {
    padding-bottom: 45px !important;
  }

  .sp_pl45 {
    padding-left: 45px !important;
  }

  .sp_pr45 {
    padding-right: 45px !important;
  }

  .sp_pv45 {
    padding-top: 45px !important;
    padding-bottom: 45px !important;
  }

  .sp_ph45 {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }

  .sp_m45 {
    margin: 45px !important;
  }

  .sp_mt45 {
    margin-top: 45px !important;
  }

  .sp_mt-45 {
    margin-top: -45px !important;
  }

  .sp_mb45 {
    margin-bottom: 45px !important;
  }

  .sp_ml45 {
    margin-left: 45px !important;
  }

  .sp_mr45 {
    margin-right: 45px !important;
  }

  .sp_mv45 {
    margin-top: 45px !important;
    margin-bottom: 45px !important;
  }

  .sp_mh45 {
    margin-left: 45px !important;
    margin-right: 45px !important;
  }

  .sp_p50 {
    padding: 50px !important;
  }

  .sp_pt50 {
    padding-top: 50px !important;
  }

  .sp_pb50 {
    padding-bottom: 50px !important;
  }

  .sp_pl50 {
    padding-left: 50px !important;
  }

  .sp_pr50 {
    padding-right: 50px !important;
  }

  .sp_pv50 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  .sp_ph50 {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }

  .sp_m50 {
    margin: 50px !important;
  }

  .sp_mt50 {
    margin-top: 50px !important;
  }

  .sp_mt-50 {
    margin-top: -50px !important;
  }

  .sp_mb50 {
    margin-bottom: 50px !important;
  }

  .sp_ml50 {
    margin-left: 50px !important;
  }

  .sp_mr50 {
    margin-right: 50px !important;
  }

  .sp_mv50 {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }

  .sp_mh50 {
    margin-left: 50px !important;
    margin-right: 50px !important;
  }
}
.dummy-header {
  position: absolute;
  top: 0;
  left: 0;
}

.dummy-footer {
  background: #fff;
}

.fla-slide li img {
  width: 100%;
  height: 671px;
  object-fit: cover;
}
@media screen and (max-width: 780px) {
  .fla-slide li img {
    height: 49.74359vw;
  }
}

.page-title001 {
  background: #fff;
}
.page-title001 h2 {
  font-family: Times New Roman;
  font-size: 41px;
  font-style: normal;
  font-weight: 400;
  color: #000;
  padding: 34px 0;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media screen and (max-width: 780px) {
  .page-title001 h2 {
    font-size: 24px;
    line-height: 36px;
    font-size: 24px;
  }
}

.page-title002 {
  background: #fff;
}
.page-title002 h2 {
  font-family: Times New Roman;
  font-size: 28px;
  font-style: normal;
  color: #000;
  margin-right: 60px;
  padding: 34px 0;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
}
@media screen and (max-width: 780px) {
  .page-title002 h2 {
    font-size: 24px;
    line-height: 36px;
    font-size: 24px;
    padding: 30px 0;
    margin-right: 0;
  }
}
.page-title002 p {
  font-size: 13px;
  color: #808791;
  font-weight: 500;
  line-height: 11px;
  letter-spacing: 0.21px;
}

.single-footer-title001 {
  background: #fff;
}
.single-footer-title001 > .single-footer-container001 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 33px;
  padding-bottom: 33px;
}
@media screen and (max-width: 780px) {
  .single-footer-title001 > .single-footer-container001 {
    align-items: baseline;
    gap: 28px;
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.single-footer-title001 > .single-footer-container001 > .title > h2 {
  font-family: Times New Roman;
  font-size: 41px;
  font-style: normal;
  font-weight: 400;
  padding: 34px 0;
}
@media screen and (max-width: 780px) {
  .single-footer-title001 > .single-footer-container001 > .title > h2 {
    font-size: 24px;
    line-height: 36px;
  }
}

.deetails-btn > a {
  background: #76AEB6;
  color: 13px;
  padding: 9px 23px;
  line-height: 14px;
  letter-spacing: 0.21px;
  color: #fff;
  font-weight: 700;
}
@media screen and (max-width: 780px) {
  .deetails-btn > a {
    font-size: 12px;
    padding: 10px 15px;
    line-height: 12px;
  }
}

.news-category001 {
  padding-bottom: 34px;
}
.news-category001 > ul {
  display: flex;
  align-items: center;
  gap: 12px 12px;
  flex-wrap: wrap;
}
@media screen and (max-width: 780px) {
  .news-category001 > ul {
    flex-wrap: wrap;
  }
}
.news-category001 > ul > li a {
  padding: 12px 15px;
  background: #F3F3F3;
  text-decoration: underline;
  display: inline-block;
}
@media screen and (max-width: 780px) {
  .news-category001 > ul > li a {
    font-size: 13px;
  }
}
.news-category001 > ul > li a.active {
  background: #76AEB6;
  color: #fff;
}

.news-archive001 {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media screen and (max-width: 1030px) {
  .news-archive001 {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 780px) {
  .news-archive001 {
    padding-bottom: 43px;
  }
}

.news-archive-list001 {
  display: flex;
  flex-wrap: wrap;
  gap: 31px;
  justify-content: left;
}
@media screen and (max-width: 1030px) {
  .news-archive-list001 {
    gap: 15px;
  }
}
@media screen and (max-width: 780px) {
  .news-archive-list001 {
    gap: 20px;
  }
}

.news-archive-item001 {
  width: calc(100% / 2 - 31px);
  height: 308px;
  max-width: 653px;
}
@media screen and (max-width: 780px) {
  .news-archive-item001 {
    width: 100%;
    max-width: inherit;
    height: auto;
  }
}
.news-archive-item001 a {
  display: flex;
  height: 100%;
}
@media screen and (max-width: 780px) {
  .news-archive-item001 a {
    flex-direction: column;
  }
}
.news-archive-item001 a .content {
  background: #fff;
  padding: min(50 / 345 *100%,50px);
  width: 345px;
}
@media screen and (max-width: 1030px) {
  .news-archive-item001 a .content {
    width: 253px;
    padding: 25px;
  }
}
@media screen and (max-width: 780px) {
  .news-archive-item001 a .content {
    width: 100%;
    padding: 24px 0 29px;
  }
}
@media screen and (max-width: 780px) {
  .news-archive-item001 a .content .content_wrap {
    padding: 0 27px;
  }
}
.news-archive-item001 a .content .content_wrap .date {
  color: #808791;
  font-size: 12px;
  margin-bottom: 12px;
  letter-spacing: 0.7px;
  line-height: 14px;
}
@media screen and (max-width: 1030px) {
  .news-archive-item001 a .content .content_wrap .date {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 780px) {
  .news-archive-item001 a .content .content_wrap .date {
    margin-bottom: 12px;
  }
}
.news-archive-item001 a .content .content_wrap .title {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6em;
  letter-spacing: 0.21px;
  text-decoration: underline;
  margin-bottom: 40px;
  overflow: hidden;
  word-break: break-word;
  height: auto;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
@media screen and (max-width: 780px) {
  .news-archive-item001 a .content .content_wrap .title {
    display: block;
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 31px;
    height: auto;
    overflow: intial;
  }
}
.news-archive-item001 a .content .content_wrap .category {
  color: #808791;
}
.news-archive-item001 a .item-img {
  width: 308px;
}
@media screen and (max-width: 1030px) {
  .news-archive-item001 a .item-img {
    width: 221px;
  }
}
@media screen and (max-width: 780px) {
  .news-archive-item001 a .item-img {
    width: 100%;
  }
}
.news-archive-item001 a .item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-archive-item002 {
  width: calc(100% / 2 - 31px);
  height: 308px;
  max-width: 653px;
}
@media screen and (max-width: 780px) {
  .news-archive-item002 {
    width: 100%;
    max-width: inherit;
    height: auto;
  }
}
.news-archive-item002 a {
  display: flex;
  height: 100%;
}
@media screen and (max-width: 780px) {
  .news-archive-item002 a {
    flex-direction: column;
  }
}
.news-archive-item002 a .content {
  background: #fff;
  padding: min(50 / 345 *100%,50px);
  width: 100%;
}
@media screen and (max-width: 1030px) {
  .news-archive-item002 a .content {
    width: 100%;
    padding: 25px;
  }
}
@media screen and (max-width: 780px) {
  .news-archive-item002 a .content {
    width: 100%;
    padding: 24px 0 29px;
  }
}
@media screen and (max-width: 780px) {
  .news-archive-item002 a .content .content_wrap {
    padding: 0 27px;
  }
}
.news-archive-item002 a .content .content_wrap .date {
  color: #808791;
  font-size: 12px;
  margin-bottom: 12px;
  letter-spacing: 0.7px;
  line-height: 14px;
}
@media screen and (max-width: 1030px) {
  .news-archive-item002 a .content .content_wrap .date {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 780px) {
  .news-archive-item002 a .content .content_wrap .date {
    margin-bottom: 12px;
  }
}
.news-archive-item002 a .content .content_wrap .title {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6em;
  letter-spacing: 0.21px;
  text-decoration: underline;
  margin-bottom: 40px;
  overflow: hidden;
  word-break: break-word;
  height: auto;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
@media screen and (max-width: 780px) {
  .news-archive-item002 a .content .content_wrap .title {
    display: block;
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 31px;
    height: auto;
    overflow: initial;
  }
}
.news-archive-item002 a .content .content_wrap .category {
  color: #808791;
}
.news-archive-item002 a .item-img {
  width: 308px;
}
@media screen and (max-width: 1030px) {
  .news-archive-item002 a .item-img {
    width: 221px;
  }
}
@media screen and (max-width: 780px) {
  .news-archive-item002 a .item-img {
    width: 100%;
  }
}
.news-archive-item002 a .item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-news-single .single-back-btn {
  padding-bottom: 104px;
}

.section-news-single001 {
  max-width: 895px;
  margin: 0 auto;
  padding-top: 90px;
  padding-bottom: 76px;
}
.section-news-single001 .single-sns {
  margin-bottom: 76px;
}

.single-archive-news {
  background: #fff;
}

.news-single-tag-wrap {
  margin-bottom: 55px;
}

.tag-bottom-wrap {
  background: #F3F3F3;
}

.single-back-btn-wrap {
  text-align: center;
}

.single-news-archive {
  padding-bottom: 61px;
}
@media screen and (max-width: 780px) {
  .single-news-archive {
    padding-bottom: 71px;
  }
}

.introduction {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 42px;
}
@media screen and (max-width: 1030px) {
  .introduction {
    margin-bottom: 45px;
  }
}
@media screen and (max-width: 780px) {
  .introduction {
    flex-direction: column;
    gap: 28px;
    align-items: baseline;
    margin-top: 0;
  }
}

.department-wrap001 {
  margin-bottom: 28px;
}

.professors-content {
  max-width: 1336px;
  margin: 0 auto;
  margin-bottom: 130px;
}

.accordion-menu001 {
  background: #fff;
  padding: 0 28px;
}
@media screen and (max-width: 780px) {
  .accordion-menu001 {
    padding: 0 11px;
  }
}
.accordion-menu001 > dt {
  padding: 8px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
@media screen and (max-width: 780px) {
  .accordion-menu001 > dt {
    padding: 15px 9px;
  }
}
.accordion-menu001 > dd {
  padding: 49px 94px 30px;
  margin-bottom: 30px;
}
@media screen and (max-width: 1030px) {
  .accordion-menu001 > dd {
    padding: 49px 30px 30px;
  }
}
@media screen and (max-width: 780px) {
  .accordion-menu001 > dd {
    padding: 0 7px;
  }
}

.professors-single-wrap {
  background: #fff;
  padding: 47px 31px;
}
@media screen and (max-width: 780px) {
  .professors-single-wrap {
    padding: 0 12px 33px;
  }
}

.professors-cat-title {
  margin-bottom: 20px;
  padding: 30px 20px 0;
  font-family: "Times New Roman", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "DNP ShueiGoKinStd", "Noto Sans JP", "NotoSansCJKjp", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", "Yu Gothic", YuGothic, "MS P Gothic", "ＭＳ Ｐゴシック", arial, helvetica, sans-serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.21px;
  line-height: 11px;
}

.professors-list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.professors-list .professors-item {
  width: calc(100% / 2 - 40px);
  padding-bottom: 47px;
  border-bottom: 1px solid #DADBDC;
}
@media screen and (max-width: 780px) {
  .professors-list .professors-item {
    width: 100%;
  }
}
.professors-list .professors-item:nth-last-child(-n+2) {
  border-bottom: none;
}

/* -----------教員シングル---------*/
@media screen and (max-width: 780px) {
  .introduction .introduction-title001 {
    padding-bottom: 112px;
  }
}
@media screen and (max-width: 780px) {
  .introduction .introduction-title002 {
    padding-bottom: 112px;
  }
}

.professors-single-wrap {
  display: grid;
  grid-template-columns: 203px 1fr 307px;
  gap: 0 3.50746%;
}
@media screen and (max-width: 1030px) {
  .professors-single-wrap {
    display: block;
  }
}
.professors-single-wrap .grid_a {
  grid-column: 1/2;
  grid-row: 1/3;
}
.professors-single-wrap .grid_b {
  grid-column: 2/3;
  grid-row: 1/2;
}
.professors-single-wrap .grid_c {
  grid-column: 3/4;
  grid-row: 1/3;
}
.professors-single-wrap .grid_d {
  grid-column: 2/3;
  grid-row: 2/3;
}
.professors-single-wrap .grid_e {
  grid-column: 1/4;
}

.back_to_list {
  text-align: center;
  margin: 46px 0 65px;
}

.read-more001 {
  display: inline-block;
  width: 102px;
  padding: 10px;
  text-align: center;
  color: #fff;
  background: #1B293E;
  font-size: 14px;
}

.block-wrap001 {
  position: relative;
}
.block-wrap001::before {
  content: "";
  width: 126px;
  height: 4px;
  background: #76AEB6;
  display: block;
  margin-bottom: 40px;
}
.block-wrap001 > h3 {
  font-size: 23px;
  font-weight: 600;
  letter-spacing: 0.25px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media screen and (max-width: 780px) {
  .block-wrap001 > h3 {
    font-size: 22px;
    line-height: 1.8125;
  }
}
.block-wrap001 > p {
  margin-top: 28px;
  font-size: 16px;
  letter-spacing: 0.21px;
  font-weight: 500;
  color: #1B293E;
  line-height: 1.75;
}
@media screen and (max-width: 780px) {
  .block-wrap001 > p {
    font-size: 15px;
    line-height: 1.86667;
  }
}

.box-001 {
  position: relative;
  background: #fff;
  padding: 123px 66px 85px;
  z-index: 1;
}
@media screen and (max-width: 780px) {
  .box-001 {
    padding: 60px 23px 50px;
  }
}
.box-001::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 274px 274px 0;
  border-color: transparent #76AEB6 transparent transparent;
}
@media screen and (max-width: 780px) {
  .box-001::after {
    border-width: 0 80px 80px 0;
  }
}

.box-002 {
  position: relative;
  background: #fff;
  padding-top: 80px;
  z-index: 1;
}
@media screen and (max-width: 780px) {
  .box-002 {
    padding: 60px 0 50px;
  }
}
.box-002::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 274px 274px 0;
  border-color: transparent #76AEB6 transparent transparent;
}
@media screen and (max-width: 780px) {
  .box-002::after {
    border-width: 0 80px 80px 0;
  }
}

.box-title-image001 {
  display: flex;
  position: relative;
  z-index: 2;
  gap: 50px;
  justify-content: space-between;
}
@media screen and (max-width: 780px) {
  .box-title-image001 {
    flex-direction: column;
  }
}
.box-title-image001 > .txt-wrap {
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: bold;
}
.box-title-image001 > .txt-wrap > .head-title {
  font-size: 28px;
  letter-spacing: 0.25px;
  margin-bottom: 20px;
}
@media screen and (max-width: 780px) {
  .box-title-image001 > .txt-wrap > .head-title {
    font-size: 22px;
    line-height: 1.63636;
    margin-bottom: 22px;
  }
}
.box-title-image001 > .txt-wrap > .title {
  font-size: 38px;
  line-height: 1.84211;
  margin-bottom: 34px;
}
@media screen and (max-width: 780px) {
  .box-title-image001 > .txt-wrap > .title {
    font-size: 18px;
    line-height: 1.8125;
    margin-bottom: 45px;
  }
}
.box-title-image001 > .txt-wrap > .post-name {
  text-align: right;
  font-size: 16px;
  margin-bottom: 7px;
  margin-right: 28px;
}
@media screen and (max-width: 780px) {
  .box-title-image001 > .txt-wrap > .post-name {
    font-size: 14px;
    margin-bottom: 7px;
  }
}
.box-title-image001 > .txt-wrap > .name {
  text-align: right;
  font-size: 23px;
  margin-right: 28px;
}
@media screen and (max-width: 780px) {
  .box-title-image001 > .txt-wrap > .name {
    font-size: 23px;
  }
}
.box-title-image001 > .img_wrap {
  min-width: 321px;
}
@media screen and (max-width: 780px) {
  .box-title-image001 > .img_wrap {
    width: 100%;
    min-width: inherit;
  }
}
.box-title-image001 > .img_wrap img {
  width: 100%;
}

.box-title-image002 {
  display: flex;
  position: relative;
  z-index: 2;
  padding: 0 66px;
  gap: 40px;
}
@media screen and (max-width: 780px) {
  .box-title-image002 {
    flex-direction: column;
    padding: 0 20px;
  }
}
.box-title-image002 > .txt-wrap {
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: bold;
  width: 66.26866%;
  position: relative;
}
@media screen and (max-width: 780px) {
  .box-title-image002 > .txt-wrap {
    width: 100%;
    margin-bottom: 60px;
  }
}
.box-title-image002 > .txt-wrap > .head-title {
  font-size: 28px;
  letter-spacing: 0.25px;
  margin-bottom: 20px;
}
@media screen and (max-width: 780px) {
  .box-title-image002 > .txt-wrap > .head-title {
    font-size: 22px;
    line-height: 1.63636;
    margin-bottom: 22px;
  }
}
.box-title-image002 > .txt-wrap > .title {
  font-size: 37px;
  line-height: 1.84211;
  margin-bottom: 74px;
}
@media screen and (max-width: 780px) {
  .box-title-image002 > .txt-wrap > .title {
    font-size: 28px;
    line-height: 180%;
    margin-bottom: 45px;
  }
}
.box-title-image002 > .txt-wrap .name-wrap {
  position: absolute;
  bottom: 0;
  right: 0;
}
.box-title-image002 > .txt-wrap .name-wrap > .post-name {
  text-align: right;
  font-size: 16px;
  margin-bottom: 7px;
  margin-right: 28px;
  line-height: 1.875;
}
@media screen and (max-width: 780px) {
  .box-title-image002 > .txt-wrap .name-wrap > .post-name {
    font-size: 14px;
    margin-bottom: 7px;
  }
}
.box-title-image002 > .txt-wrap .name-wrap > .name {
  text-align: right;
  font-size: 23px;
  margin-right: 28px;
}
@media screen and (max-width: 780px) {
  .box-title-image002 > .txt-wrap .name-wrap > .name {
    font-size: 23px;
  }
}
.box-title-image002 > .img_wrap {
  min-width: 321px;
  flex-grow: 1;
}
@media screen and (max-width: 780px) {
  .box-title-image002 > .img_wrap {
    width: 100%;
    min-width: inherit;
  }
}
.box-title-image002 > .img_wrap img {
  width: 100%;
}

.box-message001 {
  margin-top: 85px;
}
@media screen and (max-width: 780px) {
  .box-message001 {
    margin-top: 22px;
  }
}
.box-message001 > p {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.21px;
  font-weight: 500;
  margin-bottom: 34px;
}
@media screen and (max-width: 780px) {
  .box-message001 > p {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 29px;
  }
}
.box-message001 > .message-name {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.21px;
}
@media screen and (max-width: 780px) {
  .box-message001 > .message-name {
    font-size: 15px;
    line-height: 2;
  }
}

.box-message002 {
  padding: 80px 165px;
  border-left: 10px solid #76AEB6;
  border-right: 10px solid #76AEB6;
  line-height: 1.75;
  font-size: 16px;
}
@media screen and (max-width: 780px) {
  .box-message002 {
    margin-top: 22px;
    padding: 0 20px 50px;
    border-left: 4px solid #76AEB6;
    border-right: 4px solid #76AEB6;
    line-height: 1.86667;
  }
}
.box-message002 > p {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.21px;
  font-weight: 500;
  margin-bottom: 34px;
}
@media screen and (max-width: 780px) {
  .box-message002 > p {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 29px;
  }
}
.box-message002 > .message-name {
  margin-top: 34px;
  font-size: 16px;
  letter-spacing: 0.21px;
  text-align: right;
}
@media screen and (max-width: 780px) {
  .box-message002 > .message-name {
    margin-top: 29 / 393  100vw;
    font-size: 15px;
    line-height: 2;
  }
}

.youtube {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  margin-bottom: 35px;
}
.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.youtube002 {
  margin-bottom: 45px;
}
.youtube002 .iframe-container {
  width: 100%;
  height: 750px;
}
@media screen and (max-width: 1030px) {
  .youtube002 .iframe-container {
    height: 44.64286vw;
  }
}
@media screen and (max-width: 780px) {
  .youtube002 .iframe-container {
    height: 51.28205vw;
  }
}
.youtube002 .iframe-container > iframe {
  width: 100%;
  height: 100%;
}

.mv-slider-001 .slick-dots {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 12px;
}
@media screen and (max-width: 780px) {
  .mv-slider-001 .slick-dots {
    gap: 3px;
    bottom: 10px;
  }
}
.mv-slider-001 .slick-dots > li {
  width: 69px;
  height: 8px;
  background: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 780px) {
  .mv-slider-001 .slick-dots > li {
    width: 21px;
    height: 3px;
  }
}
.mv-slider-001 .slick-dots > li.slick-active {
  background: rgba(118, 174, 182, 0.5);
}
.mv-slider-001 .slick-dots > li > button {
  display: none;
}
.mv-slider-001 .slick-slide {
  width: 1150px;
  margin: 0 5px;
}
@media screen and (max-width: 780px) {
  .mv-slider-001 .slick-slide {
    margin: 0 1.5px;
  }
}
.mv-slider-001.fla-slide .slick-dots > li.slick-active {
  background: rgba(136, 139, 186, 0.5);
}

.pager-wrapper {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding-bottom: 93px;
}
@media screen and (max-width: 780px) {
  .pager-wrapper {
    padding-bottom: 73px;
  }
}
.pager-wrapper .pager .page-numbers {
  display: flex;
  gap: 10px;
}
.pager-wrapper .pager .page-numbers li .page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 35px;
  height: 35px;
  font-size: 15px;
  background: #DEE1E5;
  border-radius: 50%;
}
@media screen and (max-width: 780px) {
  .pager-wrapper .pager .page-numbers li .page-numbers {
    width: 30px;
    height: 30px;
    font-size: 14px;
  }
}
.pager-wrapper .pager .page-numbers li .page-numbers.current {
  color: #fff;
  background: #9A003D;
}
.pager-wrapper .pager .page-numbers li .page-numbers.prev {
  display: none;
}
.pager-wrapper .pager .page-numbers li .page-numbers.next {
  display: none;
}
.pager-wrapper .page-previous a {
  display: inline-block;
  width: 35px;
  height: 35px;
  position: relative;
  border-radius: 50%;
  background: #9499A2;
}
.pager-wrapper .page-previous a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
  height: 10px;
  background: url(https://fst.sophia.ac.jp/common/img/icn-pagination-pre.svg) no-repeat;
  background-size: contain;
}
.pager-wrapper .page-next a {
  display: inline-block;
  width: 35px;
  height: 35px;
  position: relative;
  border-radius: 50%;
  background: #9499A2;
}
.pager-wrapper .page-next a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
  height: 10px;
  background: url(https://fst.sophia.ac.jp/common/img/icn-pagination-next.svg) no-repeat;
  background-size: contain;
}

/*----------共通パーツ02------------
-----------------------------------*/
/*--com01--*/
.accordion-menu002 {
  margin-bottom: 1px;
  background: #fff;
  padding: 0 40px;
}
@media screen and (max-width: 780px) {
  .accordion-menu002 {
    padding: 0 20px;
  }
}
.accordion-menu002 dt {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding: 26px 0;
}
.accordion-menu002 dt > .title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.25px;
}
.accordion-menu002 dt > .toggle-btn {
  width: 24px;
  height: 24px;
  background: #E5E5E5;
  position: relative;
}
.accordion-menu002 dt > .toggle-btn span {
  width: 14px;
  height: 2px;
  background: #1B293E;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.accordion-menu002 dt > .toggle-btn span:nth-of-type(2) {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: all 0.5s ease;
}
.accordion-menu002 dt.active .toggle-btn span:nth-of-type(2) {
  transform: translate(-50%, -50%) rotate(0deg);
  transition: all 0.5s ease;
}
.accordion-menu002 dd {
  padding-bottom: 60px;
  display: none;
  font-size: 16px;
}
@media screen and (max-width: 780px) {
  .accordion-menu002 dd {
    line-height: 1.75;
  }
}
.accordion-menu002 dd .txt-img {
  display: flex;
  gap: 20px;
  margin-bottom: 55px;
}
@media screen and (max-width: 780px) {
  .accordion-menu002 dd .txt-img {
    flex-direction: column;
    margin-bottom: 45px;
  }
}
.accordion-menu002 dd .txt-img .txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.625;
  width: 100%;
}
@media screen and (max-width: 780px) {
  .accordion-menu002 dd .txt-img .txt {
    line-height: 1.75;
  }
}
.accordion-menu002 dd .txt-img img {
  height: fit-content;
  height: -webkit-min-content;
}
@media screen and (max-width: 780px) {
  .accordion-menu002 dd .txt-img img {
    width: 100%;
    min-width: inherit;
  }
}
.accordion-menu002 dd .btns-001 {
  margin-top: 65px;
  display: flex;
  gap: 29px;
  justify-content: center;
}
@media screen and (max-width: 780px) {
  .accordion-menu002 dd .btns-001 {
    flex-direction: column;
    gap: 25px;
  }
}

.details-btn002 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 29.85075%;
  background: #A2174E;
  color: #fff;
  font-size: 16px;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.25px;
  height: 60px;
}
@media screen and (max-width: 780px) {
  .details-btn002 {
    width: 100%;
  }
}

.forinfor-btn001 {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #1B293E;
  font-size: 16px;
  letter-spacing: 0.25px;
  font-weight: 700;
  text-align: center;
  width: 38.95522%;
  height: 60px;
}
@media screen and (max-width: 780px) {
  .forinfor-btn001 {
    width: 100%;
  }
}

/*com01
----------*/
.com001-02 .com001-02-title {
  position: relative;
  margin-bottom: 50px;
}
.com001-02 .com001-02-title::before {
  content: "";
  width: 126px;
  height: 4px;
  background: #76AEB6;
  display: block;
  margin-bottom: 50px;
}
.com001-02 .com001-02-title h2 {
  font-size: 28px;
  font-weight: 700;
  line-height: 128%;
  letter-spacing: 0.25px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.com001-02 > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
@media screen and (max-width: 780px) {
  .com001-02 > ul {
    flex-direction: column;
  }
}
.com001-02 > ul li {
  width: calc(100% / 2 - 40px);
}
@media screen and (max-width: 780px) {
  .com001-02 > ul li {
    width: 100%;
  }
}
.com001-02 > ul li a img {
  width: 100%;
  height: 292px;
  object-fit: cover;
}
.com001-02 > ul li a .txt-item {
  position: relative;
  background: #fff;
  padding: 37px 30px;
}
.com001-02 > ul li a .txt-item::before {
  content: "";
  width: 4px;
  height: 75%;
  background: #76AEB6;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.com001-02 > ul li a .txt-item .title {
  font-size: 18px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 0.25px;
  margin-bottom: 19px;
}
.com001-02 > ul li a .txt-item .txt {
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.21px;
}

.com001-04 {
  background: #fff;
  padding: 50px 70px;
  border-bottom: 1px solid #DADBDC;
}
@media screen and (max-width: 780px) {
  .com001-04 {
    padding: 50px 20px;
  }
}
.com001-04 .item-txt-only {
  display: flex;
  align-items: flex-start;
  gap: 70px;
  flex-direction: column;
  margin-bottom: 100px;
}
.com001-04 .item-txt-only > h3 {
  font-size: 28px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  width: 280px;
  letter-spacing: 0.21px;
}
.com001-04 .item-txt-only > h3::before {
  content: "";
  width: 75px;
  height: 6px;
  display: block;
  background: #76AEB6;
  margin-bottom: 34px;
}
.com001-04 .item-txt-only .txt {
  width: 100%;
  font-size: 16px;
  font-weight: 500;
  line-height: 200%;
  letter-spacing: 0.21px;
}
.com001-04 .item-txt-img {
  display: flex;
  align-items: center;
  gap: 70px;
  margin-bottom: 100px;
}
@media screen and (max-width: 780px) {
  .com001-04 .item-txt-img {
    flex-direction: column;
  }
}
.com001-04 .item-txt-img .txt-wrap {
  width: 100%;
}
.com001-04 .item-txt-img .txt-wrap h3 {
  font-size: 28px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  letter-spacing: 0.21px;
  margin-bottom: 30px;
}
.com001-04 .item-txt-img .txt-wrap h3::before {
  content: "";
  width: 75px;
  height: 6px;
  display: block;
  background: #76AEB6;
  margin-bottom: 34px;
}
.com001-04 .item-txt-img .txt-wrap .txt {
  width: 100%;
  font-size: 16px;
  font-weight: 500;
  line-height: 200%;
  letter-spacing: 0.21px;
}
.com001-04 .item-txt-img img {
  width: 39.25373%;
}
@media screen and (max-width: 780px) {
  .com001-04 .item-txt-img img {
    width: 100%;
  }
}
.com001-04 .gc-wrap {
  display: flex;
  gap: 46px;
  justify-content: center;
}
@media screen and (max-width: 780px) {
  .com001-04 .gc-wrap {
    flex-direction: column;
  }
}
.com001-04 .gc-wrap .gc-item {
  flex-grow: 1;
}
@media screen and (max-width: 780px) {
  .com001-04 .gc-wrap .gc-item {
    box-sizing: border-box;
  }
}
.com001-04 .gc-wrap .gc-item.col-1 {
  width: 100%;
  border: 1px solid #E5E5E5;
  padding: 20px;
}
.com001-04 .gc-wrap .gc-item.col-3 {
  width: calc(100% / 3 - 46px);
}
@media screen and (max-width: 780px) {
  .com001-04 .gc-wrap .gc-item.col-3 {
    width: 100%;
  }
}
.com001-04 .gc-wrap .gc-item .gc-title {
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.21px;
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
.com001-04 .gc-wrap .gc-item .gc-title::before {
  content: "";
  width: 6px;
  height: 45px;
  display: block;
  background: #76AEB6;
  margin-right: 26px;
}
.com001-04 .gc-wrap .gc-item .gc-txt {
  font-size: 16px;
  line-height: 200%;
  letter-spacing: 0.21px;
  margin-bottom: 30px;
  text-align: justify;
}
.com001-04 .gc-wrap .gc-item img {
  margin-bottom: 10px;
}
.com001-04 .gc-wrap .gc-item span {
  font-size: 16px;
}

/*com02*/
.com002-02 {
  padding: 50px 0;
}
@media screen and (max-width: 780px) {
  .com002-02 {
    padding: 26px 0;
  }
}

.com002-02-title {
  position: relative;
  margin-bottom: 50px;
}
.com002-02-title > h2 {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.25px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: 28px;
}
@media screen and (max-width: 780px) {
  .com002-02-title > h2 {
    font-size: 28px;
    line-height: 180%;
    font-weight: 700;
  }
}
.com002-02-title > h2::before {
  content: "";
  display: block;
  width: 126px;
  height: 4px;
  background: #76AEB6;
  margin-bottom: 49px;
}
@media screen and (max-width: 780px) {
  .com002-02-title > h2::before {
    width: 120px;
  }
}
.com002-02-title > p {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.21px;
  line-height: 1.9375;
}
@media screen and (max-width: 780px) {
  .com002-02-title > p {
    font-size: 15px;
    line-height: 1.86667;
  }
}

.com002-02-content {
  display: flex;
  background: #fff;
  position: relative;
  align-items: center;
}
@media screen and (max-width: 780px) {
  .com002-02-content {
    flex-direction: column;
  }
}
.com002-02-content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 40px;
  width: 128px;
  height: 3px;
  background: #76AEB6;
}
.com002-02-content .left {
  width: 50%;
  position: relative;
}
@media screen and (max-width: 780px) {
  .com002-02-content .left {
    width: 100%;
  }
}
.com002-02-content .left .txt-block {
  padding: 41px 60px;
}
@media screen and (max-width: 780px) {
  .com002-02-content .left .txt-block {
    padding: 30px 35px;
    font-size: 14px;
    line-height: 1.71429;
  }
}
.com002-02-content .left .txt-block .title {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.25px;
  margin-bottom: 19px;
}
@media screen and (max-width: 780px) {
  .com002-02-content .left .txt-block .title {
    font-size: 18px;
    line-height: 1.77778;
  }
}
.com002-02-content .left .txt-block > p {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.21px;
  margin-bottom: 19px;
  line-height: 1.26316;
}
@media screen and (max-width: 780px) {
  .com002-02-content .left .txt-block > p {
    font-size: 14px;
    line-height: 1.71429;
  }
}
.com002-02-content .right {
  width: 50%;
}
@media screen and (max-width: 780px) {
  .com002-02-content .right {
    width: 100%;
  }
}
.com002-02-content .right img {
  width: 100%;
}

.com002-02-btn {
  width: 102px;
  display: block;
  text-align: center;
  padding: 10px 15px;
  background: #1B293E;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  margin-top: 20px;
}
@media screen and (max-width: 780px) {
  .com002-02-btn {
    font-size: 12px;
  }
}

/*com03*/
.com002-03 {
  background: #fff;
  padding: 0 70px;
}
@media screen and (max-width: 780px) {
  .com002-03 {
    padding: 0 20px;
  }
}
.com002-03 > ul > li {
  padding: 55px 0 87px;
  border-bottom: 1px solid #DADBDC;
  display: flex;
  gap: 56px;
}
@media screen and (max-width: 780px) {
  .com002-03 > ul > li {
    flex-direction: column;
    gap: 23px;
    padding: 50px 0;
  }
}
.com002-03 > ul > li:last-child {
  border-bottom: none;
}
.com002-03 > ul > li .left {
  max-width: 620px;
  width: 100%;
}
.com002-03 > ul > li .left .title {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.21px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 26px;
  margin-bottom: 38px;
}
@media screen and (max-width: 780px) {
  .com002-03 > ul > li .left .title {
    font-size: 18px;
    letter-spacing: 0.25px;
  }
}
.com002-03 > ul > li .left .title::before {
  content: "";
  display: block;
  background: #76AEB6;
  width: 6px;
  height: 45px;
}
.com002-03 > ul > li .left .content {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.21px;
}
@media screen and (max-width: 780px) {
  .com002-03 > ul > li .left .content {
    font-size: 15px;
    line-height: 1.86667;
  }
}
.com002-03 > ul > li .right {
  width: 43.7604%;
  height: auto;
}
@media screen and (max-width: 780px) {
  .com002-03 > ul > li .right {
    width: 100%;
    height: auto;
  }
}
.com002-03 > ul > li .right img {
  width: 100%;
}

/*com04*/
.com002-04 {
  background: #fff;
}
.com002-04 > dl {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.com002-04 > dl::before {
  content: "";
  width: 21.49254%;
  height: 1px;
  background: #A2174E;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 780px) {
  .com002-04 > dl::before {
    content: none;
  }
}
.com002-04 > dl::after {
  content: "";
  width: 78.50746%;
  height: 1px;
  background: #DADBDC;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 780px) {
  .com002-04 > dl::after {
    content: none;
  }
}
.com002-04 > dl:last-child::before {
  content: none;
}
.com002-04 > dl:last-child::after {
  content: none;
}
@media screen and (max-width: 780px) {
  .com002-04 > dl {
    flex-direction: column;
  }
}
.com002-04 > dl > dt {
  width: 21.49254%;
}
@media screen and (max-width: 780px) {
  .com002-04 > dl > dt {
    width: 100%;
    border-bottom: 1px solid #A2174E;
  }
}
.com002-04 > dl > dt > span {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.25px;
  padding: 28px 0 28px  34px;
}
@media screen and (max-width: 780px) {
  .com002-04 > dl > dt > span {
    padding: 28px 25px 18px;
  }
}
.com002-04 > dl > dd {
  width: 75.50746%;
}
@media screen and (max-width: 780px) {
  .com002-04 > dl > dd {
    width: 100%;
    border-bottom: none;
  }
}
.com002-04 > dl > dd > span {
  font-size: 16px;
  font-weight: 500;
  padding: 28px 34px 28px 30px;
  line-height: 1.75;
}
@media screen and (max-width: 780px) {
  .com002-04 > dl > dd > span {
    padding: 18px 25px 28px;
    font-size: 15px;
    line-height: 1.6;
  }
}
.com002-04 > dl > .inner-img {
  width: 100%;
  text-align: center;
  padding: 26px 0 83px;
}
@media screen and (max-width: 780px) {
  .com002-04 > dl > .inner-img {
    padding: 25px 0;
  }
}
.com002-04 > dl > .inner-content {
  display: flex;
  width: 100%;
  gap: 45px;
  padding: 32px;
  border-top: 1px solid #DADBDC;
}
@media screen and (max-width: 780px) {
  .com002-04 > dl > .inner-content {
    flex-direction: column;
    padding: 0 0 47px;
  }
}
.com002-04 > dl > .inner-content > .left {
  width: 46.9403%;
}
@media screen and (max-width: 780px) {
  .com002-04 > dl > .inner-content > .left {
    width: 100%;
  }
}
.com002-04 > dl > .inner-content > .right {
  width: 43.28358%;
}
@media screen and (max-width: 780px) {
  .com002-04 > dl > .inner-content > .right {
    width: 100%;
  }
}
.com002-04 > dl > .inner-content > .right > .title {
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 10px;
  font-weight: 700;
}
@media screen and (max-width: 780px) {
  .com002-04 > dl > .inner-content > .right > .title {
    padding: 0 25px;
  }
}
.com002-04 > dl > .inner-content > .right .txt {
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 46px;
}
@media screen and (max-width: 780px) {
  .com002-04 > dl > .inner-content > .right .txt {
    padding: 28px 25px 0;
    margin-bottom: 58px;
  }
}
@media screen and (max-width: 780px) {
  .com002-04 > dl > .inner-content > .right > .btn {
    text-align: center;
  }
}

/*com04v2*/
.com002-04v2 {
  background: #fff;
}
.com002-04v2 > dl {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.com002-04v2 > dl::before {
  content: "";
  width: 21.49254%;
  height: 1px;
  background: #A2174E;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 780px) {
  .com002-04v2 > dl::before {
    content: none;
  }
}
.com002-04v2 > dl::after {
  content: "";
  width: 78.50746%;
  height: 1px;
  background: #DADBDC;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 780px) {
  .com002-04v2 > dl::after {
    content: none;
  }
}
@media screen and (max-width: 780px) {
  .com002-04v2 > dl {
    flex-direction: column;
  }
}
.com002-04v2 > dl > dt {
  width: 21.49254%;
}
@media screen and (max-width: 780px) {
  .com002-04v2 > dl > dt {
    width: 100%;
    border-bottom: 1px solid #A2174E;
  }
}
.com002-04v2 > dl > dt > span {
  display: block;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.25px;
  padding: 28px 0 28px  34px;
}
@media screen and (max-width: 780px) {
  .com002-04v2 > dl > dt > span {
    padding: 28px 25px 20px;
  }
}
.com002-04v2 > dl > dd {
  width: 78.50746%;
}
@media screen and (max-width: 780px) {
  .com002-04v2 > dl > dd {
    width: 100%;
    border-bottom: none;
  }
}
.com002-04v2 > dl > dd > span {
  display: block;
  font-size: 16px;
  font-weight: 500;
  padding: 28px 34px 28px 30px;
  line-height: 1.75;
}
@media screen and (max-width: 780px) {
  .com002-04v2 > dl > dd > span {
    padding: 20px 25px 28px;
    font-size: 15px;
    line-height: 1.6;
  }
}
.com002-04v2 > dl > .inner-img {
  width: 100%;
  text-align: center;
  padding: 26px 0 83px;
}
@media screen and (max-width: 780px) {
  .com002-04v2 > dl > .inner-img {
    padding: 25px 0;
  }
}
.com002-04v2 > dl > .inner-content {
  display: flex;
  width: 100%;
  gap: 45px;
  padding: 32px;
  border-top: 1px solid #DADBDC;
}
@media screen and (max-width: 780px) {
  .com002-04v2 > dl > .inner-content {
    flex-direction: column;
    padding: 0 0 47px;
  }
}
.com002-04v2 > dl > .inner-content > .left {
  width: 46.9403%;
}
@media screen and (max-width: 780px) {
  .com002-04v2 > dl > .inner-content > .left {
    width: 100%;
  }
}
.com002-04v2 > dl > .inner-content > .right {
  width: 43.28358%;
}
@media screen and (max-width: 780px) {
  .com002-04v2 > dl > .inner-content > .right {
    width: 100%;
  }
}
.com002-04v2 > dl > .inner-content > .right > .title {
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 10px;
  font-weight: 700;
}
@media screen and (max-width: 780px) {
  .com002-04v2 > dl > .inner-content > .right > .title {
    padding: 0 25px;
  }
}
.com002-04v2 > dl > .inner-content > .right .txt {
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 46px;
}
@media screen and (max-width: 780px) {
  .com002-04v2 > dl > .inner-content > .right .txt {
    padding: 28px 25px 0;
    margin-bottom: 58px;
  }
}
@media screen and (max-width: 780px) {
  .com002-04v2 > dl > .inner-content > .right > .btn {
    text-align: center;
  }
}
.com002-04v2 > .txt_wrap {
  padding-bottom: 60px;
}
.com002-04v2 > .txt_wrap > span {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.21px;
  padding: 20px 30px 0;
  display: block;
  margin-bottom: 36px;
}

.com002-04v3 {
  background: #fff;
}
.com002-04v3 > dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
}
.com002-04v3 > dl::before {
  content: "";
  width: 21.49254%;
  height: 1px;
  background: #A2174E;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 780px) {
  .com002-04v3 > dl::before {
    content: none;
  }
}
.com002-04v3 > dl::after {
  content: "";
  width: 78.50746%;
  height: 1px;
  background: #DADBDC;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 780px) {
  .com002-04v3 > dl::after {
    content: none;
  }
}
@media screen and (max-width: 780px) {
  .com002-04v3 > dl {
    flex-direction: column;
  }
}
.com002-04v3 > dl > dt {
  width: 21.64179%;
  padding: 30px 40px;
  color: #1B293E;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 0.25px;
  box-sizing: border-box;
}
@media screen and (max-width: 780px) {
  .com002-04v3 > dl > dt {
    width: 100%;
    border-bottom: 1px solid #A2174E;
  }
}
.com002-04v3 > dl > dd {
  width: 74.85075%;
  padding: 30px 40px;
  color: #1B293E;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 175%;
  letter-spacing: 0.21px;
  box-sizing: border-box;
}
@media screen and (max-width: 780px) {
  .com002-04v3 > dl > dd {
    width: 100%;
    border-bottom: none;
  }
}
.com002-04v3 > dl > .inner-img {
  width: 100%;
  text-align: center;
  padding: 26px 0 83px;
}
@media screen and (max-width: 780px) {
  .com002-04v3 > dl > .inner-img {
    padding: 25px 0;
  }
}
.com002-04v3 > dl > .inner-content {
  display: flex;
  width: 100%;
  gap: 45px;
  padding: 32px;
  border-top: 1px solid #DADBDC;
}
@media screen and (max-width: 780px) {
  .com002-04v3 > dl > .inner-content {
    flex-direction: column;
    padding: 0 0 47px;
  }
}
.com002-04v3 > dl > .inner-content > .left {
  width: 46.9403%;
}
@media screen and (max-width: 780px) {
  .com002-04v3 > dl > .inner-content > .left {
    width: 100%;
  }
}
.com002-04v3 > dl > .inner-content > .right {
  width: 43.28358%;
}
@media screen and (max-width: 780px) {
  .com002-04v3 > dl > .inner-content > .right {
    width: 100%;
  }
}
.com002-04v3 > dl > .inner-content > .right > .title {
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 10px;
  font-weight: 700;
}
@media screen and (max-width: 780px) {
  .com002-04v3 > dl > .inner-content > .right > .title {
    padding: 0 25px;
  }
}
.com002-04v3 > dl > .inner-content > .right .txt {
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 46px;
}
@media screen and (max-width: 780px) {
  .com002-04v3 > dl > .inner-content > .right .txt {
    padding: 28px 25px 0;
    margin-bottom: 58px;
  }
}
@media screen and (max-width: 780px) {
  .com002-04v3 > dl > .inner-content > .right > .btn {
    text-align: center;
  }
}
.com002-04v3 > .txt_wrap {
  padding-bottom: 60px;
}
.com002-04v3 > .txt_wrap > span {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.21px;
  padding: 20px 30px 0;
  display: block;
  margin-bottom: 36px;
}

/*com05*/
.com002-05 {
  background: #fff;
  padding: 70px 0;
}
@media screen and (max-width: 780px) {
  .com002-05 {
    padding: 10px 10px 40px;
  }
}
.com002-05 > .wrap {
  border: 1px solid #DADBDC;
  padding: 60px 62px;
}
@media screen and (max-width: 780px) {
  .com002-05 > .wrap {
    padding: 20px 15px 0;
  }
}
.com002-05 > .wrap > .title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.25px;
  margin-bottom: 20px;
}
@media screen and (max-width: 780px) {
  .com002-05 > .wrap > .title {
    margin-bottom: 10px;
  }
}
.com002-05 > .wrap > .link-wrap {
  display: flex;
  gap: 44px;
}
@media screen and (max-width: 780px) {
  .com002-05 > .wrap > .link-wrap {
    flex-direction: column;
    gap: 0;
  }
}
.com002-05 > .wrap > .link-wrap .link-item {
  width: calc(100% / 2 - 44px);
}
@media screen and (max-width: 780px) {
  .com002-05 > .wrap > .link-wrap .link-item {
    width: 100%;
  }
}
.com002-05 > .wrap > .link-wrap .link-item > li {
  border-bottom: 1px solid #DADBDC;
}
@media screen and (max-width: 780px) {
  .com002-05 > .wrap > .link-wrap .link-item > li:nth-child(3) {
    border-bottom: none;
  }
}
.com002-05 > .wrap > .link-wrap .link-item > li a {
  padding: 19px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.com002-05 > .wrap > .link-wrap .link-item > li a span {
  font-size: 16px;
  line-height: 1.75;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
}

/*com06*/
.com002-06 dl {
  margin-bottom: 30px;
}
.com002-06 dl dt {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.25px;
  margin-bottom: 15px;
}
.com002-06 dl dd {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.21px;
}
@media screen and (max-width: 780px) {
  .com002-06 dl dd {
    line-height: 1.75;
  }
}

/*com07*/
.com002-07 > .title {
  font-size: 28px;
  font-weight: 700;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: 28px;
}
@media screen and (max-width: 780px) {
  .com002-07 > .title {
    font-size: 28px;
    line-height: 180%;
    font-weight: 700;
    margin-bottom: 40px;
  }
}
.com002-07 > .title::before {
  content: "";
  display: block;
  width: 126px;
  height: 4px;
  background: #76AEB6;
  margin-bottom: 50px;
}
@media screen and (max-width: 780px) {
  .com002-07 > .title::before {
    width: 120px;
  }
}
.com002-07 > span {
  font-size: 16px;
  line-height: 1.9375;
  letter-spacing: 0.21px;
}
@media screen and (max-width: 780px) {
  .com002-07 > span {
    font-size: 15px;
    line-height: 1.86667;
  }
}
.com002-07 > img {
  width: 100%;
  display: block;
  margin-bottom: 22px;
}

/*com08*/
.com002-08 > .title {
  font-size: 22px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 7000;
  line-height: 1.63636;
  letter-spacing: 0.25px;
  margin-bottom: 15px;
}
@media screen and (max-width: 780px) {
  .com002-08 > .title {
    margin-bottom: 30px;
  }
}
.com002-08 > .list-wrap li {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.25px;
  line-height: 2.33333;
}
@media screen and (max-width: 780px) {
  .com002-08 > .list-wrap li {
    font-size: 16px;
    line-height: 2.1875;
  }
}

/*com09*/
.com002-09 {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.21px;
  line-height: 1.9375;
}
@media screen and (max-width: 780px) {
  .com002-09 {
    font-size: 15px;
    line-height: 1.86667;
  }
}

/*----------共通パーツ03------------
-----------------------------------*/
/*--com03-01--*/
.com03-slide-link {
  display: none;
}
@media screen and (max-width: 780px) {
  .com03-slide-link {
    display: flex;
    gap: 0 30px;
    flex-wrap: wrap;
  }
  .com03-slide-link span {
    display: inline-block;
    font-size: 14px;
    line-height: 2.57143;
    letter-spacing: 0.25px;
    color: #808791;
    font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  }
  .com03-slide-link span.active {
    font-weight: 700;
    color: #1B293E;
  }
}

.com003-01 {
  background: #fff;
  padding: 50px 70px;
}
@media screen and (max-width: 780px) {
  .com003-01 {
    padding: 50px 20px;
  }
}
.com003-01 > .com03-list {
  display: flex;
  gap: 3.83333%;
}
.com003-01 > .com03-list .com03-item {
  width: 30.83333%;
}
.com003-01 > .com03-list .com03-item > img {
  margin-bottom: 35px;
}
.com003-01 > .com03-list .com03-item > .department-title {
  display: flex;
  align-items: center;
  margin-bottom: 25px;
  gap: 15px;
}
.com003-01 > .com03-list .com03-item > .department-title span {
  font-size: 24px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.25px;
}
.com003-01 > .com03-list .com03-item > .border-line {
  display: block;
  width: 50px;
  height: 3px;
  background: #76AEB6;
  margin-bottom: 25px;
}
.com003-01 > .com03-list .com03-item > .comment {
  font-size: 16px;
  letter-spacing: 0.21px;
  line-height: 1.9375;
  font-weight: 500;
  margin-bottom: 25px;
  overflow: hidden;
}
.com003-01 > .com03-list .com03-item > .subject {
  border: 1px solid #76AEB6;
  padding: 15px;
  margin-bottom: 83px;
}
.com003-01 > .com03-list .com03-item > .subject > .title {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.21px;
  margin-bottom: 9px;
}
.com003-01 > .com03-list .com03-item > .subject > .subject-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.com003-01 > .com03-list .com03-item > .subject > .subject-list > li {
  padding: 5px 20px;
  background: #F0F0F0;
  color: #306C75;
  font-weight: 500;
}
.com003-01 > .com03-list .com03-item > .key-themes-content > .title {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.63158;
  letter-spacing: 0.21px;
  padding: 4px 0 4px 20px;
  border-left: 4px solid #76AEB6;
}
.com003-01 > .com03-list .com03-item > .key-themes-content > .themes-list {
  margin-bottom: 102px;
}
.com003-01 > .com03-list .com03-item > .key-themes-content > .themes-list.block-3 {
  margin-bottom: 285px;
}
.com003-01 > .com03-list .com03-item > .key-themes-content > .themes-list li {
  padding: 24px 0;
  border-bottom: 1px solid #DADBDC;
}
.com003-01 > .com03-list .com03-item > .key-themes-content > .themes-list li:last-child {
  border-bottom: none;
}
.com003-01 > .com03-list .com03-item > .key-themes-content > .themes-list li > .theme-title {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.21px;
  line-height: 1.9375;
  margin-bottom: 10px;
}
.com003-01 > .com03-list .com03-item > .key-themes-content > .themes-list li > .comment {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.9375;
  letter-spacing: 0.21px;
}
.com003-01 > .com03-list .com03-item > .region {
  border: 1px solid #A2174E;
  padding: 15px;
}
.com003-01 > .com03-list .com03-item > .region > .title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.9375;
  letter-spacing: 0.21px;
  margin-bottom: 9px;
}
.com003-01 > .com03-list .com03-item > .region > .region-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
}
.com003-01 > .com03-list .com03-item > .region > .region-list > li {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.21px;
  padding: 5px 20px;
  color: #A2174E;
  background: #F0F0F0;
}
.com003-01 > .com03-list .com03-item > .region > .region-list > li a {
  color: #A2174E;
}

.key-themes-ac-list {
  margin-bottom: 83px;
}
.key-themes-ac-list .key-themes-ac001 {
  border-bottom: 1px solid #DADBDC;
}
.key-themes-ac-list .key-themes-ac001:last-child {
  border-bottom: none;
}
.key-themes-ac-list .key-themes-ac001:nth-child(n+2) dd {
  display: none;
}
.key-themes-ac-list .key-themes-ac001 > dt {
  padding: 15px 0;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.21px;
  display: flex;
  justify-content: space-between;
}
.key-themes-ac-list .key-themes-ac001 > dt > .toggle-btn {
  width: 24px;
  height: 24px;
  background: #E5E5E5;
  position: relative;
}
.key-themes-ac-list .key-themes-ac001 > dt > .toggle-btn span {
  width: 14px;
  height: 2px;
  background: #1B293E;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.key-themes-ac-list .key-themes-ac001 > dt > .toggle-btn span:nth-of-type(2) {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: all 0.5s ease;
}
.key-themes-ac-list .key-themes-ac001 > dt.active .toggle-btn span:nth-of-type(2) {
  transform: translate(-50%, -50%) rotate(0deg);
  transition: all 0.5s ease;
}
.key-themes-ac-list .key-themes-ac001 > dd {
  padding-bottom: 15px;
  font-size: 16px;
  line-height: 1.9375;
  letter-spacing: 0.21px;
  font-weight: 500;
}

/*--com03-02--*/
.com003-02 {
  background: #fff;
  padding: 60px 70px;
}
@media screen and (max-width: 1030px) {
  .com003-02 {
    padding: 20px 20px 40px 20px;
    width: auto;
  }
}
.com003-02 > .title-imag {
  display: flex;
  gap: 42px;
  margin-bottom: 50px;
}
@media screen and (max-width: 780px) {
  .com003-02 > .title-imag {
    flex-direction: column;
    margin-bottom: 40;
    gap: 60px;
  }
}
.com003-02 > .title-imag > .left .title {
  font-size: 38px;
  font-weight: 700;
  line-height: 1.84211;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: 51px;
}
@media screen and (max-width: 780px) {
  .com003-02 > .title-imag > .left .title {
    margin-bottom: 24px;
    line-height: 180%;
    font-size: 28px;
    margin-bottom: 24px;
    line-height: 180%;
    font-weight: 700;
  }
}
.com003-02 > .title-imag > .left .name {
  font-size: 23px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
}
.com003-02 > .title-imag > .left .name::before {
  content: "";
  display: block;
  width: 96px;
  height: 3px;
  background: #76AEB6;
  margin-bottom: 40px;
}
@media screen and (max-width: 780px) {
  .com003-02 > .title-imag > .left .name::before {
    margin-bottom: 24px;
  }
}
.com003-02 > .title-imag > .right {
  width: 528px;
  height: 404px;
}
@media screen and (max-width: 780px) {
  .com003-02 > .title-imag > .right {
    width: 100%;
    height: auto;
  }
}
.com003-02 > .title-imag > .right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.com003-02 .content {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.21px;
}

/*--com03-03--*/
.com003-03 {
  background: #fff;
  padding: 20px 70px;
}
@media screen and (max-width: 780px) {
  .com003-03 {
    padding: 20px;
  }
}
.com003-03 > ul {
  display: flex;
  gap: 54px 64px;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 780px) {
  .com003-03 > ul {
    gap: 50px;
  }
}
.com003-03 > ul > li {
  width: calc(100% / 2 - 64px);
}
@media screen and (max-width: 780px) {
  .com003-03 > ul > li {
    width: 100%;
  }
}
.com003-03 > ul > li img {
  margin-bottom: 30px;
  height: 328px;
  object-fit: cover;
}
@media screen and (max-width: 780px) {
  .com003-03 > ul > li img {
    margin-bottom: 10px;
    width: 100%;
    height: auto;
  }
}
.com003-03 > ul > li > .txt {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.21px;
  line-height: 2;
}
@media screen and (max-width: 780px) {
  .com003-03 > ul > li > .txt {
    font-size: 14px;
    line-height: 1.71429;
  }
}

/*--com03-04--*/
.com003-04 {
  background: #fff;
  padding: 60px 70px;
}
@media screen and (max-width: 780px) {
  .com003-04 {
    padding: 40px 20px;
  }
}
.com003-04 > .title {
  font-size: 28px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  letter-spacing: 0.25px;
  margin-bottom: 55px;
}
@media screen and (max-width: 780px) {
  .com003-04 > .title {
    font-size: 28px;
    line-height: 1.28571;
    margin-bottom: 20px;
  }
}
.com003-04 > .title::before {
  content: "";
  display: block;
  background: #76AEB6;
  width: 75px;
  height: 4px;
  margin-bottom: 34px;
}
@media screen and (max-width: 780px) {
  .com003-04 > .title::before {
    margin-bottom: 50px;
    width: 120px;
  }
}
.com003-04 > .list-wrap > li {
  display: flex;
  padding: 40px 0;
  border-bottom: 1px solid #DADBDC;
  gap: 70px;
}
@media screen and (max-width: 780px) {
  .com003-04 > .list-wrap > li {
    flex-direction: column;
    gap: 20px;
  }
}
.com003-04 > .list-wrap > li:last-child {
  border-bottom: none;
}
.com003-04 > .list-wrap > li > .left {
  width: 23.48548%;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.77778;
  letter-spacing: 0.25px;
}
@media screen and (max-width: 780px) {
  .com003-04 > .list-wrap > li > .left {
    width: 100%;
  }
}
.com003-04 > .list-wrap > li > .right {
  width: 70.70539%;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 500;
}
@media screen and (max-width: 780px) {
  .com003-04 > .list-wrap > li > .right {
    width: 100%;
    font-size: 14px;
    line-height: 1.71429;
  }
}

/*--com03-05--*/
.com003-05 > .list-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 17px;
}
@media screen and (max-width: 780px) {
  .com003-05 > .list-wrap {
    flex-direction: column;
  }
}
.com003-05 > .list-wrap li {
  width: calc(100% / 3 - 17px);
  background: #fff;
  position: relative;
  flex-grow: 1;
}
@media screen and (max-width: 780px) {
  .com003-05 > .list-wrap li {
    width: 100%;
  }
}
.com003-05 > .list-wrap li.col-2 {
  width: calc(100% / 2 - 17px);
}
@media screen and (max-width: 780px) {
  .com003-05 > .list-wrap li.col-2 {
    width: 100%;
  }
}
.com003-05 > .list-wrap li::after {
  content: "";
  width: 4px;
  height: 65.625%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: #76AEB6;
}
@media screen and (max-width: 780px) {
  .com003-05 > .list-wrap li::after {
    height: 60.57692%;
  }
}
.com003-05 > .list-wrap li .content_wrap {
  padding: 20px 40px;
}
@media screen and (max-width: 780px) {
  .com003-05 > .list-wrap li .content_wrap {
    padding: 25px 20px 20px;
  }
}
.com003-05 > .list-wrap li .content_wrap .title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.77778;
  letter-spacing: 0.25px;
  margin-bottom: 19px;
}
.com003-05 > .list-wrap li .content_wrap .content {
  font-size: 16px;
  line-height: 150%;
  letter-spacing: 0.21px;
  font-weight: 500;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  height: 96px;
}
@media screen and (max-width: 780px) {
  .com003-05 > .list-wrap li .content_wrap .content {
    font-size: 15px;
    height: 86px;
  }
}

/*--com03-06--*/
@media screen and (max-width: 780px) {
  .com003-06 {
    padding: 40px 20px;
  }
}
.com003-06 > .title {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.28571;
  letter-spacing: 0.25px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: 34px;
}
@media screen and (max-width: 780px) {
  .com003-06 > .title {
    font-size: 28px;
    line-height: 1.28571;
    margin-bottom: 20px;
  }
}
.com003-06 > .title:before {
  content: "";
  background: #76AEB6;
  display: block;
  width: 75px;
  height: 4px;
  margin-bottom: 34px;
}
@media screen and (max-width: 780px) {
  .com003-06 > .title:before {
    width: 120px;
    margin-bottom: 40px;
  }
}
.com003-06 > .wrap {
  display: flex;
  gap: 36px;
}
@media screen and (max-width: 780px) {
  .com003-06 > .wrap {
    flex-direction: column;
    gap: 20px;
  }
}
.com003-06 > .wrap > .left {
  width: 53.0597%;
  height: 534px;
}
@media screen and (max-width: 780px) {
  .com003-06 > .wrap > .left {
    width: 100%;
    height: auto;
  }
}
.com003-06 > .wrap > .left img {
  width: 100%;
}
.com003-06 > .wrap > .right {
  width: 44.25373%;
}
@media screen and (max-width: 780px) {
  .com003-06 > .wrap > .right {
    width: 100%;
  }
}
.com003-06 > .wrap > .right > .right-title {
  font-size: 21px;
  font-weight: 700;
  line-height: 1.52381;
  letter-spacing: 0.25px;
  margin-bottom: 26px;
}
@media screen and (max-width: 780px) {
  .com003-06 > .wrap > .right > .right-title {
    font-size: 18px;
    line-height: 1.77778;
    margin-bottom: 20px;
  }
}
.com003-06 > .wrap > .right > .content {
  font-size: 16px;
  line-height: 1.75;
  font-weight: 500;
  margin-bottom: 17px;
}
@media screen and (max-width: 780px) {
  .com003-06 > .wrap > .right > .content {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 20px;
  }
}
.com003-06 > .wrap > .right > .category {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 5px;
  margin-bottom: 40px;
}
@media screen and (max-width: 780px) {
  .com003-06 > .wrap > .right > .category {
    margin-bottom: 20px;
  }
}
.com003-06 > .wrap > .right > .category li {
  padding: 3px 20px;
  border: 1px solid #306C75;
  border-radius: 40px;
  color: #306C75;
  font-size: 13px;
}
.com003-06 > .wrap > .right > .category li a {
  color: #306C75;
}

/*----------共通パーツ04------------
-----------------------------------*/
/*--com04-02--*/
.com004-02 > .title {
  font-size: 28px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: 28px;
  font-weight: 700;
  line-height: 1.28571;
}
.com004-02 > .title span {
  font-size: 48px;
  letter-spacing: 0.25px;
}
@media screen and (max-width: 780px) {
  .com004-02 > .title span {
    font-size: 35px;
    line-height: 1.6;
  }
}
.com004-02 > .title::before {
  content: "";
  display: block;
  background: #76AEB6;
  width: 126px;
  height: 4px;
  margin-bottom: 50px;
}
.com004-02 p {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.21px;
}
@media screen and (max-width: 780px) {
  .com004-02 p {
    font-size: 14px;
    line-height: 1.71429;
  }
}

/*--com04-02v2--*/
.com004-02v2 > .title {
  font-size: 28px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: 28px;
  font-weight: 700;
  line-height: 1.28571;
}
.com004-02v2 > .title span {
  font-size: 48px;
  letter-spacing: 0.25px;
}
@media screen and (max-width: 780px) {
  .com004-02v2 > .title span {
    font-size: 35px;
    line-height: 1.6;
  }
}
.com004-02v2 > .title::before {
  content: "";
  display: block;
  background: #76AEB6;
  width: 126px;
  height: 4px;
  margin-bottom: 50px;
}
.com004-02v2 p {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.21px;
}
.com004-02v2 p span {
  color: #9A003D;
}
@media screen and (max-width: 780px) {
  .com004-02v2 p {
    font-size: 14px;
    line-height: 1.71429;
  }
}
.com004-02v2 .sub_title {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.21px;
  line-height: 1.19231;
}
.com004-02v2 .sub_title span {
  color: #9A003D;
}
.com004-02v2 .flex-col2 {
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 780px) {
  .com004-02v2 .flex-col2 {
    flex-direction: column;
    gap: 20px;
  }
}
.com004-02v2 .flex-col2 img {
  width: 50%;
}
@media screen and (max-width: 780px) {
  .com004-02v2 .flex-col2 img {
    width: 100%;
  }
}

/*--com04-03--*/
.com004-03 > .title {
  font-size: 22px;
  margin-bottom: 30px;
}
@media screen and (max-width: 780px) {
  .com004-03 > .title {
    font-size: 22px;
    letter-spacing: 0.25px;
    margin-bottom: 20px;
  }
}
.com004-03 > ul {
  display: flex;
  gap: 1px;
}
.com004-03 > ul > li {
  display: flex;
  gap: 0.3em;
  justify-content: center;
  align-items: baseline;
  width: calc(100% / 3 - 1px);
  background: #C789A1;
  font-size: 21px;
  font-weight: 700;
  color: #fff;
  padding: 24px 0;
  cursor: pointer;
}
@media screen and (max-width: 780px) {
  .com004-03 > ul > li {
    font-size: 16px;
    padding: 9px 0;
  }
}
.com004-03 > ul > li.active {
  background: #A2174E;
}
.com004-03 > ul > li span {
  font-weight: 700;
  font-size: 30px;
}
@media screen and (max-width: 780px) {
  .com004-03 > ul > li span {
    font-size: 26px;
  }
}
.com004-03 > .case {
  background: #fff;
  width: 100%;
  padding: 50px 57px 70px;
  box-sizing: border-box;
}
@media screen and (max-width: 780px) {
  .com004-03 > .case {
    padding: 25px 20px 20px;
  }
}
.com004-03 > .case > span {
  display: block;
  margin-bottom: 50px;
  font-size: 16px;
  line-height: 1.75;
}
@media screen and (max-width: 780px) {
  .com004-03 > .case > span {
    margin-bottom: 35px;
    font-size: 15px;
    line-height: 1.86667;
  }
}
.com004-03 > .case > .case-img {
  padding: 0 120px;
}
@media screen and (max-width: 780px) {
  .com004-03 > .case > .case-img {
    padding: 0 20px;
  }
}
.com004-03 > .case > .case-img img {
  width: 100%;
}
.com004-03 #case_2, .com004-03 #case_3 {
  display: none;
}

/*--com04-04--*/
.com-004-04 {
  margin-bottom: 100px;
}
.com-004-04 > .title {
  font-size: 28px;
  margin-bottom: 60px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media screen and (max-width: 780px) {
  .com-004-04 > .title {
    margin-bottom: 28px;
  }
}
.com-004-04 > .title::before {
  content: "";
  width: 126px;
  height: 4px;
  margin-bottom: 50px;
  background: #A2174E;
  display: block;
}
@media screen and (max-width: 780px) {
  .com-004-04 > .title::before {
    width: 120px;
  }
}

.accordion-menu003 {
  margin-bottom: 1px;
  background: #fff;
  padding: 0 17px;
}
.accordion-menu003 dt {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding: 26px 0;
}
@media screen and (max-width: 780px) {
  .accordion-menu003 dt {
    padding: 10px 0;
  }
}
.accordion-menu003 dt > .title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.25px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  display: flex;
  align-items: baseline;
}
@media screen and (max-width: 780px) {
  .accordion-menu003 dt > .title {
    padding-right: 18px;
  }
}
.accordion-menu003 dt > .title::before {
  content: "Q";
  margin-right: 20px;
}
.accordion-menu003 dt > .toggle-btn {
  width: 24px;
  height: 24px;
  background: #E5E5E5;
  position: relative;
}
.accordion-menu003 dt > .toggle-btn span {
  width: 14px;
  height: 2px;
  background: #1B293E;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.accordion-menu003 dt > .toggle-btn span:nth-of-type(2) {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: all 0.5s ease;
}
.accordion-menu003 dt.active .toggle-btn span:nth-of-type(2) {
  transform: translate(-50%, -50%) rotate(0deg);
  transition: all 0.5s ease;
}
.accordion-menu003 dd {
  padding-bottom: 20px;
  display: none;
  font-size: 16px;
}
.accordion-menu003 dd .txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
  padding: 0 38px;
}
@media screen and (max-width: 780px) {
  .accordion-menu003 dd .txt {
    line-height: 1.75;
    padding: 0;
  }
}
.accordion-menu003 dd .btns-001 {
  margin-top: 65px;
  display: flex;
  gap: 29px;
  justify-content: center;
}
@media screen and (max-width: 780px) {
  .accordion-menu003 dd .btns-001 {
    flex-direction: column;
    gap: 25px;
  }
}

/*--com04-05--*/
/*--com04-06--*/
.com-004-06 {
  margin-bottom: 120px;
}
@media screen and (max-width: 780px) {
  .com-004-06 {
    margin-bottom: 60px;
  }
}
.com-004-06 > .sub-title {
  font-size: 28px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  line-height: 1.28571;
  letter-spacing: 0.25px;
  margin-bottom: 20px;
}
.com-004-06 > .sub-title::before {
  content: "";
  width: 126px;
  height: 4px;
  background: #A2174E;
  display: block;
  margin-bottom: 50px;
}
.com-004-06 > .title {
  font-size: 48px;
  font-family: "游明朝", YuMincho, "A P-OTF Shuei NijimiMin Std", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.25px;
  margin-bottom: 28px;
}
@media screen and (max-width: 780px) {
  .com-004-06 > .title {
    line-height: normal;
  }
}
.com-004-06 > .flex-col2 {
  display: flex;
  gap: 60px;
  justify-content: space-between;
}
@media screen and (max-width: 780px) {
  .com-004-06 > .flex-col2 {
    flex-direction: column;
    gap: 30px;
  }
}
.com-004-06 > .flex-col2 > .txt {
  font-size: 16px;
  line-height: 1.9375;
  letter-spacing: 0.21px;
}
@media screen and (max-width: 780px) {
  .com-004-06 > .flex-col2 > .txt {
    width: 100%;
  }
}
.com-004-06 > .flex-col2 > .img-wrap img {
  width: 100%;
}

.head-image001 {
  background: #fff;
  padding: 80px 30px 0;
}

.Features_txt {
  padding: 99px 16.49254% 136px;
  background: #fff;
}
@media screen and (max-width: 780px) {
  .Features_txt {
    padding: 42px 30px;
  }
}

.title_and_txt001 {
  margin-bottom: 65px;
}
@media screen and (max-width: 780px) {
  .title_and_txt001 {
    margin-bottom: 38px;
  }
}
.title_and_txt001 > .title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.25px;
  margin-bottom: 15px;
}
@media screen and (max-width: 780px) {
  .title_and_txt001 > .title {
    margin-bottom: 23px;
  }
}
.title_and_txt001 > .txt {
  font-size: 16px;
  line-height: 1.75;
  font-weight: 500;
}
@media screen and (max-width: 780px) {
  .title_and_txt001 > .txt {
    font-size: 15px;
    margin-bottom: 23px;
  }
}
.title_and_txt001 > img {
  display: block;
  margin: 80px auto 0;
  width: 830px;
}
@media screen and (max-width: 780px) {
  .title_and_txt001 > img {
    width: 100%;
  }
}
.title_and_txt001 > ul > li {
  border-top: 1px solid #DADBDC;
}
.title_and_txt001 > ul > li .sub_title {
  padding: 15px 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.75;
}
.title_and_txt001 > ul > li .sub_txt {
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 15px;
}
.title_and_txt001 > .bold {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.75;
}
@media screen and (max-width: 780px) {
  .title_and_txt001 > .bold {
    margin-bottom: 23px;
  }
}

.departments-movie001 {
  position: relative;
  margin-bottom: 45px;
}
@media screen and (max-width: 780px) {
  .departments-movie001 {
    margin-bottom: 33px;
  }
}
.departments-movie001 > video {
  width: 100%;
}
.departments-movie001 > img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.departments-movie002 {
  position: relative;
  margin-bottom: 45px;
}
@media screen and (max-width: 780px) {
  .departments-movie002 {
    margin-bottom: 33px;
  }
}
.departments-movie002 > a {
  width: 100%;
}
.departments-movie002 > a > img {
  width: 100%;
}
.departments-movie002 > a::after {
  content: "";
  background: url(https://fst.sophia.ac.jp/common/img/icn-play-btn.svg) no-repeat;
  background-size: contain;
  position: absolute;
  width: 72px;
  height: 72px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.interview-title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.25px;
  line-height: 1.77778;
  margin-bottom: 29px;
}
@media screen and (max-width: 780px) {
  .interview-title {
    margin-bottom: 11px;
  }
}

.site_map .map_item {
  margin-bottom: 16px;
  background: #fff;
}
.site_map .map_item .top_layer {
  position: relative;
  padding: 14px 0 14px 20px;
  color: #A2174E;
  font-size: 18px;
  display: inline-block;
  font-weight: 700;
  letter-spacing: 0.25px;
  text-decoration: underline;
}
.site_map .map_item .top_layer::before {
  content: "";
  background: #A2174E;
  height: 68.75%;
  width: 4px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

@media screen and (max-width: 780px) {
  .mid_layer {
    padding: 0 16px 16px;
  }
}
.mid_layer > li {
  background: #F8F8F8;
  margin-bottom: 8px;
  display: flex;
  padding: 4px 0;
  gap: 2.44275%;
  align-items: center;
}
@media screen and (max-width: 780px) {
  .mid_layer > li {
    flex-direction: column;
    align-items: baseline;
    padding: 0 16px;
  }
}
.mid_layer > li > a {
  min-width: 220px;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  letter-spacing: 0.25px;
  text-decoration: underline;
  line-height: 2;
}
.mid_layer > li > a::before {
  content: "";
  width: 15px;
  height: 1px;
  background: #000;
  margin-right: 9px;
  margin-left: 20px;
}
@media screen and (max-width: 780px) {
  .mid_layer > li > a::before {
    margin-left: 0;
  }
}

.bottom_layer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  width: 100%;
  padding: 16px 0;
}
@media screen and (max-width: 780px) {
  .bottom_layer {
    flex-direction: column;
  }
}
.bottom_layer > li {
  width: calc(100% / 3 - 24px);
}
@media screen and (max-width: 780px) {
  .bottom_layer > li {
    width: 100%;
  }
}
.bottom_layer > li a {
  display: flex;
  align-items: center;
  line-height: 1.71429;
  letter-spacing: 0.21px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: underline;
}
.bottom_layer > li a::before {
  content: "・";
}

.table-white {
  background: #fff;
  width: 100%;
}
.table-white tbody tr {
  border-bottom: 1px solid #DADBDC;
}
.table-white tbody tr:last-child {
  border-bottom: none;
}
.table-white tbody tr th {
  border-left: 1px solid #DADBDC;
  text-align: center;
  padding: 30px 0;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.25px;
}
.table-white tbody tr th:first-child {
  border-bottom: none;
}
.table-white tbody tr td {
  border-left: 1px solid #DADBDC;
  text-align: center;
  padding: 30px 0;
  text-align: center;
  font-size: 16px;
  letter-spacing: 0.21px;
}

.mini-table tbody {
  border: 1px solid #929FAE;
}
.mini-table tbody tr {
  border-bottom: 1px solid #929FAE;
}
.mini-table tbody tr th {
  border-right: 1px solid #929FAE;
  font-size: 23px;
  padding: 20px 28px;
  text-align: center;
}
.mini-table tbody tr td {
  font-size: 23px;
  padding: 20px 28px;
  text-align: center;
}

@media screen and (max-width: 780px) {
  .table-wrap {
    overflow-x: scroll;
  }
}

.fe_table tbody .annual {
  background: #929FAE;
}
.fe_table tbody .all {
  background: #EBEEF2;
}
.fe_table tbody .detail {
  background: #fff;
}
.fe_table tbody .detail td.red {
  color: #7D002D;
}
.fe_table tbody .detail td.blue {
  color: #1E1E64;
}
.fe_table tbody .detail td.green {
  color: #005037;
}
.fe_table tbody tr {
  font-size: 16px;
  border: 1px solid #1E2F4A;
}
.fe_table tbody tr th {
  border-right: 1px solid #1E2F4A;
  padding: 20px 24px;
  font-size: 16px;
}
.fe_table tbody tr th a {
  text-decoration: underline;
}
.fe_table tbody tr td {
  border-right: 1px solid #1E2F4A;
  padding: 20px 24px;
  font-size: 16px;
  width: calc(100% / 4);
  line-height: 2;
}
@media screen and (max-width: 780px) {
  .fe_table tbody tr td {
    min-width: 100px;
  }
}
.fe_table tbody tr td.col-5 {
  width: calc(100% / 5);
}
.fe_table tbody tr td a {
  text-decoration: underline;
}
.fe_table tbody tr td.w25 {
  width: 25%;
}

.list-wrap-dp {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 780px) {
  .list-wrap-dp {
    flex-direction: column;
  }
}
.list-wrap-dp > li {
  width: calc(100% / 5 - 20px);
  flex-grow: 1;
  padding: 20px 3.76%;
  background: #fff;
  position: relative;
  box-sizing: border-box;
}
.list-wrap-dp > li::after {
  content: "";
  background: #A2174E;
  width: 3px;
  height: 39px;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 780px) {
  .list-wrap-dp > li {
    width: 100%;
  }
}
.list-wrap-dp > li > .title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 15px;
  letter-spacing: 0.21px;
  line-height: 1.77778;
}
.list-wrap-dp > li > .content {
  font-size: 16px;
  letter-spacing: 0.21px;
  line-height: 1.75;
}

@media screen and (max-width: 780px) {
  .over_img_sp {
    overflow: auto;
  }
  .over_img_sp > div {
    width: 600px;
  }
}

.section-mv-01 img {
  width: 100%;
  vertical-align: bottom;
}
@media screen and (max-width: 780px) {
  .section-mv-01 img {
    height: 331px;
    object-fit: cover;
  }
}

.title-news {
  display: flex;
  align-items: center;
  margin-bottom: 25px;
}
.title-news .more-link {
  margin-left: auto;
}

.news-tags {
  margin-bottom: 65px;
}
@media screen and (max-width: 780px) {
  .news-tags {
    margin-bottom: 30px;
  }
}

.section-link .title-link {
  margin-bottom: 40px;
}

.dummy-header {
  position: absolute;
  top: 0;
  left: 0;
}

.dummy-footer {
  background: #fff;
}

.single-our-alumni .content {
  padding: 125px 0 65px;
}
