@charset "UTF-8";
*,
*:before,
*:after {
  box-sizing: inherit;
}
html {
  box-sizing: border-box;
}
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* 左に矢印（初期色：白） */
/* 右に矢印（初期色：青） */
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
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-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, main, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/**
 * Base
 */
button,
input[type="button"],
input[type="checkbox"],
input[type="image"],
input[type="radio"],
input[type="reset"],
input[type="submit"],
label,
select {
  cursor: pointer;
}

button,
input,
select,
textarea {
  vertical-align: top;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: none;
  padding: 0;
}

button,
input[type="text"],
input[type="search"],
input[type="submit"],
input[type="checkbox"],
textarea {
  border-radius: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  font-family: inherit;
  line-height: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

button {
  margin: 0;
  border: none;
  padding: 0;
  background-color: transparent;
  overflow: visible;
  outline: none;
}

input[type="text"]::-webkit-input-placeholder {
  opacity: 1;
}

input[type="text"]:-ms-input-placeholder {
  opacity: 1;
}

input[type="text"]::-ms-input-placeholder {
  opacity: 1;
}

input[type="text"]::placeholder {
  opacity: 1;
}

img {
  vertical-align: top;
}

html,
body {
  height: 100%;
}

html {
  font-size: 62.5%;
}

body {
  min-width: 1000px;
  color: #231815;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", Verdana, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.6;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -moz-osx-font-smoothing: unset;
  -webkit-font-smoothing: subpixel-antialiased;
  -webkit-text-size-adjust: 100%;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  body {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
  }
}

@media screen and (max-width: 767px) {
  body {
    min-width: 0;
  }
}

a {
  color: #231815;
  text-decoration: none;
}

a:hover {
  opacity: 0.7;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  text-decoration: underline;
}

.is2column > *,
.is3column > *,
.is4column > * {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .is2column > *,
  .is3column > *,
  .is4column > * {
    display: inherit;
  }
}

.is2columnSelf,
.is3columnSelf {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .is2columnSelf,
  .is3columnSelf {
    display: inherit;
  }
}

@media screen and (max-width: 767px) {
  .brPc, .onlyPc {
    display: none;
  }
}

.brSp, .onlySp {
  display: none;
}

@media screen and (max-width: 767px) {
  .brSp, .onlySp {
    display: inherit;
  }
}

@media screen and (max-width: 767px) {
  img {
    max-width: 100%;
    height: auto;
  }
}

/**
 * Header
 */
/**
 表示に対する影響が大きい（と思われる）順
 1. 表示系（display、opacity、visibilityなど）
 2. 配置系（float、position、topなど）
 3. ボックスモデル系（margin、padding、widthなど）
 4. 背景・ボックス装飾系（background、box-shadowなど）
 5. フォント系（font-size、line-heightなど）
 6. その他（animation、transformなど）

 とする。
 それぞれの系統内ではアルファベット順を基本とするが、例外として、
 ボックスモデル系は外側から
 margin、border、padding、width、heightの順で指定し、
 フォント系は配置に関係する
 text-align、vertical-alignなどを先に記述する。
 また、beforeおよびafter疑似要素ではcontentは必須プロパティなので、忘れないよう最初に記述することとする。
 */
.l-header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .l-header {
    position: fixed;
    z-index: 100;
    -webkit-box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.2);
  }
}

.l-header .c-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  min-height: 76px;
  min-width: 1000px;
}

@media screen and (max-width: 767px) {
  .l-header .c-header {
    min-width: 0;
    min-height: 48px;
  }
}

.l-header .c-header .logoBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: 20px;
}

@media screen and (max-width: 767px) {
  .l-header .c-header .logoBlock {
    margin-left: 10px;
    min-height: 48px;
  }
}

.l-header .c-header .logoBlock .logo {
  max-width: 214px;
}

@media screen and (max-width: 767px) {
  .l-header .c-header .logoBlock .logo {
    max-width: 168px;
    width: 168px;
  }
}

.l-header .c-header .logoBlock .logo a {
  display: block;
}

.l-header .c-header .logoBlock .logo a img {
  width: 100%;
  height: auto;
}

.l-header .c-header .logoBlock .lead {
  margin-left: 25px;
  font-size: 1.1rem;
}

@media screen and (max-width: 1170px) {
  .l-header .c-header .logoBlock .lead {
    width: 170px;
  }
}

@media screen and (max-width: 767px) {
  .l-header .c-header .logoBlock .lead {
    display: none;
  }
}

.l-header .c-header .navBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.l-header .c-header .navBlock .subNavArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /*-webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;*/
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

@media screen and (max-width: 767px) {
  .l-header .c-header .navBlock .subNavArea {
    display: none;
  }
}

.l-header .c-header .navBlock .subNavArea .subNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.l-header .c-header .navBlock .telBox {
	display: -webkit-box;
  display: -ms-flexbox;
	display: flex;
}
.l-header .c-header .navBlock .telBox a {
    display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: #089bd8;
	color: #fff;
	height: 100%;
	padding: 1em;
	font-weight: bold;
	font-size: 1.3rem;
	pointer-events: none;
    cursor: default;
	text-align: center;
	line-height: 1.2;
}
.l-header .c-header .navBlock .telBox a:hover {
	text-decoration: none;
}
.l-header .c-header .navBlock .telBox a .telNo {
	font-size: 2rem;
	font-weight: 700;
	font-family: 'Roboto Condensed', sans-serif;
}
.l-header .c-header .navBlock .subNavArea .subNav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	align-items: center;
}

.l-header .c-header .navBlock .subNavArea .subNav ul li {
  margin-right: 30px;
  font-size: 1.3rem;
  font-weight: bold;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .l-header .c-header .navBlock .subNavArea .subNav ul li {
    padding-top: 0.2em;
  }
}

@media screen and (max-width: 1100px) {
  .l-header .c-header .navBlock .subNavArea .subNav ul li {
    font-size: 1.2rem;
    margin-right: 20px;
  }
}

.l-header .c-header .navBlock .subNavArea .subNav ul li a:hover {
  text-decoration: none;
  color: #1649a5;
}
.l-header .c-header .navBlock .contactBtn {
	display: -webkit-box;
    display: -ms-flexbox;
	display: flex;
	border-left: 1px solid #fff;
	
}

@media screen and (max-width: 570px) {
  .l-header .c-header .navBlock .hbtn03 {
    display: none;
  }
}
@media screen and (max-width: 460px) {
  .l-header .c-header .navBlock .hbtn02 {
    display: none;
  }
}
@media screen and (max-width: 360px) {
  .l-header .c-header .navBlock .hbtn0 {
    display: none;
  }
}


.l-header .c-header .navBlock .contactBtn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 76px;
  height: 100%;
  padding: 0 1em;
  background: #dd2a7b;
  color: #ffffff;
  line-height: 1.4;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-header .c-header .navBlock .contactBtn a {
    min-height: 48px;
    padding: 0 15px;
    font-size: 1.2rem;
  }
	
  .l-header .c-header .navBlock .telBox {
  	display: none;
  }
}

@media screen and (max-width: 640px) {
  /*.l-header .c-header .navBlock .contactBtn a {
    padding: 0 10px;
    font-size: 1.1rem;
  }*/
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .l-header .c-header .navBlock .contactBtn a.contact {
    padding: 0.2em 30px 0;
  }
}

.l-header .c-header .navBlock .contactBtn a.contact:hover {
  text-decoration: none;
}

.l-header .c-header .menuBtn {
  display: none;
  padding: 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #1649a5;
}

@media screen and (max-width: 767px) {
  .l-header .c-header .menuBtn {
    display: inline-block;
    z-index: 2;
  }
}

.l-header .c-header .menuBtn:hover {
  cursor: pointer;
}

.l-header .c-header .menuBtn .menuBtnInner {
  position: relative;
  display: block;
  width: 20px;
  height: 18px;
}

.l-header .c-header .menuBtn span {
  position: absolute;
  left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 2px;
  background-color: #ffffff;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

.l-header .c-header .menuBtn .top {
  top: 0;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

.l-header .c-header .menuBtn .center {
  top: 50%;
  margin-top: -1px;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

.l-header .c-header .menuBtn .bottom {
  bottom: 0;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

@media screen and (max-width: 767px) {
  .l-header .menuBlock {
    position: absolute;
    z-index: 10;
    opacity: 0;
    -webkit-transition: background-color .3s;
    transition: background-color .3s;
    left: 0;
    right: 0;
    visibility: hidden;
    background-color: #fff;
  }
}

.l-header.isActive {
  visibility: visible;
}

@media screen and (max-width: 767px) {
  .l-header.isActive {
    height: 100%;
    overflow: auto;
  }
}

.l-header.isActive .menuBtn {
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
}

.l-header.isActive .menuBtn .top {
  -webkit-transform: translateY(8px) rotate(-45deg);
  transform: translateY(8px) rotate(-45deg);
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

.l-header.isActive .menuBtn .center {
  opacity: 0;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

.l-header.isActive .menuBtn .bottom {
  -webkit-transform: translateY(-8px) rotate(45deg);
  transform: translateY(-8px) rotate(45deg);
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

.l-header.isActive .menuBlock {
  visibility: visible;
  opacity: 1;
  -webkit-transition: opacity .3s, visibility .3s;
  transition: opacity .3s, visibility .3s;
}

.l-header .globalNavArea {
  background: #1649a5;
}

@media screen and (max-width: 767px) {
  .l-header .globalNavArea {
    padding: 20px 0 10px;
  }
}

.l-header .globalNavArea .c-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-flow: row-reverse;
  flex-flow: row-reverse;
  min-height: 50px;
}

@media screen and (max-width: 767px) {
  .l-header .globalNavArea .c-container {
    display: inherit;
    min-height: auto;
  }
}

@media screen and (max-width: 767px) {
  .l-header .globalNavArea .searchBlock {
    top: 48px;
  }
}

.l-header .globalNavArea .searchBlock form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 220px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .l-header .globalNavArea .searchBlock form {
    width: auto;
  }
}

.l-header .globalNavArea .searchBlock form .s {
  width: 180px;
  height: 32px;
  padding: 5px 5px 5px 12px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 20px 0 0 20px;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
  font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
  .l-header .globalNavArea .searchBlock form .s {
    width: 80%;
    height: 48px;
    padding-left: 20px;
    border-radius: 30px 0 0 30px;
    font-size: 1.6rem;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .l-header .globalNavArea .searchBlock form .s {
    padding: 8px 5px 5px 12px;
  }
}

.l-header .globalNavArea .searchBlock form input[type="submit"] {
  width: 40px;
  height: 32px;
  background: #8595a1 url("/assets/images/common/icon_search.png") no-repeat center;
  border: none;
  border-radius: 0 20px 20px 0;
  font-family: "Font Awesome 5 Free";
}

@media screen and (max-width: 767px) {
  .l-header .globalNavArea .searchBlock form input[type="submit"] {
    width: 60px;
    height: 48px;
    border-radius: 0 24px 24px 0;
  }
}

.l-header .globalNavArea .searchBlock form input[type="submit"]:hover {
  opacity: 0.7;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

.l-header .globalNavArea .globalNav {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .l-header .globalNavArea .globalNav {
    width: auto;
    margin-top: 5px;
  }
}

.l-header .globalNavArea .globalNav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

@media screen and (max-width: 767px) {
  .l-header .globalNavArea .globalNav ul {
    display: inherit;
  }
}

@media screen and (max-width: 767px) {
  .l-header .globalNavArea .globalNav ul li {
    position: relative;
    padding-left: 25px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  .l-header .globalNavArea .globalNav ul li::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 0.45em;
    width: 4px;
    height: 4px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle;
  }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
  .l-header .globalNavArea .globalNav ul li::before {
    left: 7px;
  }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
  .l-header .globalNavArea .globalNav ul li a {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .l-header .globalNavArea .globalNav ul li:last-child {
    border-bottom: none;
  }
  .l-header .globalNavArea .globalNav ul li:before {
    top: 23px;
  }
}

.l-header .globalNavArea .globalNav ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
  height: 50px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1.6rem;
  line-height: 1.2;
  font-weight: bold;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .l-header .globalNavArea .globalNav ul li a {
    display: block;
    padding: 10px 0;
    height: auto;
    line-height: 2.3;
    font-size: 1.4rem;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .l-header .globalNavArea .globalNav ul li a {
    padding: 0.3em 28px 0;
  }
}

.l-header .globalNavArea .globalNav ul li a:hover {
  text-decoration: none;
  background-color: #456db7;
}



.l-header .globalNavArea .globalNav ul li {
  position: relative;
}

.l-header .globalNavArea .globalNav ul li ul {
  position: absolute;
  width: 230px;
  display: none;
  filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.6));
}


.l-header .globalNavArea .globalNav ul li ul li {
  width: 230px;
  display: block;
  background: #e3f1f6;
  border-bottom: 1px solid #1c4ea0;
}

.l-header .globalNavArea .globalNav ul li ul li a{
  color: #1c4ea0;
  text-align: center;
  height: 45px;
  font-size: 1.3em;
}

.gnv01:hover .subGlobalNav,
.gnv02:hover .subGlobalNav {
  display: block !important;
}

.gnv01:hover .subGlobalNav {
  width: 200px;
  left: -30px;
}

.gnv01:hover .subGlobalNav li {
  width: 200px;
}

.gnv02:hover .subGlobalNav {
  width: 230px;
  left: -45px;
}

@media screen and (max-width: 767px) {
	.l-header .globalNavArea .globalNav ul li ul {
	  position: relative;
	  width: 100%;
	  display: block;
	  filter: none;
	}


	.l-header .globalNavArea .globalNav ul li ul li {
	  width: 100%;
	  display: block;
	  background: #1649a5;
	  border-bottom: none;
	  padding-left: 10px;
	}

	.l-header .globalNavArea .globalNav ul li ul li a{
	  color: #fff;
	  text-align: left;
	  height: 25px;
	  height: 2em;
	  font-size: 1.3em;
	  line-height: 1.3em;
	  margin-top: -10px;
	  margin-bottom: 15px;
	}

	.l-header .globalNavArea .globalNav ul li ul li:before{
	  content: "";
	  display: none;
	}

	.gnv01:hover .subGlobalNav {
	  width: 100%;
	  left: 0;
	}

	.gnv01:hover .subGlobalNav li {
	  width: 100%;
	}

	.gnv02:hover .subGlobalNav {
	  width: 100%;
	  left: 0;
	}
}




@media screen and (max-width: 767px) {
  .l-header .onlySp .subNavArea {
    background-color: #ffffff;
  }
  .l-header .onlySp .subNavArea .subNav ul li {
    position: relative;
    padding-left: 25px;
    border-bottom: 1px solid #d8dfe4;
  }
  .l-header .onlySp .subNavArea .subNav ul li::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 0.45em;
    width: 4px;
    height: 4px;
    border-top: 2px solid #1649a5;
    border-right: 2px solid #1649a5;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle;
  }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
  .l-header .onlySp .subNavArea .subNav ul li::before {
    left: 7px;
  }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
  .l-header .onlySp .subNavArea .subNav ul li a {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .l-header .onlySp .subNavArea .subNav ul li:last-child {
    border-bottom: none;
  }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
  .l-header .onlySp .subNavArea .subNav ul li::before {
    top: 23px;
  }
}

@media screen and (max-width: 767px) {
  .l-header .onlySp .subNavArea .subNav ul li a {
    padding: 10px 0;
    line-height: 2.3;
    font-size: 1.4rem;
    font-weight: bold;
  }
  .l-header .onlySp .telBox a {
	  display: block;
      background: #089bd8;
      color: #ffffff;
	  font-size: 1.4rem;
	  text-align: center;
	  font-weight: bold;
	  padding: 1em;
	  line-height: 1.4;
  }
	.l-header .onlySp .telBox a:hover {
		text-decoration: none;
	}
	.l-header .onlySp .telBox a .telNo {
		font-size: 2.6rem;
	}
}

.l-header.isSticky {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background-color: #1649a5;
  -webkit-box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.2);
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: .3s;
  animation-duration: .3s;
}

@media screen and (max-width: 767px) {
  .l-header.isSticky {
    background-color: #fff;
    -webkit-animation: none;
    animation: none;
  }
}

.l-header.isSticky .c-header {
  position: relative;
  min-width: 0;
  min-height: 44px;
}

@media screen and (max-width: 767px) {
  .l-header.isSticky .c-header {
    min-width: 0;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    min-height: 48px;
    z-index: 100;
    background-color: #fff;
  }
}

.l-header.isSticky .c-header .logoBlock {
  position: absolute;
  top: 0;
  left: 0;
  margin-left: 0;
  padding: 0 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 184px;
  min-height: 44px;
  height: 44px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .l-header.isSticky .c-header .logoBlock {
    position: static;
    margin-left: 10px;
    padding: 0;
    width: auto;
    min-height: 48px;
    height: auto;
    background: none;
  }
}

.l-header.isSticky .c-header .logoBlock .logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0;
  max-width: 184px;
  max-height: 24px;
}

@media screen and (max-width: 767px) {
  .l-header.isSticky .c-header .logoBlock .logo {
    max-width: 168px;
    width: 168px;
  }
}

.l-header.isSticky .c-header .logoBlock .lead {
  display: none;
}

.l-header.isSticky .c-header .navBlock {
  /*display: block;*/
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
}

@media screen and (max-width: 767px) {
  .l-header.isSticky .c-header .navBlock {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: static;
  }
}

.l-header.isSticky .c-header .navBlock .subNavArea {
  display: none;
}
.l-header.isSticky .c-header .navBlock .telBox a {
	width: 160px;
    height: 44px;
    padding: 0;
	font-size: 1.3rem;
}
.l-header.isSticky .c-header .navBlock .telBox a .telNo {
	font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .l-header.isSticky .c-header .navBlock .contactBtn a {
    padding: 0 15px;
    min-height: 48px;
    width: auto;
    font-size: 1.2rem;
  }
}
.l-header.isSticky .c-header .navBlock .contactBtn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 44px;
  height: 44px;
  width: 118px;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .l-header.isSticky .c-header .navBlock .contactBtn a {
    padding: 0 15px;
    min-height: 48px;
    width: auto;
    font-size: 1.2rem;
  }
}

.l-header.isSticky .menuBlock {
  position: absolute;
  top: 0;
  left: 184px;
  /*width: calc( 100% - 304px);*/
  width: calc( 100% - 703px);
}

@media screen and (max-width: 767px) {
  .l-header.isSticky .menuBlock {
    top: 48px;
    left: 0;
    right: 0;
    width: 100%;
  }
}


@media screen and (max-width: 1220px) {
  .isSticky .c-header .navBlock .hbtn03 {
    display: none;
  }
  .l-header.isSticky .menuBlock {
    width: calc( 100% - 582px);
  }
}
@media screen and (max-width: 1110px) {
  .isSticky .c-header .navBlock .hbtn02 {
    display: none;
  }
  .l-header.isSticky .menuBlock {
    width: calc( 100% - 463px);
  }
}
@media screen and (max-width: 905px) {
  .isSticky .c-header .navBlock .hbtn01 {
    display: none;
  }
  .l-header.isSticky .menuBlock {
    width: calc( 100% - 344px);
  }
}


.l-header.isSticky .globalNavArea {
  background: #1649a5;
}

.l-header.isSticky .globalNavArea .c-container {
  min-height: 44px;
  width: auto;
}

.l-header.isSticky .globalNavArea .searchBlock {
  display: none;
}

@media screen and (max-width: 767px) {
  .l-header.isSticky .globalNavArea .searchBlock {
    display: block;
    top: 48px;
  }
}

@media screen and (max-width: 767px) {
  .l-header.isSticky .globalNavArea .searchBlock form input[type="submit"] {
    width: 60px;
    height: 48px;
    border-radius: 0 24px 24px 0;
  }
}

.l-header.isSticky .globalNavArea .globalNav {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .l-header.isSticky .globalNavArea .globalNav {
    width: auto;
  }
}

.l-header.isSticky .globalNavArea .globalNav ul {
  padding-left: 20px;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

@media screen and (max-width: 1000px) {
  .l-header.isSticky .globalNavArea .globalNav ul {
    padding-left: 10px;
  }
}

@media screen and (max-width: 767px) {
  .l-header.isSticky .globalNavArea .globalNav ul {
    padding-left: 0;
  }
}

.l-header.isSticky .globalNavArea .globalNav ul li a {
  padding: 0 1em;
  height: 44px;
  font-size: 1.4rem;
}

@media screen and (max-width: 1000px) {
  .l-header.isSticky .globalNavArea .globalNav ul li a {
    padding: 0 10px;
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 767px) {
  .l-header.isSticky .globalNavArea .globalNav ul li a {
    padding: 10px 0;
    height: auto;
    font-size: 1.4rem;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .l-header.isSticky .globalNavArea .globalNav ul li a {
    padding: 0.3em 20px 0;
  }
}

@media screen and (max-width: 767px) {
  .l-header.isSticky .onlySp .subNavArea {
    background-color: #ffffff;
  }
  .l-header.isSticky .onlySp .subNavArea .subNav ul li {
    position: relative;
    padding-left: 25px;
    border-bottom: 1px solid #d8dfe4;
  }
  .l-header.isSticky .onlySp .subNavArea .subNav ul li::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 0.45em;
    width: 4px;
    height: 4px;
    border-top: 2px solid #1649a5;
    border-right: 2px solid #1649a5;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle;
  }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
  .l-header.isSticky .onlySp .subNavArea .subNav ul li::before {
    left: 7px;
  }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
  .l-header.isSticky .onlySp .subNavArea .subNav ul li a {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .l-header.isSticky .onlySp .subNavArea .subNav ul li:last-child {
    border-bottom: none;
  }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
  .l-header.isSticky .onlySp .subNavArea .subNav ul li::before {
    top: 23px;
  }
}

@media screen and (max-width: 767px) {
  .l-header.isSticky .onlySp .subNavArea .subNav ul li a {
    padding: 10px 0;
    line-height: 2.3;
    font-size: 1.4rem;
    font-weight: bold;
  }
  .l-header.isSticky .onlySp .subNavArea .subNav ul li a:hover {
    text-decoration: none;
  }
}

.l-headerBack {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 50;
  background-color: #fff;
}

.l-headerBack.isActive {
  display: block;
}

/**
 * Footer
 */
.l-footer {
  overflow: hidden;
  background-color: #231815;
}

@media screen and (max-width: 767px) {
  .l-footer {
    background-color: inherit;
  }
}

.l-footer .c-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .l-footer .c-container {
    display: inherit;
  }
}

.l-footer .sitemapArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 55px 50px 50px 0;
}

@media screen and (max-width: 767px) {
  .l-footer .sitemapArea {
    display: inherit;
    margin: 0 -20px;
    padding: 40px 10px;
    background-color: #231815;
  }
}

.l-footer .sitemapArea .sitemapLink + .sitemapLink {
  margin-left: 20px;
}

@media screen and (max-width: 767px) {
  .l-footer .sitemapArea .sitemapLink + .sitemapLink {
    margin-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .l-footer .sitemapArea .sitemapLink:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
}

.l-footer .sitemapArea .sitemapLink li {
  line-height: 2.5;
  font-size: 1.4rem;
  font-weight: bold;
}

.l-footer .sitemapArea .sitemapLink li ul {
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .l-footer .sitemapArea .sitemapLink li {
    line-height: 2.2;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  .l-footer .sitemapArea .sitemapLink li ul {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
}

.l-footer .sitemapArea .sitemapLink li a {
  color: #ffffff;
}

@media screen and (max-width: 767px) {
  .l-footer .sitemapArea .sitemapLink li a {
    display: block;
    padding: 10px 0;
  }
}

.l-footer .sitemapArea .sitemapLink li a:hover {
  text-decoration: none;
}

.l-footer .sitemapArea .sitemapLink li li {
  line-height: 2.2;
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
  .l-footer .sitemapArea .sitemapLink li li {
    line-height: 1.2;
    font-size: 1.3rem;
  }
  .l-footer .sitemapArea .sitemapLink li li:last-child {
    border-bottom: none;
  }
  .l-footer .sitemapArea .sitemapLink li li a {
    padding: 16px 0;
  }
}

.l-footer .sitemapArea .sitemapLink > li {
  position: relative;
  padding-left: 25px;
  padding-left: 15px;
}

.l-footer .sitemapArea .sitemapLink > li::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 0.45em;
  width: 4px;
  height: 4px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .l-footer .sitemapArea .sitemapLink > li::before {
    left: 7px;
  }
}

@media screen and (max-width: 767px) {
  .l-footer .sitemapArea .sitemapLink > li a {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .l-footer .sitemapArea .sitemapLink > li {
    padding-left: 25px;
  }
}

.l-footer .sitemapArea .sitemapLink > li::before {
  top: 1.2em;
  left: 0;
  border-top-color: #ffffff;
  border-right-color: #ffffff;
}

@media screen and (max-width: 767px) {
  .l-footer .sitemapArea .sitemapLink > li::before {
    top: 1.5em;
    left: 7px;
  }
}

.l-footer .companyArea {
  position: relative;
  padding: 50px 0 50px 50px;
  background-color: #ffffff;
}

@media screen and (max-width: 767px) {
  .l-footer .companyArea {
    padding: 40px 0 30px;
    text-align: center;
  }
}

.l-footer .companyArea::before {
  content: "";
  position: absolute;
  width: 200%;
  right: -200%;
  top: 0;
  bottom: 0;
  background-color: #ffffff;
}

@media screen and (max-width: 767px) {
  .l-footer .companyArea::before {
    content: none;
  }
}

.l-footer .companyArea .logo {
  margin-bottom: 20px;
}

.l-footer .companyArea .logo img {
  max-width: 100%;
  height: auto;
}

.l-footer .companyArea address {
  margin-bottom: 30px;
  line-height: 1.3;
  font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
  .l-footer .companyArea address {
    margin-bottom: 25px;
  }
}

.l-footer .companyArea address span {
  display: block;
}

.l-footer .companyArea address span a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .l-footer .companyArea address span a[href*="tel:"] {
    pointer-events: inherit;
    text-decoration: underline;
  }
}

@media screen and (max-width: 767px) {
  .l-footer .companyArea address span + span {
    margin-top: 5px;
  }
}

.l-footer .companyArea .companyLink {
  margin-bottom: 30px;
  line-height: 2.4;
  font-size: 1.3rem;
  font-weight: bold;
}

.l-footer .companyArea .companyLink a {
  font-weight: bold;
}

.l-footer .companyArea .companyLink a[target="_blank"]::after {
  content: "";
  display: inline-block;
  margin-left: 6px;
  margin-right: 6px;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("/assets/images/common/icon_window.png");
  width: 12px;
  height: 10px;
}

.l-footer .companyArea .companyLink a[href$=".pdf"]::after, .l-footer .companyArea .companyLink a[href$=".doc"]::after, .l-footer .companyArea .companyLink a[href$=".docx"]::after, .l-footer .companyArea .companyLink a[href$=".pptx"]::after, .l-footer .companyArea .companyLink a[href$=".ppt"]::after, .l-footer .companyArea .companyLink a[href$=".odp"]::after, .l-footer .companyArea .companyLink a[href$=".xls"]::after, .l-footer .companyArea .companyLink a[href$=".xlsx"]::after, .l-footer .companyArea .companyLink a[href$=".zip"]::after {
  display: inline-block;
  width: auto;
  height: auto;
  margin-left: 6px;
  margin-right: 6px;
  padding: 2px 3px;
  vertical-align: middle;
  background-color: #1649a5;
  background-image: none;
  border-radius: 3px;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  color: #fff;
}

.l-footer .companyArea .companyLink a[href$=".pdf"]::after {
  content: "PDF";
}

.l-footer .companyArea .companyLink a[href$=".doc"]::after, .l-footer .companyArea .companyLink a[href$=".docx"]::after {
  content: "DOC";
}

.l-footer .companyArea .companyLink a[href$=".pptx"]::after, .l-footer .companyArea .companyLink a[href$=".ppt"]::after, .l-footer .companyArea .companyLink a[href$=".odp"]::after {
  content: "PPT";
}

.l-footer .companyArea .companyLink a[href$=".xls"]::after, .l-footer .companyArea .companyLink a[href$=".xlsx"]::after {
  content: "XLS";
}

.l-footer .companyArea .companyLink a[href$=".zip"]::after {
  content: "ZIP";
}

@media screen and (max-width: 767px) {
  .l-footer .companyArea .companyLink {
    margin-bottom: 10px;
  }
}

.l-footer .companyArea .companyLink a:hover {
  text-decoration: none;
  color: #1649a5;
}

.l-footer .companyArea .footerArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .l-footer .companyArea .footerArea {
    display: inherit;
  }
}

@media screen and (max-width: 767px) {
  .l-footer .companyArea .footerArea .snsLink {
    margin-bottom: 15px;
  }
}

.l-footer .companyArea .footerArea p small {
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 400;
  line-height: 3.2;
  font-size: 1.0rem;
}

.l-footer .pageTop {
  display: none;
}

.l-footer .pageTop.isSticky {
  display: block;
  position: fixed;
  right: 30px;
  bottom: 40px;
  opacity: 0.75;
  -webkit-animation-name: fadeInPagetop;
  animation-name: fadeInPagetop;
  -webkit-animation-duration: .3s;
  animation-duration: .3s;
}

@media screen and (max-width: 767px) {
  .l-footer .pageTop.isSticky {
    right: 20px;
    bottom: 20px;
  }
}

.l-footer .pageTop a {
  display: block;
}

/**
 * Side
 */
.l-sideWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .l-sideWrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.l-sideWrapper .l-sideMainArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 680px;
}

@media screen and (max-width: 767px) {
  .l-sideWrapper .l-sideMainArea {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    /*width: auto;*/
    width: 100%;/* 20220428追記 */
  }
}

.l-sideWrapper .l-sideNaviArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-bottom: 80px;
  width: 260px;
}

@media screen and (max-width: 767px) {
  .l-sideWrapper .l-sideNaviArea {
    margin: 0 -20px 1px;
    width: auto;
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    background-color: #1649a5;
  }
}

.l-sideWrapper .l-sideNaviArea h3 {
  display: block;
  padding-left: 20px;
  margin-bottom: 20px;
  font-size: 1.6rem;
  font-weight: bold;
  border-left: 4px solid #1649a5;
}

@media screen and (max-width: 767px) {
  .l-sideWrapper .l-sideNaviArea h3 {
    margin-left: 20px;
    margin-bottom: 18px;
    background-color: #1649a5;
    border-left: 4px solid #dd2a7b;
    color: #fff;
  }
}

.l-sideWrapper .l-sideNaviArea ul {
  margin-bottom: 40px;
  background-color: #d0eaf5;
}

@media screen and (max-width: 767px) {
  .l-sideWrapper .l-sideNaviArea ul {
    margin-bottom: 18px;
  }
}

.l-sideWrapper .l-sideNaviArea ul:last-child {
  margin-bottom: 0;
}

.l-sideWrapper .l-sideNaviArea ul li.current a {
  background-color: #e4f2f7;
}

.l-sideWrapper .l-sideNaviArea ul li a {
  display: block;
  position: relative;
  background-color: #d0eaf5;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
}

.l-sideWrapper .l-sideNaviArea ul li a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 6px;
  height: 6px;
  margin-top: -6px;
  border-top: 2px solid #1649a5;
  border-right: 2px solid #1649a5;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

.l-sideWrapper .l-sideNaviArea ul li a:hover {
  text-decoration: none;
  background-color: #e4f2f7;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
}

.l-sideWrapper .l-sideNaviArea ul li span {
  display: block;
  position: relative;
  padding: 20px 30px 20px 10px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .l-sideWrapper .l-sideNaviArea ul li span {
    padding: 20px 15px 20px;
  }
}

.l-sideWrapper .l-sideNaviArea ul li span:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 10px;
  width: 240px;
  height: 1px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .l-sideWrapper .l-sideNaviArea ul li span:before {
    width: calc( 100% - 20px);
  }
}

.l-sideWrapper .l-sideNaviArea ul li:last-child span:before {
  display: none;
}

.l-mainPager {
  position: relative;
  display: block;
  padding: 30px 0;
  background-color: #f7f7f7;
  width: 100%;
  clear: both;
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  font-size: 1.6rem;
}

.l-mainPager:before, .l-mainPager:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #f7f7f7;
}

.l-mainPager:before {
  left: -100%;
}

.l-mainPager:after {
  right: -100%;
}

/**
 * Top
 */
.l-topSearchArea {
  background-image: url(https://www.winlearning.jp/assets/images/contents/top_bg_search01_pc.jpg);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  background-color: #fff;
	padding-bottom: 6em;
	border-bottom: 1px solid #eaeaea;
}

@media screen and (max-width: 767px) {
  .l-topSearchArea {
    background-image: url(https://www.winlearning.jp/assets/images/contents/top_bg_search01_sp.jpg);
  }
}

/**
 * Wrapper
 */
.l-wrapper {
  position: relative;
}

.l-contents {
  padding-top: 126px;
}

@media screen and (max-width: 767px) {
  .l-contents {
    padding-top: 48px;
  }
}

.l-contentsBody {
  overflow: hidden;
}

.l-contentsWrapper {
  padding-top: 70px;
}

@media screen and (max-width: 767px) {
  .l-contentsWrapper {
    padding-top: 50px;
  }
}

/**
 * Contents
 */
/**
* aside
*/
.l-aside {
  display: block;
  padding: 80px 0;
}

@media screen and (max-width: 767px) {
  .l-aside {
    padding: 50px 0;
  }
}

.l-aside--gray {
  background-color: #f7f7f7;
}

.l-aside--blue {
  background-color: #e4f2f7;
}

.l-aside--lightBlue {
  background-color: #f6fbff;
}

/**
 * Contact
 */
.l-contact .contactArea {
  background-color: #089bd8;
}

.l-contact .contactArea .c-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 50px;
  padding-bottom: 50px;
}

@media screen and (max-width: 767px) {
  .l-contact .contactArea .c-container {
    display: inherit;
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

.l-contact .contactArea .c-container .contactHead {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  width: 120px;
  height: 120px;
  border: 4px solid white;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.l-contact .contactArea .c-container .contactHead::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: -4px;
  margin-top: -10px;
  width: 120px;
  height: 20px;
  background-color: #089bd8;
}

@media screen and (max-width: 767px) {
  .l-contact .contactArea .c-container .contactHead::before {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .l-contact .contactArea .c-container .contactHead {
    position: relative;
    width: auto;
    height: auto;
    border: none;
    text-align: center;
  }
}

.l-contact .contactArea .c-container .contactHead .title {
  z-index: 0;
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .l-contact .contactArea .c-container .contactHead .title {
    display: inline-block;
    position: relative;
    margin-bottom: 18px;
    padding: 0 20px;
    text-align: center;
    line-height: 30px;
    font-size: 1.5rem;
    z-index: 1;
  }
  .l-contact .contactArea .c-container .contactHead .title::before, .l-contact .contactArea .c-container .contactHead .title::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    height: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .l-contact .contactArea .c-container .contactHead .title::before {
    width: 146px;
    margin-left: -73px;
    background-color: #089bd8;
    z-index: -1;
  }
  .l-contact .contactArea .c-container .contactHead .title::after {
    width: 180px;
    border: 4px solid #fff;
    border-radius: 15px;
    margin-left: -90px;
    z-index: -2;
  }
}

.l-contact .contactArea .c-container .contactBody {
  margin-left: 20px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .l-contact .contactArea .c-container .contactBody {
    margin-left: 0;
  }
}

.l-contact .contactArea .c-container .contactBody .tel {
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
  font-size: 5rem;
}

@media screen and (max-width: 767px) {
  .l-contact .contactArea .c-container .contactBody .tel {
    margin-bottom: 15px;
    line-height: 0.7;
    font-size: 4.6rem;
    text-align: center;
  }
}

.l-contact .contactArea .c-container .contactBody .tel a[href*="tel:"] {
  color: #ffffff;
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .l-contact .contactArea .c-container .contactBody .tel a[href*="tel:"] {
    pointer-events: inherit;
  }
}

.l-contact .contactArea .c-container .contactBody .timeBlock {
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .l-contact .contactArea .c-container .contactBody .timeBlock {
    display: inherit;
    margin-bottom: 25px;
    font-size: 1.3rem;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .l-contact .contactArea .c-container .contactBody .timeBlock .title {
    margin-bottom: 0.3em;
  }
}

.l-contact .contactArea .c-container .contactBody .timeBlock .text {
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .l-contact .contactArea .c-container .contactBody .timeBlock .text {
    line-height: 1.2;
    margin-left: 0;
  }
}

.l-contact .contactArea .c-container .contactLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  .l-contact .contactArea .c-container .contactLink {
    display: inherit;
  }
}

.l-contact .contactArea .c-container .contactLink li {
  position: relative;
  margin-left: 20px;
}

@media screen and (max-width: 767px) {
  .l-contact .contactArea .c-container .contactLink li {
    margin-left: 0;
  }
  .l-contact .contactArea .c-container .contactLink li + li {
    margin-top: 10px;
  }
}

.l-contact .contactArea .c-container .contactLink li::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  top: 50%;
  left: 10px;
  margin-top: -8px;
  border-radius: 50%;
  background: #089bd8;
  z-index: 1;
}

.l-contact .contactArea .c-container .contactLink li::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 15px;
  margin-top: -3px;
  width: 3px;
  height: 3px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 1;
}

.l-contact .contactArea .c-container .contactLink li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  width: 240px;
  height: 80px;
  background-color: #ffffff;
  color: #089bd8;
  line-height: 1.4;
  font-size: 1.8rem;
  font-weight: bold;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .l-contact .contactArea .c-container .contactLink li a {
    padding-top: 0.2em;
  }
}

@media screen and (max-width: 767px) {
  .l-contact .contactArea .c-container .contactLink li a {
    width: 100%;
    height: auto;
    padding: 20px 0;
    font-size: 1.4rem;
  }
}

.l-contact .contactArea .c-container .contactLink li a:hover {
  text-decoration: none;
}

.l-contact .contactArea .c-container .contactLink li a span {
  padding-left: 15px;
}

/**
 * Page
 */
.pg-course .l-contentsHeader .breadcrumbBlock,
.pg-faq .l-contentsHeader .breadcrumbBlock {
  border-bottom: none;
}

/**
 * Component
 */
.c-container {
  margin: auto;
  width: 1000px;
}

@media screen and (max-width: 767px) {
  .c-container {
    width: auto;
    padding-left: 20px;
    padding-right: 20px;
  }
}

.l-contentsHeader .titleArea {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 200px;
  background-color: #f0f4f6;
}

.l-contentsHeader .titleArea .c-container {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .l-contentsHeader .titleArea .c-container {
    width: 100%;
  }
}

.l-contentsHeader .titleArea .subTitle {
  position: relative;
  display: inline-block;
  color: #1649a5;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .l-contentsHeader .titleArea .subTitle {
    margin-bottom: 0.3em;
  }
}

.l-contentsHeader .titleArea .subTitle::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -40px;
  width: 30px;
  height: 2px;
  margin-top: -1px;
  background: #1649a5;
}

.l-contentsHeader .titleArea .pageTitle {
  font-size: 3.8rem;
  font-weight: bold;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .l-contentsHeader .titleArea .pageTitle {
    font-size: 3.2rem;
  }
}

@media screen and (max-width: 640px) {
  .l-contentsHeader .titleArea .pageTitle {
    font-size: 2.8rem;
  }
}

.l-contentsHeader .titleArea .mainVisual {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.l-contentsHeader .titleArea .mainVisual::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #000;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.35;
  z-index: 1;
}

.l-contentsHeader .titleArea .mainVisual img {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  overflow: hidden;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .l-contentsHeader .titleArea .mainVisual img {
    width: 160%;
    max-width: 200%;
  }
}

@media screen and (max-width: 640px) {
  .l-contentsHeader .titleArea .mainVisual img {
    width: 200%;
    max-width: 200%;
  }
}

.l-contentsHeader .titleArea .mainVisual + .c-container .subTitle,
.l-contentsHeader .titleArea .mainVisual + .c-container .pageTitle {
  color: #fff;
}

.l-contentsHeader .titleArea .mainVisual + .c-container .subTitle::before {
  background-color: #fff;
}

.l-contentsHeader .titleArea--index {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 88px 0 90px;
  text-align: center;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .l-contentsHeader .titleArea--index {
    padding: 48px 0 50px;
  }
}

.l-contentsHeader .titleArea--index::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #000;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.35;
  z-index: 1;
}

.l-contentsHeader .titleArea--index .c-container {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .l-contentsHeader .titleArea--index .c-container {
    width: 100%;
  }
}

.l-contentsHeader .titleArea--index .subTitle {
  margin-bottom: 10px;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
  font-size: 7.2rem;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .l-contentsHeader .titleArea--index .subTitle {
    font-size: 5.6rem;
  }
}

.l-contentsHeader .titleArea--index .pageTitle {
  font-size: 2rem;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .l-contentsHeader .titleArea--index .pageTitle {
    font-size: 1.8rem;
  }
}

.l-contentsHeader .titleArea--index .mainVisual {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.l-contentsHeader .titleArea--index .mainVisual img {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  overflow: hidden;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .l-contentsHeader .titleArea--index .mainVisual img {
    width: 158%;
    max-width: 200%;
  }
}

@media screen and (max-width: 640px) {
  .l-contentsHeader .titleArea--index .mainVisual img {
    width: 200%;
    max-width: 200%;
  }
}

.l-contentsHeader .breadcrumbBlock {
  margin: 0;
  padding: 8px 0;
  border-bottom: 1px solid #f0f4f6;
  background-color: #fff;
  font-size: 1.2rem;
}

.l-contentsHeader .breadcrumbBlock ol {
  display: block;
  padding: 0 20px;
}

@media screen and (max-width: 767px) {
  .l-contentsHeader .breadcrumbBlock ol {
    display: block;
    padding: 0 10px;
  }
}

.l-contentsHeader .breadcrumbBlock ol li {
  display: inline;
  position: relative;
  padding-right: 20px;
  margin-right: 8px;
}

.l-contentsHeader .breadcrumbBlock ol li::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-top: -4px;
  border-top: 2px solid #1649a5;
  border-right: 2px solid #1649a5;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .l-contentsHeader .breadcrumbBlock ol li a {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .l-contentsHeader .breadcrumbBlock ol li {
    padding-right: 16px;
    margin-right: 8px;
  }
}

@media screen and (max-width: 767px) {
  .l-contentsHeader .breadcrumbBlock ol li::before {
    display: block;
    right: 3px;
  }
}

.l-contentsHeader .breadcrumbBlock ol li:last-child {
  margin-right: 0;
}

@media screen and (max-width: 767px) {
  .l-contentsHeader .breadcrumbBlock ol li:last-child {
    padding-right: 0;
  }
}

.l-contentsHeader .breadcrumbBlock ol li:last-child::before {
  content: none;
}

.l-contentsHeader .breadcrumbBlock ol li a {
  text-decoration: underline;
  color: #1649a5;
}

@media screen and (max-width: 767px) {
  .l-contentsHeader .breadcrumbBlock ol li a {
    display: inline;
  }
}

.l-contentsHeader .breadcrumbBlock ol li a:hover {
  text-decoration: none;
}

.l-contentsBody .l-contentsCommon a {
  font-weight: bold;
}

.l-contentsBody .l-contentsCommon a[target="_blank"]::after {
  content: "";
  display: inline-block;
  margin-left: 6px;
  margin-right: 6px;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("/assets/images/common/icon_window.png");
  width: 12px;
  height: 10px;
}

.l-contentsBody .l-contentsCommon a[href$=".pdf"]::after, .l-contentsBody .l-contentsCommon a[href$=".doc"]::after, .l-contentsBody .l-contentsCommon a[href$=".docx"]::after, .l-contentsBody .l-contentsCommon a[href$=".pptx"]::after, .l-contentsBody .l-contentsCommon a[href$=".ppt"]::after, .l-contentsBody .l-contentsCommon a[href$=".odp"]::after, .l-contentsBody .l-contentsCommon a[href$=".xls"]::after, .l-contentsBody .l-contentsCommon a[href$=".xlsx"]::after, .l-contentsBody .l-contentsCommon a[href$=".zip"]::after {
  display: inline-block;
  width: auto;
  height: auto;
  margin-left: 6px;
  margin-right: 6px;
  padding: 2px 3px;
  vertical-align: middle;
  background-color: #1649a5;
  background-image: none;
  border-radius: 3px;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  color: #fff;
}

.l-contentsBody .l-contentsCommon a[href$=".pdf"]::after {
  content: "PDF";
}

.l-contentsBody .l-contentsCommon a[href$=".doc"]::after, .l-contentsBody .l-contentsCommon a[href$=".docx"]::after {
  content: "DOC";
}

.l-contentsBody .l-contentsCommon a[href$=".pptx"]::after, .l-contentsBody .l-contentsCommon a[href$=".ppt"]::after, .l-contentsBody .l-contentsCommon a[href$=".odp"]::after {
  content: "PPT";
}

.l-contentsBody .l-contentsCommon a[href$=".xls"]::after, .l-contentsBody .l-contentsCommon a[href$=".xlsx"]::after {
  content: "XLS";
}

.l-contentsBody .l-contentsCommon a[href$=".zip"]::after {
  content: "ZIP";
}

.l-contentsBody .l-contentsCommon h2 {
  position: relative;
  margin-bottom: 50px;
  padding-left: 30px;
  line-height: 1.6;
  font-size: 2.8rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon h2 {
    font-size: 2.2rem;
  }
}

.l-contentsBody .l-contentsCommon h2::before, .l-contentsBody .l-contentsCommon h2::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 50%;
  left: 0;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon h2::before, .l-contentsBody .l-contentsCommon h2::after {
    width: 4px;
  }
}

.l-contentsBody .l-contentsCommon h2::before {
  top: 0;
  background-color: #dd2a7b;
}

.l-contentsBody .l-contentsCommon h2::after {
  bottom: 0;
  background-color: #1649a5;
}

.l-contentsBody .l-contentsCommon h3 {
  position: relative;
  margin-bottom: 40px;
  padding-top: 30px;
  line-height: 1.4;
  font-size: 2.3rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon h3 {
    margin-bottom: 35px;
    padding-top: 25px;
    font-size: 1.9rem;
  }
}

.l-contentsBody .l-contentsCommon h3::before, .l-contentsBody .l-contentsCommon h3::after {
  content: "";
  position: absolute;
  height: 2px;
  top: 0;
}

.l-contentsBody .l-contentsCommon h3::before {
  width: 15%;
  background-color: #dd2a7b;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon h3::before {
    width: 22%;
  }
}

.l-contentsBody .l-contentsCommon h3::after {
  width: 85%;
  right: 0;
  background-color: #ddd;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon h3::after {
    width: 78%;
  }
}

/* 標準H4設定ここから（旧） */
/*.l-contentsBody .l-contentsCommon h4 {
  position: relative;
  margin-bottom: 40px;
  padding: 20px 20px 20px 45px;
  background-color: #1649a5;
  color: #ffffff;
  line-height: 1.6;
  font-size: 1.8rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon h4 {
    margin-bottom: 35px;
    padding: 15px 15px 15px 35px;
    font-size: 1.6rem;
  }
}

.l-contentsBody .l-contentsCommon h4::before {
  content: "";
  position: absolute;
  left: 20px;
  width: 3px;
  height: calc(100% - 40px);
  background-color: #dd2a7b;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon h4::before {
    height: calc(100% - 30px);
  }
}*/
/* 標準H4設定ここまで（旧） */
/* 標準H4設定ここから（新）） */
.l-contentsBody .l-contentsCommon h4 {
  position: relative;
  margin-bottom: 0.8em;
  line-height: 1.6;
  font-size: 1.8rem;
  font-weight: bold;
}
.l-contentsBody .l-contentsCommon h4 strong {
	color: #1649a5;
}
@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon h4 {
    margin-bottom: 1em;
    font-size: 1.6rem;
  }
}

/* 標準H4設定ここまで（旧） */
.l-contentsBody .l-contentsCommon h5 {
  margin-bottom: 30px;
  padding-bottom: 20px;
  color: #dd2a7b;
  border-bottom: 2px solid #eef2f5;
  line-height: 1.6;
  font-size: 1.6rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon h5 {
    font-size: 1.4rem;
  }
}

.l-contentsBody .l-contentsCommon h6 {
  margin-bottom: 30px;
  line-height: 1.6;
  font-size: 1.6rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon h6 {
    font-size: 1.4rem;
  }
}

.l-contentsBody .l-contentsCommon .c-wrapperBlock {
  margin-bottom: 120px;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-wrapperBlock {
    margin-bottom: 80px;
  }
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock > *:last-child {
  margin-bottom: 0;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock a {
  color: #1649a5;
  text-decoration: underline;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock a:hover {
  text-decoration: none;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock img {
  max-width: 100%;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock figcaption {
  font-size: 1.4rem;
  margin-top: 0.5em;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-wysiwygBlock figcaption {
    font-size: 1.3rem;
  }
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock p {
  /*margin-bottom: 40px;*/
  margin-bottom: .6em;
  /*line-height: 2;*/
  line-height: 1.6;
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-wysiwygBlock p {
    /*margin-bottom: 35px;*/
    margin-bottom: .6em;
    font-size: 1.4rem;
  }
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock b,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock strong {
  font-weight: bold;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock i,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock em {
  font-style: italic;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock sub {
  vertical-align: sub;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock sup {
  vertical-align: super;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ins {
  text-decoration: none;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock blockquote {
  display: block;
  margin-bottom: 40px;
  padding: 1.2em;
  border: 1px solid #ddd;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-style: italic;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-wysiwygBlock blockquote {
    margin-bottom: 35px;
  }
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock blockquote > *:last-child {
  margin-bottom: 0;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ol,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul {
  /*margin-bottom: 40px;*/
  margin-bottom: 1em;
  line-height: 1.6;
  list-style: none;
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-wysiwygBlock ol,
  .l-contentsBody .l-contentsCommon .c-wysiwygBlock ul {
    font-size: 1.4rem;
  }
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ol.btnLink li,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul.btnLink li {
  padding-left: inherit;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ol.btnLink li:before,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul.btnLink li:before {
  content: none;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ol.btnLink li a,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul.btnLink li a {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-wysiwygBlock ol.btnLink li a,
  .l-contentsBody .l-contentsCommon .c-wysiwygBlock ul.btnLink li a {
    display: block;
  }
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ol li,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul li {
  position: relative;
  padding-left: 2.5em;
  /*margin-top: 0.8em;*/
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ol li:first-child,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul li:first-child {
  margin-top: 0;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ol li::before,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul li::before {
  position: absolute;
  left: 0;
  width: 2em;
  color: #1649a5;
  font-weight: bold;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ol.c-listBlock,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul.c-listBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: -0.8em;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ol.c-listBlock li:first-child,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul.c-listBlock li:first-child {
  margin-top: 0.8em;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ol.c-listBlock.is1column li, .l-contentsBody .l-contentsCommon .c-wysiwygBlock ol.c-listBlock.is2column li, .l-contentsBody .l-contentsCommon .c-wysiwygBlock ol.c-listBlock.is3column li,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul.c-listBlock.is1column li,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul.c-listBlock.is2column li,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul.c-listBlock.is3column li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ol.c-listBlock.is2column li,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul.c-listBlock.is2column li {
  margin-left: 2%;
  width: 49%;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-wysiwygBlock ol.c-listBlock.is2column li,
  .l-contentsBody .l-contentsCommon .c-wysiwygBlock ul.c-listBlock.is2column li {
    width: auto;
    margin-left: 0;
  }
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ol.c-listBlock.is2column li:nth-child(odd),
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul.c-listBlock.is2column li:nth-child(odd) {
  margin-left: 0;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ol.c-listBlock.is3column li,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul.c-listBlock.is3column li {
  margin-left: 2%;
  width: 28%;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-wysiwygBlock ol.c-listBlock.is3column li,
  .l-contentsBody .l-contentsCommon .c-wysiwygBlock ul.c-listBlock.is3column li {
    margin-left: 0;
    width: auto;
  }
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ol.c-listBlock.is3column li:first-child, .l-contentsBody .l-contentsCommon .c-wysiwygBlock ol.c-listBlock.is3column li:nth-child(3n+1),
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul.c-listBlock.is3column li:first-child,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul.c-listBlock.is3column li:nth-child(3n+1) {
  margin-left: 0;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ol {
  counter-reset: li;
  /* li のカウンタを 0 にセット */
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ol li::before {
  counter-increment: li;
  /* li の数を一つずつ増加 */
  content: counter(li) ". ";
  /* 数を表示 */
  text-align: right;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock ul li::before {
  content: "・";
  text-align: center;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock dl {
  margin-top: -5px;
  margin-bottom: 30px;
  line-height: 1.6;
  font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-wysiwygBlock dl {
    margin-bottom: 25px;
  }
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock dl::after {
  content: "";
  display: block;
  clear: both;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock dl dt,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock dl dd {
  float: left;
  margin-top: 5px;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-wysiwygBlock dl dt,
  .l-contentsBody .l-contentsCommon .c-wysiwygBlock dl dd {
    float: none;
  }
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock dl dt p,
.l-contentsBody .l-contentsCommon .c-wysiwygBlock dl dd p {
  display: inline-block;
  margin-bottom: 0;
  line-height: 1.6;
  font-size: 1.4rem;
}

.l-contentsBody .l-contentsCommon .c-wysiwygBlock dl dt {
  content: "";
  display: block;
  clear: both;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-wysiwygBlock dl dd + dt {
    margin-top: 1em;
  }
}

.l-contentsBody .l-contentsCommon .c-imageTextBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-imageTextBlock {
    display: inherit;
  }
}

.l-contentsBody .l-contentsCommon .c-imageTextBlock.isLeft {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-flow: row-reverse;
  flex-flow: row-reverse;
}

.l-contentsBody .l-contentsCommon .c-imageTextBlock.isLeft .imageBlock {
  margin-right: 4%;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-imageTextBlock.isLeft .imageBlock {
    margin-right: 0;
  }
}

.l-contentsBody .l-contentsCommon .c-imageTextBlock.isRight .imageBlock {
  margin-left: 4%;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-imageTextBlock.isRight .imageBlock {
    margin-left: 0;
  }
}

.l-contentsBody .l-contentsCommon .c-imageTextBlock.isCenter {
  display: inherit;
}

.l-contentsBody .l-contentsCommon .c-imageTextBlock.isCenter .textBlock {
  width: auto;
  margin-bottom: 40px;
}

.l-contentsBody .l-contentsCommon .c-imageTextBlock.isCenter .imageBlock {
  margin: 0 auto;
}

.l-contentsBody .l-contentsCommon .c-imageTextBlock .imageBlock {
  width: 48%;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-imageTextBlock .imageBlock {
    width: auto;
  }
}

.l-contentsBody .l-contentsCommon .c-imageTextBlock .imageBlock img {
  width: 100%;
  height: auto;
}

.l-contentsBody .l-contentsCommon .c-imageTextBlock .textBlock {
  margin-bottom: 35px;
}

.l-contentsBody .l-contentsCommon .c-columnBlock.is2columnSelf .c-imageBlock {
  margin-left: 3.5%;
  width: 46.5%;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-columnBlock.is2columnSelf .c-imageBlock {
    margin-left: 0;
    width: auto;
  }
}

.l-contentsBody .l-contentsCommon .c-columnBlock.is2columnSelf .c-imageBlock:nth-child(odd) {
  margin-left: 0;
}

.l-contentsBody .l-contentsCommon .c-columnBlock.is3columnSelf .c-imageBlock {
  margin-left: 3.5%;
  width: 31%;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-columnBlock.is3columnSelf .c-imageBlock {
    margin-left: 0;
    width: auto;
  }
}

.l-contentsBody .l-contentsCommon .c-columnBlock.is3columnSelf .c-imageBlock:first-child, .l-contentsBody .l-contentsCommon .c-columnBlock.is3columnSelf .c-imageBlock:nth-child(3n+1) {
  margin-left: 0;
}

.l-contentsBody .l-contentsCommon .c-columnBlock.is2columnSelf .c-imageBlock .imageBlock a, .l-contentsBody .l-contentsCommon .c-columnBlock.is3columnSelf .c-imageBlock .imageBlock a {
  display: block;
}

.l-contentsBody .l-contentsCommon .c-columnBlock.is2columnSelf .c-imageBlock .imageBlock a::after, .l-contentsBody .l-contentsCommon .c-columnBlock.is3columnSelf .c-imageBlock .imageBlock a::after {
  display: none;
}

.l-contentsBody .l-contentsCommon .c-columnBlock.is2columnSelf .c-imageBlock .imageBlock a span, .l-contentsBody .l-contentsCommon .c-columnBlock.is3columnSelf .c-imageBlock .imageBlock a span {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 66.66%;
  overflow: hidden;
}

.l-contentsBody .l-contentsCommon .c-columnBlock.is2columnSelf .c-imageBlock .imageBlock a span figure, .l-contentsBody .l-contentsCommon .c-columnBlock.is3columnSelf .c-imageBlock .imageBlock a span figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.l-contentsBody .l-contentsCommon .c-columnBlock.is2columnSelf .c-imageBlock .imageBlock a span figure img, .l-contentsBody .l-contentsCommon .c-columnBlock.is3columnSelf .c-imageBlock .imageBlock a span figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  max-width: none;
}

.l-contentsBody .l-contentsCommon .c-imageBlock .imageBlock {
  margin: 0 auto 40px;
  text-align: center;
}

.l-contentsBody .l-contentsCommon .c-imageBlock .imageBlock img {
  max-width: 100%;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-imageBlock .imageBlock.movieBlock {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
}

.l-contentsBody .l-contentsCommon .c-imageBlock .imageBlock.movieBlock iframe {
  max-width: 100%;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-imageBlock .imageBlock.movieBlock iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    max-width: auto;
  }
}

.l-contentsBody .l-contentsCommon .baseLink {
  line-height: 1.3;
  font-size: 1.6rem;
  font-weight: bold;
}

.l-contentsBody .l-contentsCommon .btnLink {
  margin-top: -20px;
  text-align: center;
  line-height: 1.3;
  font-size: 1.6rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .btnLink {
    margin-top: 0;
  }
}

.l-contentsBody .l-contentsCommon .btnLink li {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .btnLink li:first-child {
    margin-top: 0;
  }
}

.l-contentsBody .l-contentsCommon .btnLink li a {
  display: block;
  position: relative;
  padding-right: 20px;
  padding: 15px 40px 15px 20px;
  background-color: #ffffff;
  border: 1px solid #bdbdbd;
  border-radius: 60px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #1649a5;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
}

.l-contentsBody .l-contentsCommon .btnLink li a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-top: -4px;
  border-top: 2px solid #1649a5;
  border-right: 2px solid #1649a5;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .btnLink li a a {
    display: block;
  }
}

.l-contentsBody .l-contentsCommon .btnLink li a::before {
  right: 20px;
}

.l-contentsBody .l-contentsCommon .btnLink li a:hover {
  text-decoration: none;
  background-color: #eef2f5;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
}

.l-contentsBody .l-contentsCommon .btnLink li a[target="_blank"]::before, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".pdf"]::before, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".doc"]::before, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".docx"]::before, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".pptx"]::before, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".ppt"]::before, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".odp"]::before, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".xls"]::before, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".xlsx"]::before, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".zip"]::before {
  content: none;
}

.l-contentsBody .l-contentsCommon .btnLink li a[target="_blank"]::after, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".pdf"]::after, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".doc"]::after, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".docx"]::after, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".pptx"]::after, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".ppt"]::after, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".odp"]::after, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".xls"]::after, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".xlsx"]::after, .l-contentsBody .l-contentsCommon .btnLink li a[href$=".zip"]::after {
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -6px;
  margin-right: 0;
}

.l-contentsBody .l-contentsCommon .c-anchorLinkBlock {
  background-color: #d0eaf5;
}

.l-contentsBody .l-contentsCommon .c-anchorLinkBlock .anchorLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 10px;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-anchorLinkBlock .anchorLink {
    display: inherit;
    margin-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-anchorLinkBlock .anchorLink li {
    display: inline-block;
  }
}

.l-contentsBody .l-contentsCommon .c-anchorLinkBlock .anchorLink li a {
  position: relative;
  padding-right: 20px;
  display: block;
  padding: 10px 50px 10px 30px;
  background-color: #d0eaf5;
}

.l-contentsBody .l-contentsCommon .c-anchorLinkBlock .anchorLink li a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-top: -4px;
  border-top: 2px solid #1649a5;
  border-right: 2px solid #1649a5;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-anchorLinkBlock .anchorLink li a a {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-anchorLinkBlock .anchorLink li a {
    padding: 5px 20px 5px 30px;
  }
}

.l-contentsBody .l-contentsCommon .c-anchorLinkBlock .anchorLink li a::before {
  right: 28px;
  margin-top: -6px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-anchorLinkBlock .anchorLink li a::before {
    left: 10px;
    right: auto;
  }
}

.l-contentsBody .l-contentsCommon .c-anchorLinkBlock .anchorLink li a:hover {
  text-decoration: none;
  background-color: #e4f2f7;
}

.l-contentsBody .l-contentsCommon .c-anchorLinkBlock .anchorLink--space li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-anchorLinkBlock .anchorLink--space li {
    display: inline-block;
  }
}

.l-contentsBody .l-contentsCommon .c-anchorLinkBlock .anchorLink--space li a {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  padding: 10px 45px 10px 20px !important;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-anchorLinkBlock .anchorLink--space li a {
    padding: 5px 10px 5px 25px !important;
  }
}

.l-contentsBody .l-contentsCommon .c-anchorLinkBlock--course .c-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-anchorLinkBlock--course .c-container {
    display: block;
  }
}

.l-contentsBody .l-contentsCommon .c-anchorLinkBlock--course .anchorLink {
  padding: 10px 0;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-anchorLinkBlock--course .anchorLink {
    padding: 10px;
  }
}

.l-contentsBody .l-contentsCommon .c-anchorLinkBlock--course .anchorLink li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 10px 44px 10px 24px;
  text-align: center;
  height: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-anchorLinkBlock--course .anchorLink li a {
    display: block;
    padding: 5px 20px 5px 30px;
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-anchorLinkBlock--course .contactBtn {
    display: inline-block;
    margin: 0 auto 16px;
    width: 100%;
    text-align: center;
  }
}

.l-contentsBody .l-contentsCommon .c-anchorLinkBlock--course .contactBtn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 26px;
  min-width: 150px;
  height: 100%;
  background-color: #089bd8;
  text-align: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.l-contentsBody .l-contentsCommon .c-anchorLinkBlock--course .contactBtn a:hover {
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-anchorLinkBlock--course .contactBtn a {
    display: inline-block;
    padding: 7px 46px;
    border-radius: 20px;
  }
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-anchorLinkBlock .c-container {
    padding: 0;
  }
}

.l-contentsBody .l-contentsCommon .c-btnLinkBlock {
  margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-btnLinkBlock {
    margin-bottom: 40px;
  }
}

.l-contentsBody .l-contentsCommon .c-btnLinkBlock.is1column .btnLink li, .l-contentsBody .l-contentsCommon .c-btnLinkBlock.is2column .btnLink li, .l-contentsBody .l-contentsCommon .c-btnLinkBlock.is3column .btnLink li, .l-contentsBody .l-contentsCommon .c-btnLinkBlock.is4column .btnLink li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.l-contentsBody .l-contentsCommon .c-btnLinkBlock.is1column .btnLink li a, .l-contentsBody .l-contentsCommon .c-btnLinkBlock.is2column .btnLink li a, .l-contentsBody .l-contentsCommon .c-btnLinkBlock.is3column .btnLink li a, .l-contentsBody .l-contentsCommon .c-btnLinkBlock.is4column .btnLink li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.l-contentsBody .l-contentsCommon .c-btnLinkBlock.is2column .btnLink li {
  margin-left: 2%;
  width: 49%;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-btnLinkBlock.is2column .btnLink li {
    width: auto;
    margin-left: 0;
  }
}

.l-contentsBody .l-contentsCommon .c-btnLinkBlock.is2column .btnLink li:nth-child(odd) {
  margin-left: 0;
}

.l-contentsBody .l-contentsCommon .c-btnLinkBlock.is3column .btnLink::after {
  content: "";
  display: block;
  width: 32%;
  height: 0;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-btnLinkBlock.is3column .btnLink::after {
    content: none;
  }
}

.l-contentsBody .l-contentsCommon .c-btnLinkBlock.is3column .btnLink li {
  margin-left: 2%;
  width: 32%;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-btnLinkBlock.is3column .btnLink li {
    margin-left: 0;
    width: auto;
  }
}

.l-contentsBody .l-contentsCommon .c-btnLinkBlock.is3column .btnLink li:first-child, .l-contentsBody .l-contentsCommon .c-btnLinkBlock.is3column .btnLink li:nth-child(3n+1) {
  margin-left: 0;
}

.l-contentsBody .l-contentsCommon .c-btnLinkBlock.is4column .btnLink li {
  width: 23.5%;
  margin-left: 2%;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-btnLinkBlock.is4column .btnLink li {
    width: auto;
    margin-left: 0;
  }
}

.l-contentsBody .l-contentsCommon .c-btnLinkBlock.is4column .btnLink li:first-child, .l-contentsBody .l-contentsCommon .c-btnLinkBlock.is4column .btnLink li:nth-child(4n+1) {
  margin-left: 0;
}

.l-contentsBody .l-contentsCommon .c-baseLinkBlock ul li {
  position: relative;
  padding-left: 25px;
  padding-left: 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.l-contentsBody .l-contentsCommon .c-baseLinkBlock ul li::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 0.45em;
  width: 4px;
  height: 4px;
  border-top: 2px solid #1649a5;
  border-right: 2px solid #1649a5;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-baseLinkBlock ul li::before {
    left: 7px;
  }
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-baseLinkBlock ul li a {
    display: block;
  }
}

.l-contentsBody .l-contentsCommon .c-baseLinkBlock ul li::before {
  left: 0;
}

.l-contentsBody .l-contentsCommon .c-baseLinkBlock ul.baseLink li {
  margin-top: 0.8em;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-baseLinkBlock ul.baseLink li:nth-child(1) {
    margin-top: 0;
  }
}

.l-contentsBody .l-contentsCommon .c-baseLinkBlock ul.baseLink li a:hover {
  color: #1649a5;
}

.l-contentsBody .l-contentsCommon .c-baseLinkBlock.is3column ul {
  margin-left: -3%;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-baseLinkBlock.is3column ul {
    margin-left: 0;
  }
}

.l-contentsBody .l-contentsCommon .c-baseLinkBlock.is3column ul li {
  width: 30%;
  margin-left: 3%;
  margin-top: 0.8em;
}

.l-contentsBody .l-contentsCommon .c-baseLinkBlock.is3column ul li:nth-child(1), .l-contentsBody .l-contentsCommon .c-baseLinkBlock.is3column ul li:nth-child(2), .l-contentsBody .l-contentsCommon .c-baseLinkBlock.is3column ul li:nth-child(3) {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-baseLinkBlock.is3column ul li:nth-child(2), .l-contentsBody .l-contentsCommon .c-baseLinkBlock.is3column ul li:nth-child(3) {
    margin-top: 0.8em;
  }
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-baseLinkBlock.is3column ul li {
    width: auto;
    margin-left: 0;
  }
}

.l-contentsBody .l-contentsCommon .c-baseLinkBlock--footerLink ul {
  display: block;
  text-align: center;
}

.l-contentsBody .l-contentsCommon .c-baseLinkBlock--footerLink ul li {
  display: inline-block;
  font-size: 1.4rem;
}

.l-contentsBody .l-contentsCommon .c-tableBlock {
  display: block;
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.l-contentsBody .l-contentsCommon .c-tableBlock table {
  width: 100%;
  line-height: 1.4;
  font-size: 1.6rem;
}

.l-contentsBody .l-contentsCommon .c-tableBlock table th,
.l-contentsBody .l-contentsCommon .c-tableBlock table td {
  padding: 20px;
  border: 1px solid #ddd;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-tableBlock table th,
  .l-contentsBody .l-contentsCommon .c-tableBlock table td {
    padding: 14px;
    font-size: 1.4rem;
  }
}

.l-contentsBody .l-contentsCommon .c-tableBlock table th {
  background-color: #f0f4f6;
  font-weight: bold;
}

.l-contentsBody .l-contentsCommon .c-tableBlock table .subTitle {
  background-color: #fafafa;
}

.l-contentsBody .l-contentsCommon .c-thumbnail {
  padding: 20px 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-thumbnail {
    margin-bottom: 0;
    padding: 30px 0;
    border-bottom: none;
  }
  .l-contentsBody .l-contentsCommon .c-thumbnail:last-child {
    margin-bottom: 50px;
    border-bottom: 1px solid #ddd;
  }
}

.l-contentsBody .l-contentsCommon .c-thumbnail .imageBlock {
  margin-bottom: 20px;
}

.l-contentsBody .l-contentsCommon .c-thumbnail .textBlock .title {
  position: relative;
  padding-left: 25px;
  margin-bottom: 15px;
  padding-left: 15px;
  line-height: 1.6;
  font-size: 1.6rem;
}

.l-contentsBody .l-contentsCommon .c-thumbnail .textBlock .title::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 0.45em;
  width: 4px;
  height: 4px;
  border-top: 2px solid #1649a5;
  border-right: 2px solid #1649a5;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-thumbnail .textBlock .title::before {
    left: 7px;
  }
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-thumbnail .textBlock .title a {
    display: block;
  }
}

.l-contentsBody .l-contentsCommon .c-thumbnail .textBlock .title::before {
  left: 0;
  top: 10px;
}

.l-contentsBody .l-contentsCommon .c-thumbnail .textBlock .title a {
  color: #1649a5;
}

.l-contentsBody .l-contentsCommon .c-thumbnail .textBlock .text {
  font-size: 1.4rem;
}

.l-contentsBody .l-contentsCommon .c-notesBlock {
  padding: 30px;
  background: #f7f7f7;
}

.l-contentsBody .l-contentsCommon .c-notesBlock a {
  color: #1649a5;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-notesBlock {
    padding: 40px 20px;
  }
}

.l-contentsBody .l-contentsCommon .c-notesBlock .c-wysiwygBlock .btnLink a {
  text-decoration: none;
}

.l-contentsBody .l-contentsCommon .c-stressBlock {
  padding: 30px;
  border: 2px solid #dd2a7b;
}

@media screen and (max-width: 767px) {
  .l-contentsBody .l-contentsCommon .c-stressBlock {
    padding: 20px;
  }
}

.l-contentsBody .l-contentsCommon .c-stressBlock .c-wysiwygBlock .btnLink a {
  text-decoration: none;
}

.c-tagList {
  font-size: 0;
}

.c-tagList .c-tag {
  display: inline-block;
  margin: 0 6px 6px 0;
  padding: 3px 7px;
  font-size: 1.1rem;
  line-height: 1.2;
  color: #fff;
  border-radius: 11px;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .c-tagList .c-tag {
    padding: 5px 7px 1px;
  }
}

.c-tagList .c-tag.isNone {
  display: none;
}

.c-tagList .c-tag a {
  display: block;
  color: #fff;
  font-weight: normal;
}

.c-tagList .c-tag a:hover {
  text-decoration: none;
}

.c-tagList .c-tag--search {
  background-color: #fff;
  color: #000;
  font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
  .c-tagList .c-tag--search {
    font-size: 1.1rem;
  }
}

.c-tagList .c-tag--course {
  background-color: #eef2f5;
  color: #000;
  font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
  .c-tagList .c-tag--course {
    font-size: 1.1rem;
  }
}

.c-tagList .c-tag--blog, .c-tagList .c-tag--news {
  max-width: 300px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.c-tagList .c-tag--blog {
  background-color: #eb7fb0;
}

.c-tagList .c-tag--news {
  background-color: #1649a5;
}

.c-tagList--blogList {
  margin-bottom: 10px;
}

.c-tagList--newsList {
  display: block;
  margin-bottom: 6px;
}

.c-asideTitle {
  display: block;
  margin: 0 auto 50px;
  position: relative;
  padding-bottom: 1em;
  line-height: 1.4;
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .c-asideTitle {
    margin: 0 auto 40px;
    padding-bottom: 0.9em;
    font-size: 2rem;
  }
}

.c-asideTitle::before, .c-asideTitle::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 20px;
  height: 4px;
}

.c-asideTitle::before {
  background-color: #1649a5;
  margin-left: -20px;
}

.c-asideTitle::after {
  background-color: #dd2a7b;
}

.c-topTitle {
  display: block;
  position: relative;
  line-height: 1.4;
  font-weight: bold;
  font-family: 'Roboto Condensed', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", Verdana, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.c-topTitle .en {
  display: block;
  margin-bottom: 0.8em;
  font-size: 1.8rem;
  color: #dd2a7b;
}

@media screen and (max-width: 767px) {
  .c-topTitle .en {
    margin-bottom: 0.2em;
    font-size: 1.6rem;
  }
}

.c-topTitle .jp {
  display: block;
  padding-bottom: 1.2em;
  font-size: 2.8rem;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .c-topTitle .jp {
    padding-bottom: 0.9em;
    font-size: 2.4rem;
  }
}

.c-topTitle::before, .c-topTitle::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 20px;
  height: 4px;
}

.c-topTitle::before {
  background-color: #1649a5;
  margin-left: -20px;
}

.c-topTitle::after {
  background-color: #dd2a7b;
}

.c-topTitle--center {
  margin: 0 auto 50px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-topTitle--center {
    margin: 0 auto 30px;
  }
}

.c-topTitle--center::before, .c-topTitle--center::after {
  left: 50%;
}

.c-topTitle--left {
  margin: 0 0 50px;
}

@media screen and (max-width: 767px) {
  .c-topTitle--left {
    text-align: center;
    margin: 0 auto 30px;
  }
}

.c-topTitle--left::before, .c-topTitle--left::after {
  left: 20px;
}

@media screen and (max-width: 767px) {
  .c-topTitle--left::before, .c-topTitle--left::after {
    left: 50%;
  }
}

.c-topLead {
  margin-bottom: 40px;
  color: #dd2a7b;
  font-size: 1.7rem;
  line-height: 1.8;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .c-topLead {
    margin-bottom: 30px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
}

.c-topText {
  margin-bottom: 40px;
  font-size: 1.6rem;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .c-topText {
    margin-bottom: 30px;
    font-size: 1.4rem;
  }
}

.c-topText:last-child {
  margin-bottom: 0;
}

.c-topCourseList .courseListItem--text {
  padding: 20px;
  display: block;
  text-align: center;
  background-color: #fff;
  border-bottom: 1px solid #eee;
  font-size: 1.6rem;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .c-topCourseList .courseListItem--text {
    padding: 20px 0 14px;
    font-size: 1.4rem;
  }
}

.c-topCourseList .courseListItem--text:last-child {
  border-bottom: none;
}

.c-topCourseList .courseListItem a {
  display: block;
  padding: 20px;
  background-color: #fff;
  border-bottom: 1px solid #eee;
}

@media screen and (max-width: 767px) {
  .c-topCourseList .courseListItem a {
    padding: 20px 0 14px;
  }
}

.c-topCourseList .courseListItem a:hover {
  text-decoration: none;
}

.c-topCourseList .courseListItem a:hover .title {
  color: #1649a5;
}

.c-topCourseList .courseListItem:last-child a {
  border-bottom: none;
}

.c-topCourseList .courseListItem .title {
  position: relative;
  margin-bottom: 0.5em;
  padding-left: 30px;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .c-topCourseList .courseListItem .title {
    margin-bottom: 0.5em;
    padding-left: 20px;
    font-size: 1.4rem;
    line-height: 1.4;
  }
}

.c-topCourseList .courseListItem .title::before {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 0;
  width: 20px;
  height: 20px;
  background-color: #1649a5;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .c-topCourseList .courseListItem .title::before {
    width: 14px;
    height: 14px;
    border-radius: 7px;
    top: 1px;
    left: 0;
  }
}

.c-topCourseList .courseListItem .title::after {
  content: "";
  display: block;
  position: absolute;
  left: 5px;
  top: 9px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .c-topCourseList .courseListItem .title::after {
    width: 3px;
    height: 3px;
    left: 4px;
    top: 6px;
  }
}

.c-topCourseList .courseListItem .detailArea {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .c-topCourseList .courseListItem .detailArea {
    display: block;
  }
}

.c-topCourseList .courseListItem .detailArea .detailItem {
  display: inline-block;
  margin-right: 15px;
}

@media screen and (max-width: 767px) {
  .c-topCourseList .courseListItem .detailArea .detailItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: 0;
  }
}

.c-topCourseList .courseListItem .detailArea .detailItem .label {
  padding-left: 22px;
  margin-right: 5px;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .c-topCourseList .courseListItem .detailArea .detailItem .label {
    margin-right: 0;
    padding-left: 18px;
    width: 84px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 1.1rem;
  }
}

.c-topCourseList .courseListItem .detailArea .detailItem .tagList {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .c-topCourseList .courseListItem .detailArea .detailItem .tagList {
    width: calc( 100% - 84px);
  }
}

@media screen and (max-width: 767px) {
  .c-topCourseList--recommend .courseListItem a {
    padding: 20px 20px 14px;
  }
}

.c-pager {
  display: block;
}

.c-pager .pagination {
  display: block;
  width: 100%;
}

.c-pager .pagination h2.screen-reader-text {
  display: none;
}

.c-pager .pagination .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c-pager .pagination .nav-links .page-numbers {
  margin: 0 7px;
  width: 32px;
  height: 32px;
  font-size: 1.6rem;
  border-radius: 16px;
  line-height: 32px;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.06);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .c-pager .pagination .nav-links .page-numbers {
    padding-top: 0.18em;
  }
}

.c-pager .pagination .nav-links a.page-numbers {
  background-color: #fff;
}

.c-pager .pagination .nav-links a.page-numbers:hover {
  text-decoration: none;
  color: #fff;
  background-color: #1649a5;
}

.c-pager .pagination .nav-links .current {
  background-color: #1649a5;
  color: #fff;
  opacity: 1.0;
}

.c-pager .pagination .nav-links .prev,
.c-pager .pagination .nav-links .next {
  position: relative;
  font-size: 0;
}

.c-pager .pagination .nav-links .prev::before,
.c-pager .pagination .nav-links .next::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 5px;
  height: 5px;
  border-top: 2px solid #aaa;
  border-right: 2px solid #aaa;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  vertical-align: middle;
}

.c-pager .pagination .nav-links .prev::before {
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  margin-top: 4px;
  margin-left: 2px;
}

.c-pager .pagination .nav-links .next::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -5px;
}

.c-pager .pagination .nav-links a.prev::before, .c-pager .pagination .nav-links a.next::before {
  border-top: 2px solid #1649a5;
  border-right: 2px solid #1649a5;
}

.c-pager .pagination .nav-links a.prev:hover::before, .c-pager .pagination .nav-links a.next:hover::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.c-pager .pagination .nav-links .dots {
  margin: 0;
  background: none;
}

.c-courseList .courseListItem {
  display: block;
  position: relative;
  margin-top: 20px;
  background-color: #fff;
}

.c-courseList .courseListItem::after {
  content: "";
  display: block;
  clear: both;
}

.c-courseList .courseListItem:first-child {
  margin-top: 0;
}

.c-courseList .courseListItem a {
  position: relative;
  display: block;
  padding: 20px;
  border-top: 2px solid #1649a5;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .c-courseList .courseListItem a {
    padding: 20px 20px 14px;
  }
}

@media screen and (max-width: 767px) {
  .c-courseList .courseListItem a {
    padding: 10px;
  }
}

.c-courseList .courseListItem a::before {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  left: 0;
  width: 262px;
  height: 2px;
  background-color: #dd2a7b;
  -webkit-transition-property: width;
  transition-property: width;
  -webkit-transition: width .6s;
  transition: width .6s;
}

@media screen and (max-width: 767px) {
  .c-courseList .courseListItem a::before {
    width: 141px;
  }
}

.c-courseList .courseListItem a:hover {
  text-decoration: none;
}

.c-courseList .courseListItem a:hover::before {
  width: 100%;
  -webkit-transition-property: width;
  transition-property: width;
  -webkit-transition: width .6s;
  transition: width .6s;
}

.c-courseList .courseListItem .thumb {
  display: block;
  margin: 0 20px 13px 0;
  float: left;
  width: 222px;
  height: 148px;
}

@media screen and (max-width: 767px) {
  .c-courseList .courseListItem .thumb {
    margin: 0 10px 10px 0;
    width: 111px;
    height: 74px;
  }
}

.c-courseList .courseListItem .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-courseList .courseListItem .title {
  margin-left: 242px;
  margin-bottom: 13px;
  padding-bottom: 20px;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4;
  border-bottom: 1px solid #eee;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .c-courseList .courseListItem .title {
    padding-bottom: 10px;
  }
}

@media screen and (max-width: 767px) {
  .c-courseList .courseListItem .title {
    margin-left: 122px;
    margin-bottom: 13px;
    padding-bottom: 0;
    font-size: 1.4rem;
    border-bottom: none;
  }
}

.c-courseList .courseListItem .detailArea {
  display: block;
  margin-left: 242px;
}

@media screen and (max-width: 767px) {
  .c-courseList .courseListItem .detailArea {
    margin-left: 0;
    padding: 10px 0 4px;
    clear: both;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
  }
}

.c-courseList .courseListItem .detailArea .detailItem {
  display: inline-block;
  margin-right: 1.3em;
}

@media screen and (max-width: 767px) {
  .c-courseList .courseListItem .detailArea .detailItem {
    display: table;
    table-layout: fixed;
    width: 100%;
  }
}

.c-courseList .courseListItem .detailArea .detailItem .label {
  display: inline;
  margin-right: 0.3em;
  padding-left: 26px;
  font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
  .c-courseList .courseListItem .detailArea .detailItem .label {
    display: table-cell;
    margin-right: 0;
    vertical-align: top;
    width: 6em;
    font-size: 1.1rem;
  }
}

.c-courseList .courseListItem .detailArea .detailItem .tagList {
  display: inline;
}

@media screen and (max-width: 767px) {
  .c-courseList .courseListItem .detailArea .detailItem .tagList {
    display: table-cell;
    vertical-align: top;
  }
}

.c-courseList .courseListItem .lead {
  display: block;
  margin-top: 1em;
  clear: both;
  font-size: 1.4rem;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .c-courseList .courseListItem .lead {
    margin-top: 10px;
    font-size: 1.2rem;
    line-height: 1.5;
  }
}

.c-categoryLabel {
  position: relative;
  color: #879eb0;
  font-weight: bold;
  font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
  .c-categoryLabel {
    font-size: 1.1rem;
  }
}

.c-categoryLabel::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
}

.c-categoryLabel--target::before {
  background-image: url(/assets/images/common/com_icon_man.png);
}

.c-categoryLabel--date::before {
  background-image: url(/assets/images/common/com_icon_calendar.png);
}

.c-categoryLabel--place::before {
  background-image: url(/assets/images/common/com_icon_map.png);
}

.c-categoryLabel--price::before {
  background-image: url(/assets/images/common/com_icon_price.png);
}

.c-categoryLabel--about::before {
  background-image: url(/assets/images/common/com_icon_book.png);
}

.c-categoryLabel--time::before {
  background-image: url(/assets/images/common/com_icon_time.png);
}

.c-caseList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

@media screen and (max-width: 767px) {
  .c-caseList {
    display: block;
    border-top: 1px solid #eee;
  }
}

.c-caseList .listItem .inner {
  display: block;
}

@media screen and (max-width: 767px) {
  .c-caseList .listItem .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 23px 0;
    border-bottom: 1px solid #eee;
  }
}

.c-caseList .listItem .inner figure {
  margin-bottom: 20px;
  width: 100%;
  height: 146px;
}

@media screen and (max-width: 767px) {
  .c-caseList .listItem .inner figure {
    width: 110px;
    height: 73px;
  }
}

.c-caseList .listItem .inner figure img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .c-caseList .listItem .inner .textArea {
    width: calc( 100% - 127px);
  }
}

.c-caseList .listItem .inner .title {
  padding: 0;
  margin: 0 0 1em;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.4;
  background: none;
  color: #000;
}

@media screen and (max-width: 767px) {
  .c-caseList .listItem .inner .title {
    margin: 0 0 0.5em;
    font-size: 1.4rem;
  }
}

.c-caseList .listItem .inner .title::before {
  background: none;
}

.c-caseList .listItem .inner p.text {
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: normal;
}

.c-caseList .listItem a {
  display: block;
}

.c-caseList .listItem a:hover {
  opacity: 0.75;
  text-decoration: none;
}

.c-caseList .listItem a:hover .inner .title {
  text-decoration: underline;
}

.c-caseList .listItem a .inner .title {
  color: #1649a5;
}

.c-caseList .listItem a[target="_blank"] .inner .title::after {
  content: "";
  display: inline-block;
  margin-left: 6px;
  margin-right: 6px;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("/assets/images/common/icon_window.png");
  width: 12px;
  height: 10px;
}

.c-caseList .listItem a[href$=".pdf"] .inner .title, .c-caseList .listItem a[href$=".doc"] .inner .title, .c-caseList .listItem a[href$=".docx"] .inner .title, .c-caseList .listItem a[href$=".pptx"] .inner .title, .c-caseList .listItem a[href$=".ppt"] .inner .title, .c-caseList .listItem a[href$=".odp"] .inner .title, .c-caseList .listItem a[href$=".xls"] .inner .title, .c-caseList .listItem a[href$=".xlsx"] .inner .title, .c-caseList .listItem a[href$=".zip"] .inner .title {
  color: #1649a5;
}

.c-caseList .listItem a[href$=".pdf"] .inner .title::before, .c-caseList .listItem a[href$=".doc"] .inner .title::before, .c-caseList .listItem a[href$=".docx"] .inner .title::before, .c-caseList .listItem a[href$=".pptx"] .inner .title::before, .c-caseList .listItem a[href$=".ppt"] .inner .title::before, .c-caseList .listItem a[href$=".odp"] .inner .title::before, .c-caseList .listItem a[href$=".xls"] .inner .title::before, .c-caseList .listItem a[href$=".xlsx"] .inner .title::before, .c-caseList .listItem a[href$=".zip"] .inner .title::before {
  content: none;
}

.c-caseList .listItem a[href$=".pdf"] .inner .title::after, .c-caseList .listItem a[href$=".doc"] .inner .title::after, .c-caseList .listItem a[href$=".docx"] .inner .title::after, .c-caseList .listItem a[href$=".pptx"] .inner .title::after, .c-caseList .listItem a[href$=".ppt"] .inner .title::after, .c-caseList .listItem a[href$=".odp"] .inner .title::after, .c-caseList .listItem a[href$=".xls"] .inner .title::after, .c-caseList .listItem a[href$=".xlsx"] .inner .title::after, .c-caseList .listItem a[href$=".zip"] .inner .title::after {
  display: inline-block;
  width: auto;
  height: auto;
  margin-left: 6px;
  margin-right: 6px;
  padding: 2px 3px;
  vertical-align: middle;
  background-color: #1649a5;
  background-image: none;
  border-radius: 3px;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  color: #fff;
}

.c-caseList .listItem a[href$=".pdf"] .inner .title::after {
  content: "PDF";
}

.c-caseList .listItem a[href$=".doc"] .inner .title::after, .c-caseList .listItem a[href$=".docx"] .inner .title::after {
  content: "DOC";
}

.c-caseList .listItem a[href$=".pptx"] .inner .title::after, .c-caseList .listItem a[href$=".ppt"] .inner .title::after, .c-caseList .listItem a[href$=".odp"] .inner .title::after {
  content: "PPT";
}

.c-caseList .listItem a[href$=".xls"] .inner .title::after, .c-caseList .listItem a[href$=".xlsx"] .inner .title::after {
  content: "XLS";
}

.c-caseList .listItem a[href$=".zip"] .inner .title::after {
  content: "ZIP";
}

.c-caseList .listItem a::after {
  display: none !important;
}

.c-contactBtn {
  text-align: center;
  line-height: 1.3;
  font-size: 1.6rem;
  font-weight: bold;
}

.c-contactBtn a {
  display: block;
  position: relative;
  padding-right: 20px;
  padding: 15px 40px 15px 20px;
  background-color: #089bd8;
  border-radius: 60px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

.c-contactBtn a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-top: -4px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .c-contactBtn a a {
    display: block;
  }
}

.c-contactBtn a::before {
  right: 20px;
}

.c-contactBtn a:hover {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  text-decoration: none;
}

/**
 * Project
*/
/* ----------
 TOP
---------- */
.p-topHeader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {
  .p-topHeader {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-topHeader img {
  width: 100%;
  height: auto;
}

.p-topHeader .mainVisual {
  position: relative;
  padding-top: 36.42%;
  width: 58.28%;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-topHeader .mainVisual {
    padding-top: 62.4%;
    width: 100%;
  }
}

.p-topHeader .mainVisual img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-topHeader .mainText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 6.1%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 41.72%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .p-topHeader .mainText {
    padding: 8% 11%;
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .p-topHeader .mainText {
    padding: 7% 5%;
  }
}

.p-topHeader .mainText .mainTitle {
  width: 100%;
}

.p-topHeader .mainText .mainTitle .lead {
  display: block;
  line-height: 1.8;
  font-size: 1.2vw;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-topHeader .mainText .mainTitle .lead {
    line-height: 1.6;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 640px) {
  .p-topHeader .mainText .mainTitle .lead {
    line-height: 1.4;
  }
}

.p-topHeader .mainText .mainTitle .logo {
  display: block;
  margin-top: 7%;
  width: 76%;
}

@media screen and (max-width: 767px) {
  .p-topHeader .mainText .mainTitle .logo {
    margin-top: 12px;
    width: 100%;
  }
}

.p-topHeader .mainText .btn {
  display: block;
  margin-top: 10%;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-topHeader .mainText .btn {
    margin-top: 18px;
  }
}

.p-topHeader .mainText .btn a {
  position: relative;
  padding-right: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 1.1vw;
  font-weight: bold;
  text-decoration: none;
  color: #dd2a7b;
  background-color: #fff;
  border: 1px solid #dd2a7b;
  height: 60px;
  border-radius: 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition-delay: background-color .3s;
  transition-delay: background-color .3s;
}

.p-topHeader .mainText .btn a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-top: -4px;
  border-top: 2px solid #dd2a7b;
  border-right: 2px solid #dd2a7b;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .p-topHeader .mainText .btn a a {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .p-topHeader .mainText .btn a {
    font-size: 1.4rem;
    height: 50px;
    border-radius: 25px;
    padding: 0;
  }
}

.p-topHeader .mainText .btn a::before {
  right: 20px;
}

.p-topHeader .mainText .btn a:hover {
  position: relative;
  padding-right: 20px;
  color: #fff;
  background-color: #dd2a7b;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition-delay: background-color .3s;
  transition-delay: background-color .3s;
}

.p-topHeader .mainText .btn a:hover::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-top: -4px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .p-topHeader .mainText .btn a:hover a {
    display: block;
  }
}

.p-topHeader .mainText .btn a:hover::before {
  right: 20px;
}

.p-topFirst {
  display: block;
}

.p-topFirst a {
  display: block;
  background-color: #dbf0ff;
}

.p-topFirst a .contentsWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 1000px;
  padding: 0 420px 0 160px;
  margin: auto;
  height: 220px;
  background-repeat: no-repeat;
  background-image: url(/assets/images/contents/top_bg_about01_pc.png);
  background-position: top center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .p-topFirst a .contentsWrapper {
    padding: 60px 20px;
    width: auto;
    background-size: cover;
    background-image: url(/assets/images/contents/top_bg_about01_sp.png);
  }
}

.p-topFirst a .title {
  position: relative;
  padding-left: 40px;
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: bold;
  color: #1649a5;
}

@media screen and (max-width: 767px) {
  .p-topFirst a .title {
    padding-left: 34px;
    font-size: 2rem;
  }
}

.p-topFirst a .title::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 20px;
  height: 28px;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(/assets/images/contents/top_icon_first.png);
}

.p-topFirst a .title .inner {
  position: relative;
}

.p-topFirst a .title .inner::before {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  right: -38px;
  width: 20px;
  height: 20px;
  border: 1px solid #1649a5;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.p-topFirst a .title .inner::after {
  content: "";
  display: block;
  position: absolute;
  right: -31px;
  top: 11px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #1649a5;
  border-right: 2px solid #1649a5;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

.p-topFirst a .lead {
  margin-top: 1em;
  font-size: 1.4rem;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .p-topFirst a .lead {
    margin-top: 1.4em;
    line-height: 1.8;
  }
}

.p-topFirst a:hover {
  text-decoration: none;
}

.p-topSearch {
  padding-top: 100px;
}

@media screen and (max-width: 767px) {
  .p-topSearch {
    padding-top: 60px;
  }
}

.p-topSearch .SearchArea {
  display: block;
  text-align: center;
}

.p-topSearch .SearchArea .searchBtn {
  margin-bottom: 50px;
  font-size: 0;
}

@media screen and (max-width: 767px) {
  .p-topSearch .SearchArea .searchBtn {
    margin-bottom: 40px;
  }
}

.p-topSearch .SearchArea .searchBtn input[type="search"],
.p-topSearch .SearchArea .searchBtn input[type="submit"] {
  margin: 0;
  height: 56px;
  line-height: 56px;
  font-size: 1.6rem;
  border: none;
}

@media screen and (max-width: 767px) {
  .p-topSearch .SearchArea .searchBtn input[type="search"],
  .p-topSearch .SearchArea .searchBtn input[type="submit"] {
    height: 48px;
    font-size: 1.6rem;
    line-height: 48px;
  }
}

.p-topSearch .SearchArea .searchBtn input[type="search"] {
  padding: 0 40px;
  width: 880px;
  border-radius: 28px 0 0 28px;
  border-top: 1px solid #879eb0;
  border-bottom: 1px solid #879eb0;
  border-left: 1px solid #879eb0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .p-topSearch .SearchArea .searchBtn input[type="search"] {
    padding: 0 20px;
    width: calc( 100% - 48px);
    border-radius: 24px 0 0 24px;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-topSearch .SearchArea .searchBtn input[type="search"] {
    padding: 0.1em 20px 0;
  }
}

.p-topSearch .SearchArea .searchBtn input[type="search"]::-webkit-input-placeholder {
  color: #a0a0a0;
}

.p-topSearch .SearchArea .searchBtn input[type="search"]:-ms-input-placeholder {
  color: #a0a0a0;
}

.p-topSearch .SearchArea .searchBtn input[type="search"]::-ms-input-placeholder {
  color: #a0a0a0;
}

.p-topSearch .SearchArea .searchBtn input[type="search"]::placeholder {
  color: #a0a0a0;
}

.p-topSearch .SearchArea .searchBtn input[type="submit"] {
  padding: 0 40px 0 14px;
  width: 120px;
  border-radius: 0 28px 28px 0;
  color: #fff;
  font-weight: bold;
  border: 1px solid #1649a5;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #1649a5;
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-image: url(/assets/images/common/icon_search.png);
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

@media screen and (max-width: 767px) {
  .p-topSearch .SearchArea .searchBtn input[type="submit"] {
    padding: 0;
    width: 48px;
    border-radius: 0 24px 24px 0;
    background-position: center;
    font-size: 0;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-topSearch .SearchArea .searchBtn input[type="submit"] {
    padding: 0.1em 40px 0 14px;
  }
}

.p-topSearch .SearchArea .searchBtn input[type="submit"]:hover {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  opacity: 0.65;
}

.p-topSearch .SearchArea .searchDetailBlock {
  display: block;
}

.p-topSearch .SearchArea .searchDetailBlock .tabList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 0 20px;
}

@media screen and (max-width: 767px) {
  .p-topSearch .SearchArea .searchDetailBlock .tabList {
    padding: 0;
  }
}

.p-topSearch .SearchArea .searchDetailBlock .tabList .listItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 150px;
  height: 50px;
}

@media screen and (max-width: 767px) {
  .p-topSearch .SearchArea .searchDetailBlock .tabList .listItem {
    width: 15.4%;
  }
}

.p-topSearch .SearchArea .searchDetailBlock .tabList .listItem .wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #231815;
  text-decoration: none;
  font-weight: bold;
  line-height: 1;
  font-size: 1.6rem;
  background-color: #d0eaf5;
  border-radius: 6px 6px 0 0;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-topSearch .SearchArea .searchDetailBlock .tabList .listItem .wrapper {
    padding-top: 0.2em;
  }
}

@media screen and (max-width: 767px) {
  .p-topSearch .SearchArea .searchDetailBlock .tabList .listItem .wrapper {
    font-size: 1.1rem;
    border-radius: 4px 4px 0 0;
    line-height: 1.2;
  }
}

.p-topSearch .SearchArea .searchDetailBlock .tabList .listItem .wrapper .small {
  display: inline;
  font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
  .p-topSearch .SearchArea .searchDetailBlock .tabList .listItem .wrapper .small {
    display: none;
  }
}

.p-topSearch .SearchArea .searchDetailBlock .tabList .listItem .wrapper .small::after {
  display: block;
  content: "";
  clear: both;
}

.p-topSearch .SearchArea .searchDetailBlock .tabList .listItem .wrapper:hover {
  background-color: #dd2a7b;
  color: #fff;
  cursor: pointer;
}

.p-topSearch .SearchArea .searchDetailBlock .tabList .listItem.isActive .wrapper {
  background-color: #dd2a7b;
  color: #fff;
}

.p-topSearch .SearchArea .searchDetailBlock .contentBox {
  display: block;
  padding: 30px 30px 25px;
  background-color: #fff;
  border: 1px solid #dd2a7b;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .p-topSearch .SearchArea .searchDetailBlock .contentBox {
    padding: 20px;
  }
}

.p-topSearch .SearchArea .searchDetailBlock .contentBox .boxItem {
  display: none;
  font-size: 1.4rem;
  line-height: 1.2;
  text-align: left;
}

.p-topSearch .SearchArea .searchDetailBlock .contentBox .boxItem.isActive {
  display: block;
}

.p-topSearch .SearchArea .searchDetailBlock .contentBox .checkItem {
  display: inline-block;
  margin: 0 20px 16px 0;
}

.p-topSearch .SearchArea .searchDetailBlock .contentBox .checkItem:hover {
  opacity: 0.65;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-topSearch .SearchArea .searchDetailBlock .contentBox .checkItem label {
    padding-top: 0.2em;
  }
}

.p-topSearch .SearchArea .searchDetailBlock .contentBox .checkItem label .item {
  display: inline-block;
  position: relative;
  padding-left: 24px;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-topSearch .SearchArea .searchDetailBlock .contentBox .checkItem label .item {
    padding-top: 0.3em;
  }
}

.p-topSearch .SearchArea .searchDetailBlock .contentBox .checkItem label .item::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -8px;
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  background-image: url(/assets/images/common/com_icon_checkbox_off.png);
}

.p-topSearch .SearchArea .searchDetailBlock .contentBox .checkItem label input[type="checkbox"] {
  display: none;
}

.p-topSearch .SearchArea .searchDetailBlock .contentBox .checkItem label input[type="checkbox"]:checked + .item {
  color: #1649a5;
}

.p-topSearch .SearchArea .searchDetailBlock .contentBox .checkItem label input[type="checkbox"]:checked + .item::before {
  background-image: url(/assets/images/common/com_icon_checkbox_on.png);
}

.p-topSearch .SearchArea .searchDetailBlock .submitBtn {
  display: block;
  margin: auto;
  text-align: center;
}

.p-topSearch .SearchArea .searchDetailBlock .submitBtn input[type="submit"] {
  padding: 0 60px;
  height: 32px;
  border: none;
  border-radius: 16px;
  line-height: 32px;
  font-size: 1.4rem;
  font-weight: bold;
  background-color: #1649a5;
  color: #fff;
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-image: url(/assets/images/common/icon_search.png);
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-topSearch .SearchArea .searchDetailBlock .submitBtn input[type="submit"] {
    padding: 0.1em 60px 0;
  }
}

@media screen and (max-width: 767px) {
  .p-topSearch .SearchArea .searchDetailBlock .submitBtn input[type="submit"] {
    border-radius: 20px;
    line-height: 40px;
    height: 40px;
    font-size: 1.4rem;
  }
}

.p-topSearch .SearchArea .searchDetailBlock .submitBtn input[type="submit"]:hover {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  opacity: 0.65;
}

.p-topPoint {
  padding-top: 100px;
}

@media screen and (max-width: 767px) {
  .p-topPoint {
    padding-top: 60px;
  }
}

.p-topPoint .contentsWrapper {
  margin-top: 60px;
}

.p-topPoint .contentsWrapper::after {
  content: "";
  display: block;
  clear: both;
}

@media screen and (max-width: 767px) {
  .p-topPoint .contentsWrapper {
    margin-top: 30px;
  }
}

.p-topPoint .contentsWrapper:first-child {
  margin-top: 0;
}

.p-topPoint .contentsWrapper .textArea,
.p-topPoint .contentsWrapper .imgArea {
  width: 470px;
}

@media screen and (max-width: 767px) {
  .p-topPoint .contentsWrapper .textArea,
  .p-topPoint .contentsWrapper .imgArea {
    width: auto;
  }
}

.p-topPoint .contentsWrapper .textArea img,
.p-topPoint .contentsWrapper .imgArea img {
  width: 100%;
  height: auto;
}

.p-topPoint .contentsWrapper .textArea {
  float: left;
}

@media screen and (max-width: 767px) {
  .p-topPoint .contentsWrapper .textArea {
    float: none;
    margin-bottom: 30px;
  }
}

.p-topPoint .contentsWrapper .imgArea {
  float: right;
}

@media screen and (max-width: 767px) {
  .p-topPoint .contentsWrapper .imgArea {
    float: none;
  }
}

.p-topPoint .contentsWrapper .c-btnLinkBlock {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .p-topPoint .contentsWrapper .c-btnLinkBlock.is4column .btnLink {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: normal;
    -ms-flex-align: normal;
    align-items: normal;
    font-size: 1.4rem;
    line-height: 1.4;
  }
}

@media screen and (max-width: 767px) {
  .p-topPoint .contentsWrapper .c-btnLinkBlock.is4column .btnLink li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 48%;
    margin-top: 15px;
  }
}

@media screen and (max-width: 767px) {
  .p-topPoint .contentsWrapper .c-btnLinkBlock.is4column .btnLink li:nth-child(1), .p-topPoint .contentsWrapper .c-btnLinkBlock.is4column .btnLink li:nth-child(2) {
    margin-top: 0;
  }
}

.p-topPoint .contentsWrapper .c-btnLinkBlock.is4column .btnLink li a {
  padding: 10px 30px 10px 20px;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-topPoint .contentsWrapper .c-btnLinkBlock.is4column .btnLink li a {
    padding: 13px 30px 7px 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-topPoint .contentsWrapper .c-btnLinkBlock.is4column .btnLink li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 767px) {
  .p-topPoint .contentsWrapper .c-btnLinkBlock.is4column .btnLink li a br {
    display: none;
  }
}

.p-topDetailBtn {
  line-height: 1;
  font-size: 1.3rem;
  font-weight: bold;
}

.p-topDetailBtn a {
  position: relative;
  display: inline-block;
  padding: 8px 30px 8px 20px;
  background-color: #fff;
  border: 1px solid #bdbdbd;
  border-radius: 18px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #1649a5;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-topDetailBtn a {
    padding: 10px 30px 6px 20px;
  }
}

.p-topDetailBtn a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 13px;
  width: 3px;
  height: 3px;
  margin-top: -3px;
  border-top: 1px solid #1649a5;
  border-right: 1px solid #1649a5;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

.p-topDetailBtn a:hover {
  -webkit-transition-property: opacity background-color;
  transition-property: opacity background-color;
  -webkit-transition: opacity .3s background-color .3s;
  transition: opacity .3s background-color .3s;
  text-decoration: none;
  background-color: #eef2f5;
}

.p-topDetailBtn--large {
  font-size: 1.4rem;
}

.p-topDetailBtn--large a {
  padding: 10px 30px 10px 20px;
  border: 1px solid #fff;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-topDetailBtn--large a {
    padding: 12px 30px 8px 20px;
  }
}

.p-topCase {
  display: block;
  position: relative;
  margin-top: 100px;
  padding: 100px 0;
  z-index: 1;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-topCase {
    margin-top: 60px;
    padding: 60px 0 100px;
  }
}

.p-topCase::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 62.5%;
  background-color: #1649a5;
  opacity: 0.85;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-topCase::before {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-topCase .detailBtn {
    position: absolute;
    bottom: 60px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

.p-topCase .contentsWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-topCase .contentsWrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-topCase .contentsWrapper .leadArea {
  width: 200px;
}

@media screen and (max-width: 767px) {
  .p-topCase .contentsWrapper .leadArea {
    width: 100%;
  }
}

.p-topCase .contentsWrapper .leadArea .c-topTitle .jp {
  color: #fff;
}

.p-topCase .contentsWrapper .leadArea .c-topTitle::before {
  background-color: #fff;
}

.p-topCase .contentsWrapper .caseList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  width: 800px;
}

@media screen and (max-width: 767px) {
  .p-topCase .contentsWrapper .caseList {
    display: block;
    margin-bottom: 30px;
    padding: 0 10px;
    background-color: #fff;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
}

.p-topCase .contentsWrapper .caseList .listItem {
  margin-left: 25px;
  width: 250px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .p-topCase .contentsWrapper .caseList .listItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 23px 0;
    margin-left: 0;
    width: 100%;
    background-color: none;
    border-bottom: 1px solid #1649a5;
  }
}

.p-topCase .contentsWrapper .caseList .listItem:first-child {
  margin-left: 0;
}

@media screen and (max-width: 767px) {
  .p-topCase .contentsWrapper .caseList .listItem:last-child {
    border-bottom: none;
  }
}

.p-topCase .contentsWrapper .caseList .listItem a {
  display: block;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .p-topCase .contentsWrapper .caseList .listItem a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-topCase .contentsWrapper .caseList .listItem a:hover {
  opacity: 0.75;
  text-decoration: none;
}

.p-topCase .contentsWrapper .caseList .listItem figure {
  position: relative;
  width: 100%;
  padding-top: 66.4%;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-topCase .contentsWrapper .caseList .listItem figure {
    padding-top: 0;
    width: 110px;
    height: 73px;
  }
}

.p-topCase .contentsWrapper .caseList .listItem figure img {
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.p-topCase .contentsWrapper .caseList .listItem .textArea {
  padding: 15px 15px 20px;
}

@media screen and (max-width: 767px) {
  .p-topCase .contentsWrapper .caseList .listItem .textArea {
    padding: 0 0 0 17px;
    width: calc( 100% - 127px);
  }
}

.p-topCase .contentsWrapper .caseList .listItem .title {
  position: relative;
  display: block;
  padding-bottom: 0.8em;
  margin: 0 0 1em;
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1.4;
  color: #1649a5;
  border-bottom: 1px solid #d8dfe4;
}

@media screen and (max-width: 767px) {
  .p-topCase .contentsWrapper .caseList .listItem .title {
    padding-bottom: 0;
    margin: 0 0 0.5em;
    font-size: 1.4rem;
    border-bottom: none;
  }
}

.p-topCase .contentsWrapper .caseList .listItem .title::before {
  position: absolute;
  display: block;
  content: "";
  width: 40px;
  height: 1px;
  background-color: #1649a5;
  bottom: -1px;
  left: 0;
}

@media screen and (max-width: 767px) {
  .p-topCase .contentsWrapper .caseList .listItem .title::before {
    display: none;
  }
}

.p-topCase .contentsWrapper .caseList .listItem p.text {
  font-size: 1.4rem;
  line-height: 1.6;
}

.p-topSeminar {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .p-topSeminar {
    margin-top: 60px;
  }
}

.p-topSeminar .mainVisual {
  height: 700px;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-topSeminar .mainVisual {
    height: auto;
  }
}

.p-topSeminar .mainVisual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-topSeminar .contentsWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 80px 0;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .p-topSeminar .contentsWrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 40px 0;
  }
}

.p-topSeminar .contentsWrapper .leadArea {
  width: 235px;
}

@media screen and (max-width: 767px) {
  .p-topSeminar .contentsWrapper .leadArea {
    width: auto;
  }
}

.p-topSeminar .contentsWrapper .courseList {
  width: 700px;
}

@media screen and (max-width: 767px) {
  .p-topSeminar .contentsWrapper .courseList {
    margin-top: 30px;
    width: auto;
  }
}

.p-topSeminar .contentsWrapper .courseList .courseListItem:first-child a {
  border-top: 1px solid #eee;
}

.p-topSeminar .contentsWrapper .courseList .courseListItem:last-child a {
  border-bottom: 1px solid #eee;
}

.p-topCase + .p-topSeminar {
  margin-top: -210px;
}

@media screen and (max-width: 767px) {
  .p-topCase + .p-topSeminar {
    margin-top: 0;
  }
}

.p-topRecommendArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-image: url(/assets/images/contents/top_bg_course01.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .p-topRecommendArea {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background-image: none;
  }
}

.p-topRecommend {
  padding: 80px 50px;
  width: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .p-topRecommend {
    position: relative;
    padding: 50px 0 40px;
    width: 100%;
    background-image: url(/assets/images/contents/top_bg_course01.png);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;
  }
}

@media screen and (max-width: 767px) {
  .p-topRecommend::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

.p-topRecommend--popular {
  background-color: rgba(221, 42, 123, 0.22);
}

@media screen and (max-width: 767px) {
  .p-topRecommend--popular {
    background-color: #fff;
  }
}

@media screen and (max-width: 767px) {
  .p-topRecommend--popular::before {
    background-color: rgba(221, 42, 123, 0.22);
  }
}

.p-topRecommend--new {
  background-color: rgba(22, 73, 165, 0.22);
}

@media screen and (max-width: 767px) {
  .p-topRecommend--new {
    background-color: #fff;
  }
}

@media screen and (max-width: 767px) {
  .p-topRecommend--new::before {
    background-color: rgba(22, 73, 165, 0.22);
  }
}

.p-topRecommend .contentsWtapper {
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-topRecommend .contentsWtapper {
    padding: 0 10px;
  }
}

.p-topNews {
  padding: 80px 0;
}

@media screen and (max-width: 767px) {
  .p-topNews {
    padding: 40px 0;
  }
}

.p-topNews .contentsWrapper {
  position: relative;
  display: block;
}

@media screen and (max-width: 767px) {
  .p-topNews .contentsWrapper {
    padding-bottom: 30px;
  }
}

.p-topNews .detailBtn {
  position: absolute;
  right: 0;
  top: 42px;
}

@media screen and (max-width: 767px) {
  .p-topNews .detailBtn {
    top: auto;
    right: auto;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

.p-topNews .newsList {
  position: relative;
  border-top: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
  .p-topNews .newsList {
    margin-bottom: 30px;
  }
}

.p-topNews .newsList::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0;
  width: 40px;
  height: 1px;
  background-color: #1649a5;
}

@media screen and (max-width: 767px) {
  .p-topNews .newsList::before {
    width: 100px;
  }
}

.p-topNews .newsList .listItem {
  position: relative;
  border-bottom: 1px solid #ddd;
}

.p-topNews .newsList .listItem::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 40px;
  height: 1px;
  background-color: #1649a5;
}

@media screen and (max-width: 767px) {
  .p-topNews .newsList .listItem::before {
    width: 100px;
  }
}

.p-topNews .newsList .listItem a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 0;
  background-color: #fff;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-topNews .newsList .listItem a {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-topNews .newsList .listItem a:hover {
  text-decoration: none;
}

.p-topNews .newsList .listItem .listItemHeader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-right: 17px;
}

@media screen and (max-width: 767px) {
  .p-topNews .newsList .listItem .listItemHeader {
    display: block;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-right: 0;
  }
}

.p-topNews .newsList .listItem .listItemHeader .date {
  width: 140px;
  font-size: 1.3rem;
  font-weight: bold;
  color: #879eb0;
}

@media screen and (max-width: 767px) {
  .p-topNews .newsList .listItem .listItemHeader .date {
    display: block;
    margin-bottom: 0.5em;
    width: 100%;
    font-size: 1.2rem;
  }
}

.p-topNews .newsList .listItem .listItemHeader .tagList {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 140px;
  margin: 0;
}

@media screen and (max-width: 767px) {
  .p-topNews .newsList .listItem .listItemHeader .tagList {
    display: block;
    margin-bottom: 5px;
    width: 100%;
  }
}

.p-topNews .newsList .listItem .listItemHeader .tagList .c-tag {
  display: block;
  padding: 4px 7px;
  text-align: center;
  margin: 0 0 6px;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-topNews .newsList .listItem .listItemHeader .tagList .c-tag {
    padding: 6px 7px 2px 7px;
  }
}

@media screen and (max-width: 767px) {
  .p-topNews .newsList .listItem .listItemHeader .tagList .c-tag {
    display: inline-block;
    margin: 0 6px 6px 0;
  }
}

@media screen and (min-width: 768px) {
  .p-topNews .newsList .listItem .listItemHeader .tagList .c-tag:last-child {
    margin: 0;
  }
}

.p-topNews .newsList .listItem .title {
  font-weight: normal;
  font-size: 1.4rem;
  line-height: 1.4;
  color: #231815;
}

.p-topBlog {
  background-color: #e4f2f7;
  padding: 80px 0;
}

@media screen and (max-width: 767px) {
  .p-topBlog {
    padding: 40px 0;
  }
}

.p-topBlog .contentsWrapper {
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-topBlog .contentsWrapper {
    padding-bottom: 30px;
  }
}

.p-topBlog .detailBtn {
  position: absolute;
  right: 0;
  top: 42px;
}

@media screen and (max-width: 767px) {
  .p-topBlog .detailBtn {
    top: auto;
    right: auto;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

.p-topBlog .blogList {
  position: relative;
  border-top: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
  .p-topBlog .blogList {
    margin-bottom: 30px;
  }
}

.p-topBlog .blogList::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0;
  width: 40px;
  height: 1px;
  background-color: #dd2a7b;
}

@media screen and (max-width: 767px) {
  .p-topBlog .blogList::before {
    width: 100px;
  }
}

.p-topBlog .blogList .listItem {
  position: relative;
  border-bottom: 1px solid #ddd;
}

.p-topBlog .blogList .listItem::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 40px;
  height: 1px;
  background-color: #dd2a7b;
}

@media screen and (max-width: 767px) {
  .p-topBlog .blogList .listItem::before {
    width: 100px;
  }
}

.p-topBlog .blogList .listItem a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 30px 20px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .p-topBlog .blogList .listItem a {
    padding: 12px 11px;
  }
}

.p-topBlog .blogList .listItem a:hover {
  text-decoration: none;
}

.p-topBlog .blogList .listItem .thumb {
  margin-right: 30px;
  width: 160px;
  height: 100px;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-topBlog .blogList .listItem .thumb {
    margin-right: 9px;
    width: 80px;
    height: 50px;
  }
}

.p-topBlog .blogList .listItem .thumb img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.p-topBlog .blogList .listItem .detailArea {
  width: 770px;
}

@media screen and (max-width: 767px) {
  .p-topBlog .blogList .listItem .detailArea {
    width: calc( 100% - 89px);
  }
}

.p-topBlog .blogList .listItem .detailArea .date {
  margin-bottom: 0.8em;
  font-weight: bold;
  font-size: 1.3rem;
  color: #879eb0;
}

@media screen and (max-width: 767px) {
  .p-topBlog .blogList .listItem .detailArea .date {
    margin-bottom: 0.5em;
    font-size: 1.2rem;
  }
}

.p-topBlog .blogList .listItem .detailArea .c-tagList--blogList {
  margin-bottom: 0;
}

.p-topBlog .blogList .listItem .detailArea .title {
  margin-bottom: 0.8em;
  font-weight: bold;
  font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
  .p-topBlog .blogList .listItem .detailArea .title {
    font-weight: normal;
    margin-bottom: 0;
    line-height: 1.4;
  }
}

.p-topBlog .blogList .listItem .detailArea .lead {
  width: 41em;
  font-size: 1.3rem;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media screen and (max-width: 767px) {
  .p-topBlog .blogList .listItem .detailArea .lead {
    display: none;
  }
}

/* ----------
 コース・講座を探す
---------- */
.p-courseSearch {
  display: block;
  text-align: center;
}

.p-courseSearch .searchBtn {
  font-size: 0;
}

.p-courseSearch .searchBtn input[type="search"],
.p-courseSearch .searchBtn input[type="submit"] {
  margin: 0;
  height: 56px;
  line-height: 56px;
  font-size: 1.8rem;
  border: none;
}

@media screen and (max-width: 767px) {
  .p-courseSearch .searchBtn input[type="search"],
  .p-courseSearch .searchBtn input[type="submit"] {
    height: 48px;
    font-size: 1.6rem;
    line-height: 48px;
  }
}

.p-courseSearch .searchBtn input[type="search"] {
  padding: 0 20px;
  width: 510px;
  border-radius: 28px 0 0 28px;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .p-courseSearch .searchBtn input[type="search"] {
    width: calc( 100% - 48px);
    border-radius: 24px 0 0 24px;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-courseSearch .searchBtn input[type="search"] {
    padding: 0.1em 20px 0;
  }
}

.p-courseSearch .searchBtn input[type="submit"] {
  padding: 0 48px 0 14px;
  border-radius: 0 28px 28px 0;
  color: #fff;
  font-weight: bold;
  border: 1px solid #1649a5;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #1649a5;
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-image: url(/assets/images/common/icon_search.png);
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

@media screen and (max-width: 767px) {
  .p-courseSearch .searchBtn input[type="submit"] {
    padding: 0;
    width: 48px;
    border-radius: 0 24px 24px 0;
    background-position: center;
    font-size: 0;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-courseSearch .searchBtn input[type="submit"] {
    padding: 0.1em 48px 0 14px;
  }
}

.p-courseSearch .searchBtn input[type="submit"]:hover {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  opacity: 0.65;
}

.p-courseSearch .searchDetailBtn {
  display: inline-block;
  position: relative;
  margin: 20px 0 0;
  padding: 0 40px;
  text-align: center;
  line-height: 38px;
  height: 38px;
  font-size: 1.6rem;
  font-weight: bold;
  border-radius: 20px;
  color: #dd2a7b;
  border: 1px solid #dd2a7b;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition-property: border-color background-color opacity;
  transition-property: border-color background-color opacity;
  -webkit-transition: border-color .3s, background-color .3s, opacity .3s;
  transition: border-color .3s, background-color .3s, opacity .3s;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-courseSearch .searchDetailBtn {
    padding: 0.1em 40px 0;
  }
}

@media screen and (max-width: 767px) {
  .p-courseSearch .searchDetailBtn {
    font-size: 1.4rem;
    line-height: 34px;
    border-radius: 18px;
  }
}

.p-courseSearch .searchDetailBtn::before, .p-courseSearch .searchDetailBtn::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  background-color: #dd2a7b;
}

.p-courseSearch .searchDetailBtn::before {
  right: 20px;
  margin-top: -1px;
  width: 8px;
  height: 2px;
}

.p-courseSearch .searchDetailBtn::after {
  right: 23px;
  margin-top: -4px;
  width: 2px;
  height: 8px;
}

.p-courseSearch .searchDetailBtn:hover, .p-courseSearch .searchDetailBtn.isActive {
  background-color: #e77cad;
  border: 1px solid #e77cad;
  color: #fff;
  -webkit-transition-property: border-color background-color opacity;
  transition-property: border-color background-color opacity;
  -webkit-transition: border-color .3s, background-color .3s, opacity .3s;
  transition: border-color .3s, background-color .3s, opacity .3s;
}

.p-courseSearch .searchDetailBtn:hover::before, .p-courseSearch .searchDetailBtn:hover::after, .p-courseSearch .searchDetailBtn.isActive::before, .p-courseSearch .searchDetailBtn.isActive::after {
  background-color: #fff;
}

.p-courseSearch .searchDetailBtn:hover {
  cursor: pointer;
  opacity: 0.65;
}

.p-courseSearch .searchDetailBtn.isActive::after {
  display: none;
  opacity: 0;
}

.p-courseSearch .searchDetailBlock {
  display: none;
  margin-top: 9px;
  padding: 10px 10px 20px;
  background-color: #fff;
  border: 1px solid #ddd;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .p-courseSearch .searchDetailBlock {
    margin-top: 14px;
    padding: 10px 10px 15px;
  }
}

.p-courseSearch .searchDetailBlock.isActive {
  display: block;
}

.p-courseSearch .searchDetailBlock table {
  margin-bottom: 20px;
  table-layout: fixed;
  font-size: 1.4rem;
  line-height: 1.2;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .p-courseSearch .searchDetailBlock table {
    margin-bottom: 14px;
    border-bottom: 1px solid #ddd;
  }
}

.p-courseSearch .searchDetailBlock table th {
  padding: 1em;
  width: 160px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-weight: bold;
  background-color: #d0eaf5;
  border-bottom: 1px solid #fff;
  vertical-align: middle;
  text-align: left;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-courseSearch .searchDetailBlock table th {
    padding: 1.2em 1em 1em;
  }
}

@media screen and (max-width: 767px) {
  .p-courseSearch .searchDetailBlock table th {
    display: block;
    width: 100%;
    border-bottom: none;
    font-size: 1.3rem;
    text-align: center;
    padding: 3px 0;
  }
}

.p-courseSearch .searchDetailBlock table td {
  padding: 14px 0 2px 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
  .p-courseSearch .searchDetailBlock table td {
    display: block;
    padding: 14px 0 0 10px;
    border-bottom: none;
  }
}

.p-courseSearch .searchDetailBlock table td .checkItem {
  display: inline-block;
  margin: 0 20px 12px 0;
}

.p-courseSearch .searchDetailBlock table td .checkItem:hover {
  opacity: 0.65;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-courseSearch .searchDetailBlock table td .checkItem label {
    padding-top: 0.2em;
  }
}

.p-courseSearch .searchDetailBlock table td .checkItem label .item {
  display: inline-block;
  position: relative;
  padding-left: 24px;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-courseSearch .searchDetailBlock table td .checkItem label .item {
    padding-top: 0.3em;
  }
}

.p-courseSearch .searchDetailBlock table td .checkItem label .item::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -8px;
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  background-image: url(/assets/images/common/com_icon_checkbox_off.png);
}

.p-courseSearch .searchDetailBlock table td .checkItem label input[type="checkbox"] {
  display: none;
}

.p-courseSearch .searchDetailBlock table td .checkItem label input[type="checkbox"]:checked + .item {
  color: #1649a5;
}

.p-courseSearch .searchDetailBlock table td .checkItem label input[type="checkbox"]:checked + .item::before {
  background-image: url(/assets/images/common/com_icon_checkbox_on.png);
}

.p-courseSearch .searchDetailBlock table tr:last-child th {
  border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
  .p-courseSearch .searchDetailBlock table tr:last-child th {
    border-bottom: none;
  }
}

.p-courseSearch .searchDetailBlock .submitBtn {
  display: block;
  margin: auto;
  text-align: center;
}

.p-courseSearch .searchDetailBlock .submitBtn input[type="submit"] {
  padding: 0 60px;
  height: 48px;
  border: none;
  border-radius: 24px;
  line-height: 48px;
  font-size: 1.8rem;
  font-weight: bold;
  background-color: #1649a5;
  color: #fff;
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-image: url(/assets/images/common/icon_search.png);
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-courseSearch .searchDetailBlock .submitBtn input[type="submit"] {
    padding: 0.1em 60px 0;
  }
}

@media screen and (max-width: 767px) {
  .p-courseSearch .searchDetailBlock .submitBtn input[type="submit"] {
    border-radius: 20px;
    line-height: 40px;
    height: 40px;
    font-size: 1.4rem;
  }
}

.p-courseSearch .searchDetailBlock .submitBtn input[type="submit"]:hover {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  opacity: 0.65;
}

.p-courseSearch .searchDetailBlock .keywordSearch {
    height: 2.5em;
    margin-bottom: 10px;
    width: 100%;
    max-width: 500px;
    border: 1px solid #666;
    border-radius: 3px;
}





.p-courseSearchResult .headerBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .p-courseSearchResult .headerBlock {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 14px;
  }
}

.p-courseSearchResult .headerBlock .numberArea {
  min-width: 10em;
  padding-right: 3em;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .p-courseSearchResult .headerBlock .numberArea {
    min-width: 100%;
    padding-right: 0;
    margin-bottom: 10px;
  }
}

.p-courseSearchResult .headerBlock .numberArea #searchResultNumber {
  padding: 0 0.2em;
  font-size: 2rem;
}

.p-courseSearchResult .headerBlock .tagArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 4em;
  border-left: 1px solid #231815;
}

@media screen and (max-width: 767px) {
  .p-courseSearchResult .headerBlock .tagArea {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-left: 0;
    padding-top: 10px;
    border-left: none;
    border-top: 1px solid #231815;
  }
}

.p-courseSearchResult .headerBlock .tagArea .title {
  width: 11em;
  font-size: 1.4rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-courseSearchResult .headerBlock .tagArea .title {
    margin-bottom: 0.5em;
    font-size: 1.2rem;
    font-weight: normal;
  }
}

.p-courseSearchResult .headerBlock .tagArea .title .tagList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-courseSearchResult .pagerArea {
  margin-top: 36px;
}

@media screen and (max-width: 767px) {
  .p-courseSearchResult .pagerArea {
    margin-top: 20px;
  }
}

/* ----------
 コース詳細
---------- */
.p-courseTitle {
  display: inline-block;
  position: relative;
  padding-left: 46px;
}

.p-courseTitle::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  background-repeat: no-repeat;
  background-size: cover;
}

.p-courseTitle--about:before {
  height: 24px;
  background-image: url(/assets/images/common/com_icon_book_l.png);
}

.p-courseTitle--price:before {
  height: 32px;
  background-image: url(/assets/images/common/com_icon_price_l.png);
}

.p-courseTitle--teacher:before {
  height: 25px;
  background-image: url(/assets/images/common/com_icon_teacher_l.png);
}

.p-courseTitle--calendar:before {
  height: 32px;
  background-image: url(/assets/images/common/com_icon_calendar_l.png);
}

.p-courseTitle--contact:before {
  height: 24px;
  background-image: url(/assets/images/common/com_icon_contact_l.png);
}

.p-courseDetailAbout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .p-courseDetailAbout {
    display: block;
  }
}

.p-courseDetailAbout .mainBlock {
  width: 600px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailAbout .mainBlock {
    margin-bottom: 60px;
    width: auto;
  }
}

.p-courseDetailAbout .mainBlock h2.title {
  font-size: 2.3rem;
  line-height: 1.4;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailAbout .mainBlock h2.title {
    font-size: 2.2rem;
  }
}

.p-courseDetailAbout .mainBlock .image {
  text-align: center;
}

.p-courseDetailAbout .mainBlock .image img {
  width: 100%;
  height: auto;
}

.p-courseDetailAbout .mainBlock .text {
  margin-top: 40px;
}

.p-courseDetailAbout .sideBlock {
  padding-left: 39px;
  border-left: 1px solid #eee;
  width: 310px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailAbout .sideBlock {
    padding-left: 0;
    border-left: none;
    width: auto;
  }
}

.p-courseDetailAbout .sideBlock .skillArea {
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 2px solid #eee;
}

.p-courseDetailAbout .sideBlock .skillArea h3.title {
  margin-bottom: 20px;
  padding-top: 20px;
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .p-courseDetailAbout .sideBlock .skillArea h3.title {
    margin-bottom: 35px;
    font-size: 1.9rem;
  }
}

.p-courseDetailAbout .sideBlock .skillArea h3.title::before {
  width: 80px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailAbout .sideBlock .skillArea h3.title::before {
    width: 22%;
  }
}

.p-courseDetailAbout .sideBlock .skillArea h3.title::after {
  width: 230px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailAbout .sideBlock .skillArea h3.title::after {
    width: 78%;
  }
}

.p-courseDetailAbout .sideBlock .skillArea ul {
  padding-top: 30px;
  border-top: 2px solid #eee;
}

.p-courseDetailAbout .sideBlock .skillArea ul li {
  position: relative;
  padding-left: 1.5em;
  margin-top: 0.75em;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4;
  color: #1649a5;
}

@media screen and (max-width: 767px) {
  .p-courseDetailAbout .sideBlock .skillArea ul li {
    font-size: 1.4rem;
  }
}

.p-courseDetailAbout .sideBlock .skillArea ul li::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.4em;
  left: 0.4em;
  background-color: #1649a5;
  width: 6px;
  height: 6px;
  border-radius: 3px;
}

.p-courseDetailAbout .sideBlock .skillArea ul li:first-child {
  margin-top: 0;
}

.p-courseDetailAbout .sideBlock .skillArea ul li .note {
  margin-top: 0.5em;
  display: block;
  font-size: 1.3rem;
  font-weight: normal;
  color: #000;
}

@media screen and (max-width: 767px) {
  .p-courseDetailAbout .sideBlock .skillArea ul li .note {
    font-size: 1.2rem;
  }
}

.p-courseDetailAbout .sideBlock .categoryArea dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 8px;
}

.p-courseDetailAbout .sideBlock .categoryArea dl:first-child {
  margin-top: 0;
}

.p-courseDetailAbout .sideBlock .categoryArea dl dt {
  width: 90px;
  padding-left: 1.75em;
  line-height: 1.4;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .p-courseDetailAbout .sideBlock .categoryArea dl dt {
    font-size: 1.3rem;
  }
}

.p-courseDetailAbout .sideBlock .categoryArea dl dd {
  width: 210px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailAbout .sideBlock .categoryArea dl dd {
    width: calc( 100% - 100px);
  }
}

.p-courseDetailAbout .sideBlock .categoryArea dl dd a {
  color: #1649a5;
  text-decoration: underline;
  font-weight: normal;
}

.p-courseDetailAbout .sideBlock .categoryArea dl dd a:hover {
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .p-courseDetailAbout .sideBlock .categoryArea dl dd .c-tag {
    font-size: 1.3rem;
  }
}

.p-courseDetailAbout .sideBlock .categoryArea dl dd .noteList {
  font-size: 1.2rem;
  line-height: 1.4;
}

.p-courseDetailAbout .sideBlock .categoryArea dl dd .noteList li {
  position: relative;
  padding-left: 1em;
}

.p-courseDetailAbout .sideBlock .categoryArea dl dd .noteList li:before {
  content: "※";
  position: absolute;
  display: inline-block;
  top: 0;
  left: 0;
}

.p-courseDetailAbout .sideBlock .categoryArea dl dd .text {
  font-size: 1.3rem;
  line-height: 1.4;
}

.p-courseDetailIndex .text {
  margin-bottom: 40px;
}

.p-courseDetailIndex .table {
  margin-bottom: 40px;
}

.p-courseDetailIndex .table table {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-courseDetailIndex .table table {
    width: 700px !important;
  }
}

.p-courseDetailIndex .table table a {
  color: #1649a5;
  text-decoration: underline;
}

.p-courseDetailIndex .table table a:hover {
  text-decoration: none;
}

.p-courseDetailIndex .table table th, .p-courseDetailIndex .table table td {
  white-space: normal;
  width: 115px;
  vertical-align: middle;
  text-align: center !important;
}

@media screen and (max-width: 767px) {
  .p-courseDetailIndex .table table th, .p-courseDetailIndex .table table td {
    width: auto;
    font-size: 1.4rem;
    padding: 13px !important;
  }
}

.p-courseDetailIndex .table table th {
  padding: 13px !important;
  line-height: 1.3;
}

.p-courseDetailIndex .table table .couseTitle {
  width: 420px;
  text-align-last: left;
  background-color: #fafafa;
}

@media screen and (max-width: 767px) {
  .p-courseDetailIndex .table table .couseTitle {
    width: auto;
  }
}

.p-courseDetailIndex .table table .online {
  display: block;
  margin-top: 0.2em;
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.2;
  color: #dd2a7b;
}

.p-courseDetailIndex .noteList {
  margin-bottom: 40px;
}

.p-courseDetailIndex .noteList li {
  position: relative;
  padding-left: 1em;
  font-size: 1.2rem;
  line-height: 1.4;
}

.p-courseDetailIndex .noteList li::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
}

.p-courseDetailPrice .priceArea {
  margin-bottom: 40px;
  padding: 30px;
  border: 1px solid #ddd;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .p-courseDetailPrice .priceArea {
    padding: 20px;
    margin-bottom: 30px;
  }
}

.p-courseDetailPrice .priceArea p {
  font-size: 1.8rem;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-courseDetailPrice .priceArea p {
    font-size: 1.6rem;
  }
}

.p-courseDetailPrice .priceArea .note {
  margin-top: 1em;
  font-size: 1.2rem;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .p-courseDetailPrice .priceArea .note {
    text-align: left;
  }
}

.p-courseDetailPrice .text {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 20px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-courseDetailPrice .text {
    font-size: 1.3rem;
  }
}

.p-courseDetailPrice .table table {
  table-layout: fixed;
  font-size: 1.8rem !important;
  white-space: normal;
}

@media screen and (max-width: 767px) {
  .p-courseDetailPrice .table table {
    font-size: 1.4rem !important;
  }
}

.p-courseDetailPrice .table table th,
.p-courseDetailPrice .table table td {
  padding: 1em 0.75em !important;
  vertical-align: middle;
}

.p-courseDetailPrice .table table th {
  width: 30%;
}

.p-courseDetailPrice .table table td {
  width: 70%;
}

.p-courseDetailPrice .table table .time {
  display: inline;
  margin-left: 1em;
}

@media screen and (max-width: 767px) {
  .p-courseDetailPrice .table table .time {
    margin-left: 0;
    display: block;
  }
}

.p-courseDetailPrice .table table p {
  margin-top: 0.5em;
}

.p-courseDetailPrice .table table p:first-child {
  margin-top: 0;
}

.p-courseDetailPrice .contactBtn a {
  margin: auto;
  padding: 15px 40px 15px 20px;
  max-width: 400px;
}

.p-courseDetailTeacher .teacherArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 40px 0;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}

@media screen and (max-width: 767px) {
  .p-courseDetailTeacher .teacherArea {
    padding: 20px 0;
  }
}

.p-courseDetailTeacher .teacherArea .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 160px;
  height: 160px;
  overflow: hidden;
  border-radius: 80px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailTeacher .teacherArea .icon {
    width: 80px;
    height: 80px;
    border-radius: 40px;
  }
}

.p-courseDetailTeacher .teacherArea .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-courseDetailTeacher .teacherArea .detailArea {
  width: 810px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: 1em;
}

@media screen and (max-width: 767px) {
  .p-courseDetailTeacher .teacherArea .detailArea {
    width: calc( 100% - 100px);
  }
}

.p-courseDetailTeacher .teacherArea .detailArea .name {
  font-size: 1.8rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-courseDetailTeacher .teacherArea .detailArea .name {
    font-size: 1.6rem;
  }
}

.p-courseDetailTeacher .teacherArea .detailArea .infomation {
  font-size: 1.4rem;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailTeacher .teacherArea .detailArea .infomation {
    margin-bottom: 10px;
    font-size: 1.2rem;
  }
}

.p-courseDetailTeacher .teacherArea .detailArea .infomation .field:before {
  display: inline;
  content: "専門：";
}

.p-courseDetailTeacher .teacherArea .detailArea .infomation .place {
  margin-left: 1em;
}

.p-courseDetailTeacher .teacherArea .detailArea .infomation .place:before {
  display: inline;
  content: "勤務地：";
}

.p-courseDetailTeacher .teacherArea .detailArea .text {
  margin-bottom: 20px;
  font-size: 1.4rem;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .p-courseDetailTeacher .teacherArea .detailArea .text {
    margin-bottom: 10px;
    line-height: 1.6;
  }
}

.p-courseDetailTeacher .teacherArea .detailArea .link {
  position: relative;
  padding-left: 25px;
  margin-top: 1em;
  padding-left: 20px;
  font-size: 1.4rem;
  line-height: 1.4;
}

.p-courseDetailTeacher .teacherArea .detailArea .link::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 0.45em;
  width: 6px;
  height: 6px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .p-courseDetailTeacher .teacherArea .detailArea .link::before {
    left: 7px;
  }
}

@media screen and (max-width: 767px) {
  .p-courseDetailTeacher .teacherArea .detailArea .link a {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .p-courseDetailTeacher .teacherArea .detailArea .link {
    font-size: 1.2rem;
  }
}

.p-courseDetailTeacher .teacherArea .detailArea .link::before {
  left: 0;
  color: #1649a5;
}

.p-courseDetailTeacher .teacherArea .detailArea .link a {
  font-weight: normal;
  text-decoration: underline;
  color: #1649a5;
}

.p-courseDetailTeacher .teacherArea .detailArea .link a:hover {
  text-decoration: none;
}

.p-courseDetailCase .caseList .listItem {
  width: 220px;
  margin-right: 40px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailCase .caseList .listItem {
    width: auto;
    margin-right: 0;
  }
}

.p-courseDetailCase .caseList .listItem:nth-child(4n) {
  margin-right: 0;
}

.p-courseDetailLessonList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailLessonList {
    margin-bottom: 40px;
  }
}

.p-courseDetailLessonList .listItem {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 8px 8px 8px 32px;
  width: 24%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  font-size: 1.4rem;
  line-height: 1.2;
  font-weight: bold;
  text-align: left;
  border: 1px solid #d8dfe4;
  background-color: #fff;
  color: #879eb0;
}

@media screen and (max-width: 767px) {
  .p-courseDetailLessonList .listItem {
    padding: 8px 0 28px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    font-size: 1.3rem;
  }
}

.p-courseDetailLessonList .listItem::before {
  content: "×";
  display: block;
  position: absolute;
  top: 50%;
  left: 8px;
  margin-top: -0.5em;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .p-courseDetailLessonList .listItem::before {
    top: auto;
    left: 50%;
    bottom: 8px;
    margin-top: 0;
    margin-left: -0.5em;
  }
}

.p-courseDetailLessonList .listItem.isActive {
  border: 1px solid #f3b5d1;
  background-color: #f3b5d1;
  color: #000;
}

.p-courseDetailLessonList .listItem.isActive::before {
  content: "〇";
}

.p-courseDetailContact .table th.lesson,
.p-courseDetailContact .table th.status,
.p-courseDetailContact .table th.contact,
.p-courseDetailContact .table td {
  text-align: center !important;
  vertical-align: middle;
  white-space: normal;
}

.p-courseDetailContact .table td,
.p-courseDetailContact .table th {
  white-space: normal;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .table td,
  .p-courseDetailContact .table th {
    text-align: center !important;
    padding: 8px 0 !important;
    font-size: 1.4rem;
    line-height: 1.4;
  }
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .table th {
    text-align: center !important;
  }
}

.p-courseDetailContact .table .status {
  width: 293px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .table .status {
    width: 26.7%;
  }
}

.p-courseDetailContact .table .lesson {
  width: 293px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .table .lesson {
    width: 21.4%;
  }
}

.p-courseDetailContact .table .contact {
  width: 414px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .table .contact {
    width: 46.4%;
  }
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .table .contactText {
    display: block;
    margin: 0 10px;
    text-align: left;
    font-size: 1.3rem;
    line-height: 1.4;
  }
}

.p-courseDetailContact .table .online {
  display: block;
  margin-top: 0.2em;
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.2;
  color: #dd2a7b;
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .table .contactBtn {
    margin: 0 10px;
  }
  .p-courseDetailContact .table .contactBtn a {
    padding: 6px;
    font-size: 1.3rem;
    line-height: 1.3;
    border-radius: 6px;
  }
  .p-courseDetailContact .table .contactBtn a::before {
    right: 8px;
  }
}

.p-courseDetailCurriculum .text {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailCurriculum .text {
    margin-bottom: 30px;
  }
}

.p-courseDetailCurriculum .table table {
  table-layout: fixed;
}

.p-courseDetailCurriculum .table th,
.p-courseDetailCurriculum .table td {
  white-space: normal;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .p-courseDetailCurriculum .table th,
  .p-courseDetailCurriculum .table td {
    padding: 1em 0.75em !important;
    font-size: 1.4rem !important;
  }
}

.p-courseDetailCurriculum .table th {
  text-align: center !important;
}

.p-courseDetailCurriculum .table th.subTitle {
  text-align-last: left !important;
}

.p-courseDetailCurriculum .table th.number {
  width: 4em;
  padding: 20px 0 !important;
}

.p-courseDetailCurriculum .table th.time {
  width: 150px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailCurriculum .table th.time {
    width: 24%;
  }
}

.p-courseDetailCurriculum .table td.time {
  text-align: right !important;
}

.p-courseDetailSchedule .text {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .text {
    margin-bottom: 30px;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleHeader {
  display: block;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 10px;
  background-color: #d0eaf5;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleHeader {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.p-courseDetailSchedule .scheduleArea .slick-prev,
.p-courseDetailSchedule .scheduleArea .slick-next {
  top: 18px;
  z-index: 1;
  font-size: 0;
}

.p-courseDetailSchedule .scheduleArea .slick-prev:hover,
.p-courseDetailSchedule .scheduleArea .slick-next:hover {
  cursor: pointer;
  opacity: 0.7;
}

.p-courseDetailSchedule .scheduleArea .slick-prev::after,
.p-courseDetailSchedule .scheduleArea .slick-next::after {
  font-size: 1.4rem;
  font-weight: bold;
  color: #000;
}

.p-courseDetailSchedule .scheduleArea .slick-prev.slick-disabled::before, .p-courseDetailSchedule .scheduleArea .slick-prev.slick-disabled::after,
.p-courseDetailSchedule .scheduleArea .slick-next.slick-disabled::before,
.p-courseDetailSchedule .scheduleArea .slick-next.slick-disabled::after {
  opacity: 0.5;
  color: #666;
}

.p-courseDetailSchedule .scheduleArea .slick-prev.slick-disabled:hover,
.p-courseDetailSchedule .scheduleArea .slick-next.slick-disabled:hover {
  opacity: 1;
  cursor: auto;
}

.p-courseDetailSchedule .scheduleArea .slick-prev {
  position: relative;
  padding-left: 25px;
  position: absolute;
  left: 20px;
  text-align: right;
}

.p-courseDetailSchedule .scheduleArea .slick-prev::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 0.45em;
  width: 4px;
  height: 4px;
  border-top: 2px solid #1649a5;
  border-right: 2px solid #1649a5;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .slick-prev::before {
    left: 7px;
  }
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .slick-prev a {
    display: block;
  }
}

.p-courseDetailSchedule .scheduleArea .slick-prev::after {
  content: "前の月";
}

.p-courseDetailSchedule .scheduleArea .slick-prev::before {
  top: 7px;
  left: 6px;
  width: 5px;
  height: 5px;
  -webkit-transform: rotate(230deg);
  transform: rotate(230deg);
}

.p-courseDetailSchedule .scheduleArea .slick-next {
  position: relative;
  padding-right: 20px;
  position: absolute;
  right: 20px;
  z-index: 1;
  text-align: left;
}

.p-courseDetailSchedule .scheduleArea .slick-next::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-top: -4px;
  border-top: 2px solid #1649a5;
  border-right: 2px solid #1649a5;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .slick-next a {
    display: block;
  }
}

.p-courseDetailSchedule .scheduleArea .slick-next::after {
  content: "次の月";
}

.p-courseDetailSchedule .scheduleArea .scheduleBox {
  display: block;
  min-height: 0;
  min-width: 0;
}

.p-courseDetailSchedule .scheduleArea .scheduleMonthNav {
  text-align: center;
  line-height: 1;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleMonthNav {
    margin: 0;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleMonthNav .year {
  display: block;
  font-size: 1.2rem;
  margin-bottom: 0.25em;
}

.p-courseDetailSchedule .scheduleArea .scheduleMonthNav .year::after {
  content: "年";
  display: inline-block;
}

.p-courseDetailSchedule .scheduleArea .scheduleMonthNav .monthNumber {
  font-size: 2.2rem;
}

.p-courseDetailSchedule .scheduleArea .scheduleMonthNav .monthNumber::after {
  content: "月";
  display: inline-block;
  font-size: 1.6rem;
}

.p-courseDetailSchedule .scheduleArea .slick-list,
.p-courseDetailSchedule .scheduleArea .slick-track {
  min-height: 0;
  min-width: 0;
}

.p-courseDetailSchedule .scheduleArea .scheduleBody {
  min-height: 0;
  min-width: 0;
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .listTitle {
  font-size: 1.3rem;
  font-weight: bold;
  color: #879eb0;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .listTitle {
    display: inline-block;
    font-size: 1.2rem;
    width: 5em;
    vertical-align: top;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .listText {
  font-size: 1.6rem;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .listText {
    display: inline-block;
    font-size: 1.4rem;
    width: calc( 100% - 5em);
    vertical-align: top;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding: 20px 10px 20px 20px;
  background-color: #fafafa;
  font-weight: bold;
  font-size: 1.6rem;
  width: 130px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .date {
    padding: 1em;
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    font-size: 1.2rem;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .date .number {
  font-size: 2rem;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .date .number {
    font-size: 1.6rem;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .date .number::after {
  content: "日";
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .date .number::after {
    font-size: 1.2rem;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .date .youbi::before {
  content: "（";
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .date .youbi::after {
  content: "）";
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .detailArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 15px 0;
  width: 870px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .detailArea {
    padding: 10px 0 10px 14px;
    width: auto;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .innerItem {
  padding: 0 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-right: 1px solid #eee;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .innerItem {
    padding: 0;
    border-right: none;
    margin-bottom: 0.3em;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .innerItem:last-child {
  border-right: none;
  margin-bottom: 0;
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .place {
  width: 118px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .place {
    width: auto;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .time {
  width: 160px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .time {
    width: auto;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .space {
  width: 435px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .space {
    width: auto;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .space .attention {
  display: inline;
  margin-left: 1em;
  color: #cb1212;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .space .attention {
    display: block;
    margin-left: 0;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .contact .contactBtn {
  width: 150px;
  font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .contact .contactBtn {
    width: 90px;
    font-size: 1.3rem;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .contact .contactBtn a {
  padding: 11px 20px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .contact .contactBtn a {
    padding: 11px 20px 11px 11px;
  }
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .contact .contactBtn a::before {
    right: 10px;
  }
}

.p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .contact .contactBtn.isFull {
  padding: 11px 20px;
  border-radius: 20px;
  background-color: #d8dfe4;
  color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .p-courseDetailSchedule .scheduleArea .scheduleBody .scheduleList .listItem .contact .contactBtn.isFull {
    padding: 11px;
  }
}

.p-courseDetailContact .contactArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 30px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background-color: #089bd8;
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .contactArea {
    display: block;
    padding: 20px;
  }
}

.p-courseDetailContact .contactArea .contactHead {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  width: 120px;
  height: 120px;
  border: 4px solid white;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.p-courseDetailContact .contactArea .contactHead::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: -4px;
  margin-top: -10px;
  width: 120px;
  height: 20px;
  background-color: #089bd8;
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .contactArea .contactHead::before {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .contactArea .contactHead {
    position: relative;
    width: auto;
    height: auto;
    border: none;
    text-align: center;
  }
}

.p-courseDetailContact .contactArea .contactHead .title {
  padding: 0;
  margin: 0;
  z-index: 0;
  color: #fff;
  font-size: 1.3rem;
  font-weight: bold;
  background: none;
}

.p-courseDetailContact .contactArea .contactHead .title::before, .p-courseDetailContact .contactArea .contactHead .title::after {
  display: none;
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .contactArea .contactHead .title {
    display: inline-block;
    position: relative;
    margin-bottom: 18px;
    padding: 0 20px;
    text-align: center;
    line-height: 30px;
    font-size: 1.5rem;
    z-index: 1;
  }
  .p-courseDetailContact .contactArea .contactHead .title::before, .p-courseDetailContact .contactArea .contactHead .title::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    height: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .p-courseDetailContact .contactArea .contactHead .title::before {
    width: 146px;
    margin-left: -73px;
    background-color: #089bd8;
    z-index: -1;
  }
  .p-courseDetailContact .contactArea .contactHead .title::after {
    width: 180px;
    border: 4px solid #fff;
    border-radius: 15px;
    margin-left: -90px;
    z-index: -2;
  }
}

.p-courseDetailContact .contactArea .contactBody {
  margin-left: 20px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .contactArea .contactBody {
    margin-left: 0;
  }
}

.p-courseDetailContact .contactArea .contactBody .tel {
  margin-bottom: 0.1em;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
  font-size: 5rem;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .contactArea .contactBody .tel {
    margin-bottom: 15px;
    line-height: 0.7;
    font-size: 4.6rem;
    text-align: center;
  }
}

.p-courseDetailContact .contactArea .contactBody .tel a[href*="tel:"] {
  color: #ffffff;
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .contactArea .contactBody .tel a[href*="tel:"] {
    pointer-events: inherit;
  }
}

.p-courseDetailContact .contactArea .contactBody .timeBlock {
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .contactArea .contactBody .timeBlock {
    display: inherit;
    margin-bottom: 20px;
    text-align: center;
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .contactArea .contactBody .timeBlock .title {
    margin-bottom: 0.3em;
  }
}

.p-courseDetailContact .contactArea .contactBody .timeBlock .text {
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .contactArea .contactBody .timeBlock .text {
    line-height: 1.2;
    margin-left: 0;
  }
}

.p-courseDetailContact .contactArea .contactLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .contactArea .contactLink {
    display: inherit;
  }
}

.p-courseDetailContact .contactArea .contactLink li {
  position: relative;
  margin-left: 20px;
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .contactArea .contactLink li {
    margin-left: 0;
  }
  .p-courseDetailContact .contactArea .contactLink li + li {
    margin-top: 10px;
  }
}

.p-courseDetailContact .contactArea .contactLink li::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  top: 50%;
  left: 10px;
  margin-top: -8px;
  border-radius: 50%;
  background: #089bd8;
  z-index: 1;
}

.p-courseDetailContact .contactArea .contactLink li::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 15px;
  margin-top: -3px;
  width: 3px;
  height: 3px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 2;
}

.p-courseDetailContact .contactArea .contactLink li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  width: 210px;
  height: 80px;
  background-color: #ffffff;
  color: #089bd8;
  line-height: 1.4;
  font-size: 1.8rem;
  font-weight: bold;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-courseDetailContact .contactArea .contactLink li a {
    padding-top: 0.2em;
  }
}

@media screen and (max-width: 767px) {
  .p-courseDetailContact .contactArea .contactLink li a {
    width: 100%;
    height: auto;
    padding: 20px 0;
    font-size: 1.4rem;
  }
}

.p-courseDetailContact .contactArea .contactLink li a:hover {
  text-decoration: none;
}

.p-courseDetailContact .contactArea .contactLink li a span {
  padding-left: 15px;
}

/* ----------
 公開講座会場一覧
---------- */
.p-seminarSpaceList {
  margin-bottom: 80px;
}

.p-seminarSpaceList .spaceListBlock {
  margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceList .spaceListBlock {
    margin-bottom: 40px;
  }
}

.p-seminarSpaceList .spaceListBlock:last-child {
  margin-bottom: 0;
}

.p-seminarSpaceList h3.areaName {
  display: block;
  margin: 0;
  padding: 16px 20px;
  background-color: #ddd;
  font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceList h3.areaName {
    padding: 13px 12px;
    font-size: 1.4rem;
  }
}

.p-seminarSpaceList h3.areaName::before, .p-seminarSpaceList h3.areaName::after {
  display: none;
}

.p-seminarSpaceList .spaceList .listItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceList .spaceList .listItem {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-bottom: 16px;
  }
}

.p-seminarSpaceList .spaceList .listItem .name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 18px 20px;
  margin: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 280px;
  background-color: #fafafa;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4;
  color: #333;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  word-break: break-word;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-seminarSpaceList .spaceList .listItem .name {
    word-break: break-all;
  }
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceList .spaceList .listItem .name {
    width: auto;
    padding: 13px 12px;
    font-size: 1.4rem;
  }
}

.p-seminarSpaceList .spaceList .listItem .name::before, .p-seminarSpaceList .spaceList .listItem .name::after {
  display: none;
}

.p-seminarSpaceList .spaceList .listItem .addressArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 570px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 18px 20px;
  font-size: 1.6rem;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceList .spaceList .listItem .addressArea {
    width: auto;
    padding: 16px 12px 10px;
    font-size: 1.4rem;
  }
}

.p-seminarSpaceList .spaceList .listItem .addressArea .inner {
  display: block;
}

.p-seminarSpaceList .spaceList .listItem .addressArea .inner .zipCode {
  display: inline;
  margin-right: 1em;
}

.p-seminarSpaceList .spaceList .listItem .addressArea .inner .address {
  display: inline;
}

.p-seminarSpaceList .spaceList .listItem .btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceList .spaceList .listItem .btn {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.p-seminarSpaceList .spaceList .listItem .btn .btnLink {
  width: 150px;
  font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceList .spaceList .listItem .btn .btnLink {
    font-size: 1.3rem;
  }
}

.p-seminarSpaceList .spaceList .listItem .btn .btnLink li a {
  padding: 5px 20px;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-seminarSpaceList .spaceList .listItem .btn .btnLink li a {
    padding: 7px 20px 3px;
  }
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceList .spaceList .listItem .btn .btnLink li a {
    padding: 3px 20px;
  }
}

.p-seminarSpaceList .spaceList .listItem .btn .btnLink li a::before {
  right: 12px;
}

/* ----------
 公開講座会場詳細
---------- */
.p-seminarSpaceMap iframe {
  width: 100%;
  height: 400px;
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceMap iframe {
    height: 250px;
  }
}

.p-seminarSpaceDetail {
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceDetail {
    margin-bottom: 50px;
  }
}

.p-seminarSpaceDetail table.informationTable {
  width: 100%;
  table-layout: fixed;
  border-top: 1px solid #ddd;
}

.p-seminarSpaceDetail table.informationTable tr {
  border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceDetail table.informationTable tr {
    display: block;
  }
}

.p-seminarSpaceDetail table.informationTable th {
  padding: 24px 20px;
  width: 250px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: bold;
  background-color: #fafafa;
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceDetail table.informationTable th {
    display: block;
    padding: 12px;
    width: auto;
    font-size: 1.4rem;
  }
}

.p-seminarSpaceDetail table.informationTable td {
  padding: 24px 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceDetail table.informationTable td {
    display: block;
    padding: 12px;
    font-size: 1.4rem;
  }
}

.p-seminarSpaceDetail table.informationTable td .zipCode {
  margin-right: 1em;
}

.p-seminarSpaceDetail table.informationTable td .accessArea .title {
  margin-bottom: 1em;
  padding-left: 1em;
  font-size: 1.3rem;
  font-weight: bold;
  color: #879eb0;
  line-height: 1.4;
  border-left: 4px solid;
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceDetail table.informationTable td .accessArea .title {
    font-size: 1.2rem;
  }
}

.p-seminarSpaceDetail table.informationTable td .accessArea dt {
  margin-top: 2em;
}

.p-seminarSpaceDetail table.informationTable td .accessArea dt:first-child {
  margin-top: 0;
}

.p-seminarSpaceDetail table.informationTable td .schoolLink li {
  display: inline;
}

.p-seminarSpaceDetail table.informationTable td .schoolLink li::before {
  content: "、";
}

.p-seminarSpaceDetail table.informationTable td .schoolLink li:first-child::before {
  display: none;
}

.p-seminarSpaceDetail table.informationTable td .schoolLink li a {
  font-weight: normal;
  color: #1649a5;
  text-decoration: underline;
}

.p-seminarSpaceDetail table.informationTable td .schoolLink li a:hover {
  text-decoration: none;
}

.p-seminarSpaceDetail table.informationTable td .facilityList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.p-seminarSpaceDetail table.informationTable td .facilityList .listItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 10px;
  margin: 0 10px 10px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 230px;
  background-color: #e4f2f7;
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceDetail table.informationTable td .facilityList .listItem {
    width: 100%;
    margin: 5px 0 0;
    padding: 8px;
  }
}

.p-seminarSpaceDetail table.informationTable td .facilityList .listItem:nth-child(3n) {
  margin-right: 0;
}

.p-seminarSpaceDetail table.informationTable td .facilityList .listItem .icon {
  margin-right: 10px;
  width: 48px;
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceDetail table.informationTable td .facilityList .listItem .icon {
    width: 32px;
  }
}

.p-seminarSpaceDetail table.informationTable td .facilityList .listItem .icon img {
  width: 100%;
  height: auto;
}

.p-seminarSpaceDetail table.informationTable td .facilityList .listItem .text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-seminarSpaceDetail table.informationTable td .facilityList .listItem .text {
    font-size: 1.3rem;
    line-height: 1.2;
  }
}

/* ----------
 FAQ
---------- */
.p-faqList {
  display: block;
  border-top: 1px solid #ddd;
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .p-faqList {
    margin: 0 -20px 50px;
  }
}

.p-faqList .faqBlock {
  display: block;
  border-bottom: 1px solid #ddd;
}

.p-faqList .faqBlock .questionArea,
.p-faqList .faqBlock .answerArea {
  display: block;
  position: relative;
  padding: 20px 20px 20px 60px;
}

@media screen and (max-width: 767px) {
  .p-faqList .faqBlock .questionArea,
  .p-faqList .faqBlock .answerArea {
    padding: 16px 10px 16px 40px;
  }
}

.p-faqList .faqBlock .questionArea:before,
.p-faqList .faqBlock .answerArea:before {
  display: block;
  position: absolute;
  top: 16px;
  left: 20px;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
  font-size: 2.6rem;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .p-faqList .faqBlock .questionArea:before,
  .p-faqList .faqBlock .answerArea:before {
    font-size: 2rem;
    left: 10px;
  }
}

.p-faqList .faqBlock .questionArea {
  background-color: #fafafa;
}

.p-faqList .faqBlock .questionArea:before {
  content: "Q.";
  color: #1649a5;
}

.p-faqList .faqBlock .questionArea h3 {
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: bold;
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 767px) {
  .p-faqList .faqBlock .questionArea h3 {
    font-size: 1.4rem;
  }
}

.p-faqList .faqBlock .questionArea h3::before, .p-faqList .faqBlock .questionArea h3::after {
  display: none;
}

.p-faqList .faqBlock .answerArea:before {
  content: "A.";
  color: #dd2a7b;
}

.p-faqList .faqBlock .answerArea p {
  font-size: 1.6rem;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .p-faqList .faqBlock .answerArea p {
    font-size: 1.4rem;
  }
}

/* ----------
 BLOG
---------- */
.p-blogBanner {
  display: block;
  position: relative;
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .p-blogBanner {
    margin-bottom: 50px;
  }
}

.p-blogBanner .label {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  padding: 5px 9px;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
  line-height: 1;
  font-size: 1.3rem;
  color: #fff;
  background-color: #dd2a7b;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .p-blogBanner .label {
    padding: 2px 9px;
    font-size: 1rem;
  }
}

.p-blogBanner .banner {
  display: block;
  width: 100%;
}

.p-blogBanner .banner img {
  width: 100%;
  height: auto;
}

.p-blogBanner .banner a {
  display: block;
}

.p-blogBanner .banner a::after {
  content: none !important;
  display: none !important;
}

.p-blogList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .p-blogList {
    display: block;
    margin-bottom: 50px;
  }
}

.p-blogList .listItem {
  display: block;
  position: relative;
  padding: 28px 0 20px;
  width: 320px;
  border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
  .p-blogList .listItem {
    padding: 23px 0 20px;
    width: auto;
  }
}

.p-blogList .listItem:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  background-color: #dd2a7b;
  width: 40px;
  height: 1px;
}

.p-blogList .listItem:nth-child(1), .p-blogList .listItem:nth-child(2) {
  border-top: 1px solid #ddd;
}

.p-blogList .listItem:nth-child(1):after, .p-blogList .listItem:nth-child(2):after {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0;
  background-color: #dd2a7b;
  width: 40px;
  height: 1px;
}

.p-blogList .listItem a {
  display: block;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
}

.p-blogList .listItem a:hover {
  text-decoration: none;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  opacity: 0.65;
}

.p-blogList .listItem .date {
  margin-bottom: 0.5em;
  color: #879eb0;
  font-weight: bold;
  font-size: 1.3rem;
}

.p-blogList .listItem .thumb {
  position: relative;
  margin-bottom: 10px;
  padding-top: 62.5%;
  width: 100%;
}

.p-blogList .listItem .thumb img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-blogList .listItem .title {
  margin-bottom: 16px;
  font-size: 1.6rem;
  line-height: 1.4;
  padding-top: 0;
}

@media screen and (max-width: 767px) {
  .p-blogList .listItem .title {
    font-size: 1.4rem;
  }
}

.p-blogList .listItem .title::before, .p-blogList .listItem .title::after {
  display: none;
}

.p-blogList .listItem .writerArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-blogList .listItem .writerArea .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 40px;
  height: 40px;
  overflow: hidden;
  border-radius: 20px;
}

.p-blogList .listItem .writerArea .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-blogList .listItem .writerArea .name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.1rem;
  font-weight: bold;
  margin-left: 1em;
}

.p-blogList--aside {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .p-blogList--aside {
    margin-bottom: 30px;
  }
}

.p-blogList--aside .listItem {
  display: block;
  position: relative;
  border-bottom: 1px solid #ddd;
}

.p-blogList--aside .listItem:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  background-color: #dd2a7b;
  width: 212px;
  height: 1px;
}

@media screen and (max-width: 767px) {
  .p-blogList--aside .listItem:before {
    width: 100px;
  }
}

.p-blogList--aside .listItem:nth-child(1) {
  border-top: 1px solid #ddd;
}

.p-blogList--aside .listItem:nth-child(1):after {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0;
  background-color: #dd2a7b;
  width: 212px;
  height: 1px;
}

@media screen and (max-width: 767px) {
  .p-blogList--aside .listItem:nth-child(1):after {
    width: 100px;
  }
}

.p-blogList--aside .listItem a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 30px 0 30px 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-blogList--aside .listItem a {
    padding: 0 10px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}

.p-blogList--aside .listItem a:hover {
  text-decoration: none;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  opacity: 0.65;
}

.p-blogList--aside .listItem .thumb {
  width: 160px;
  height: 100px;
}

@media screen and (max-width: 767px) {
  .p-blogList--aside .listItem .thumb {
    padding-top: 10px;
    width: 80px;
    height: 50px;
  }
}

.p-blogList--aside .listItem .thumb img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.p-blogList--aside .listItem .detailArea {
  padding: 20px;
  width: 660px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-right: 1px solid #eee;
}

@media screen and (max-width: 767px) {
  .p-blogList--aside .listItem .detailArea {
    padding: 9px 0 12px 10px;
    width: calc( 100% - 80px);
    border-right: none;
  }
}

.p-blogList--aside .listItem .detailArea .statusArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-blogList--aside .listItem .detailArea .statusArea .date {
  margin-bottom: 0.5em;
  width: 9.5em;
  color: #879eb0;
  font-weight: bold;
  font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
  .p-blogList--aside .listItem .detailArea .statusArea .date {
    padding-top: 4px;
    font-size: 1rem;
  }
}

.p-blogList--aside .listItem .detailArea .title {
  margin-bottom: 0;
  font-size: 1.5rem;
  line-height: 1.6;
  padding-top: 0;
}

@media screen and (max-width: 767px) {
  .p-blogList--aside .listItem .detailArea .title {
    font-size: 1.4rem;
    line-height: 1.4;
  }
}

.p-blogList--aside .listItem .detailArea .title::before, .p-blogList--aside .listItem .detailArea .title::after {
  display: none;
}

.p-blogList--aside .listItem .writerArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 150px;
}

@media screen and (max-width: 767px) {
  .p-blogList--aside .listItem .writerArea {
    padding: 5px 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: 100%;
    border-top: 1px solid #eee;
  }
}

.p-blogList--aside .listItem .writerArea .icon {
  display: block;
  width: 40px;
  height: 40px;
  overflow: hidden;
  border-radius: 20px;
}

@media screen and (max-width: 767px) {
  .p-blogList--aside .listItem .writerArea .icon {
    width: 24px;
    height: 24px;
    border-radius: 12px;
  }
}

.p-blogList--aside .listItem .writerArea .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-blogList--aside .listItem .writerArea .name {
  display: block;
  font-size: 1.1rem;
  font-weight: bold;
  margin-top: 0.2em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-blogList--aside .listItem .writerArea .name {
    margin-top: 0;
    margin-left: 0.8em;
    font-size: 1rem;
  }
}

/* ----------
 新着情報
---------- */
.p-newsList {
  display: block;
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .p-newsList {
    margin-bottom: 50px;
  }
}

.p-newsList .listItem {
  display: block;
  position: relative;
  padding: 20px 0;
  width: 100%;
  border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
  .p-newsList .listItem {
    width: auto;
  }
}

.p-newsList .listItem:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  background-color: #1649a5;
  width: 40px;
  height: 1px;
}

.p-newsList .listItem:nth-child(1) {
  border-top: 1px solid #ddd;
}

.p-newsList .listItem:nth-child(1):after {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0;
  background-color: #1649a5;
  width: 40px;
  height: 1px;
}

.p-newsList .listItem a {
  display: block;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
}

.p-newsList .listItem a:hover {
  text-decoration: none;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  opacity: 0.65;
}

.p-newsList .listItem .listItemHeader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-newsList .listItem .date {
  display: block;
  margin-bottom: 0.5em;
  padding-top: 0.1em;
  width: 9.5em;
  color: #879eb0;
  font-weight: bold;
  font-size: 1.3rem;
}

.p-newsList .listItem .title {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.4;
  padding-top: 0;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .p-newsList .listItem .title {
    font-size: 1.4rem;
  }
}

.p-newsList .listItem .title::before, .p-newsList .listItem .title::after {
  display: none;
}

/* ----------
 BLOG、新着情報詳細
---------- */
.p-articleHeader {
  display: block;
  position: relative;
  margin-bottom: 50px;
  padding: 30px 0;
  border-top: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
}

@media screen and (max-width: 767px) {
  .p-articleHeader {
    /*padding: 20px 0 30px;*/
    padding: 20px 0 15px;/* 20220428追記 */
  }
}

.p-articleHeader::before {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  left: 0;
  width: 150px;
  height: 2px;
  background-color: #dd2a7b;
}

@media screen and (max-width: 767px) {
  .p-articleHeader::before {
    width: 75px;
  }
}

.p-articleHeader .statusArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 12px;
}

.p-articleHeader .date {
  width: 9em;
  color: #879eb0;
  font-size: 1.3rem;
  font-weight: bold;
}

.p-articleHeader h2.title {
  padding: 0;
  margin: 0;
  font-size: 2.8rem;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .p-articleHeader h2.title {
    font-size: 2.2rem;
    line-height: 1.6;
  }
}

.p-articleHeader h2.title::before, .p-articleHeader h2.title::after {
  display: none;
}

.p-articleHeader .snsBtnArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 20px -3px 0;
  flex-wrap: wrap;/* 20220428追記 */
}

.p-articleHeader .snsBtnArea .snsBtn {
  display: block;
  margin: 0 3px;
}

.p-articleHeader .snsBtnArea .snsBtn.hatena > iframe {
  display: block !important;
}

.p-articleBody {
  padding-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .p-articleBody {
    padding-bottom: 0;
  }
}

.p-articleWriter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 80px;
  padding: 20px 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
  .p-articleWriter {
    margin-bottom: 0;
    border-bottom: none;
  }
}

.p-articleWriter .icon {
  display: block;
  margin-right: 30px;
  width: 80px;
  height: 80px;
  border-radius: 40px;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-articleWriter .icon {
    margin-right: 20px;
  }
}

.p-articleWriter .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-articleWriter .detailArea .name {
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-articleWriter .detailArea .name {
    font-size: 1.6rem;
  }
}

.p-articleWriter .detailArea .text {
  margin-top: 0.2em;
  font-size: 1.4rem;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .p-articleWriter .detailArea .text {
    font-size: 1.2rem;
  }
}

.p-articleWriter .detailArea .link {
  position: relative;
  padding-left: 25px;
  margin-top: 1em;
  padding-left: 20px;
  font-size: 1.4rem;
  line-height: 1.4;
}

.p-articleWriter .detailArea .link::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 0.45em;
  width: 6px;
  height: 6px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .p-articleWriter .detailArea .link::before {
    left: 7px;
  }
}

@media screen and (max-width: 767px) {
  .p-articleWriter .detailArea .link a {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .p-articleWriter .detailArea .link {
    font-size: 1.2rem;
  }
}

.p-articleWriter .detailArea .link::before {
  left: 0;
}

.p-articleWriter .detailArea .link a {
  font-weight: normal;
  text-decoration: underline;
  color: #1649a5;
}

.p-articleWriter .detailArea .link a:hover {
  text-decoration: none;
}

/* ----------
 フォーム
---------- */
.p-formHeader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {
  .p-formHeader {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-formHeader .lead {
  margin-bottom: 60px;
  width: 550px;
  font-size: 1.6rem;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .p-formHeader .lead {
    margin-bottom: 40px;
    width: 100%;
    font-size: 1.4rem;
  }
}

.p-formHeader .lead em {
  font-weight: bold;
}

.p-formHeader .error {
  display: block;
  font-weight: bold;
  color: #cb1212;
}

.p-formHeader .flowList {
  width: 396px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .p-formHeader .flowList {
    margin-bottom: 20px;
    width: 100%;
  }
}

.p-formHeader .flowList li {
  position: relative;
  margin-top: 0 !important;
  padding: 0 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 120px;
  height: 40px;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  background-color: #d8dfe4;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-formHeader .flowList li {
    padding: 0.3em 0 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .p-formHeader .flowList li {
    width: 30%;
    font-size: 1.4rem;
  }
}

.p-formHeader .flowList li::before {
  display: none !important;
}

.p-formHeader .flowList li::after {
  content: "";
  display: block;
  position: absolute;
  top: 14px;
  left: -12px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #d8dfe4;
}

.p-formHeader .flowList li:first-child::after {
  display: none;
}

.p-formHeader .flowList li.current {
  background-color: #eb7fb0;
}

.p-formHeader .flowList li.current::after {
  border-color: transparent transparent transparent #eb7fb0;
}

.p-formBody {
  padding-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .p-formBody {
    padding-bottom: 60px;
  }
}

.p-formBody .error {
  margin-bottom: 0.5em;
  display: block;
  font-weight: bold;
  color: #cb1212;
}

.p-formBody .horizontal-item {
  display: inline-block;
  margin-right: 30px;
}

@media screen and (max-width: 767px) {
  .p-formBody .horizontal-item {
    display: block;
    margin-right: 0;
    margin-bottom: 10px;
  }
}

.p-formBody .horizontal-item:last-child {
  margin-right: 0;
}

@media screen and (max-width: 767px) {
  .p-formBody .horizontal-item:last-child {
    margin-bottom: 0;
  }
}

.p-formBody .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}

.p-formBody input[type="text"],
.p-formBody input[type="email"],
.p-formBody input[type="number"],
.p-formBody textarea {
  padding: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fafafa;
  -webkit-appearance: none;
  border: 1px solid #eee;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 0;
  font-size: 1.6rem;
  width: 100%;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-formBody input[type="text"],
  .p-formBody input[type="email"],
  .p-formBody input[type="number"],
  .p-formBody textarea {
    padding: 14px 10px;
  }
}

@media screen and (max-width: 767px) {
  .p-formBody input[type="text"],
  .p-formBody input[type="email"],
  .p-formBody input[type="number"],
  .p-formBody textarea {
    font-size: 1.4rem;
  }
}

.p-formBody input[type="text"]::-webkit-input-placeholder,
.p-formBody input[type="email"]::-webkit-input-placeholder,
.p-formBody input[type="number"]::-webkit-input-placeholder,
.p-formBody textarea::-webkit-input-placeholder {
  color: #aaa;
}

.p-formBody input[type="text"]:-ms-input-placeholder,
.p-formBody input[type="email"]:-ms-input-placeholder,
.p-formBody input[type="number"]:-ms-input-placeholder,
.p-formBody textarea:-ms-input-placeholder {
  color: #aaa;
}

.p-formBody input[type="text"]::-ms-input-placeholder,
.p-formBody input[type="email"]::-ms-input-placeholder,
.p-formBody input[type="number"]::-ms-input-placeholder,
.p-formBody textarea::-ms-input-placeholder {
  color: #aaa;
}

.p-formBody input[type="text"]::placeholder,
.p-formBody input[type="email"]::placeholder,
.p-formBody input[type="number"]::placeholder,
.p-formBody textarea::placeholder {
  color: #aaa;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-formBody label {
    padding-top: 0.2em;
  }
}

.p-formBody label .mwform-radio-field-text,
.p-formBody label .mwform-checkbox-field-text {
  display: inline-block;
  position: relative;
  padding-left: 24px;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-formBody label .mwform-radio-field-text,
  .p-formBody label .mwform-checkbox-field-text {
    padding-top: 0.3em;
  }
}

.p-formBody label .mwform-radio-field-text::before,
.p-formBody label .mwform-checkbox-field-text::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -8px;
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
}

.p-formBody label .mwform-radio-field-text::before {
  background-image: url(/assets/images/common/com_icon_radio_off.png);
}

.p-formBody label .mwform-checkbox-field-text::before {
  background-image: url(/assets/images/common/com_icon_checkbox_off.png);
}

.p-formBody label input[type="checkbox"] {
  display: none;
}

.p-formBody label input[type="checkbox"]:checked + .mwform-checkbox-field-text {
  color: #1649a5;
}

.p-formBody label input[type="checkbox"]:checked + .mwform-checkbox-field-text::before {
  background-image: url(/assets/images/common/com_icon_checkbox_on.png);
}

.p-formBody label input[type="radio"] {
  display: none;
}

.p-formBody label input[type="radio"]:checked + .mwform-radio-field-text {
  color: #1649a5;
}

.p-formBody label input[type="radio"]:checked + .mwform-radio-field-text::before {
  background-image: url(/assets/images/common/com_icon_radio_on.png);
}

.p-formBody .number input[type="number"] {
  width: 7.5em;
}

.p-formBody table.formTable {
  margin-bottom: 60px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-formBody table.formTable {
    margin-bottom: 30px;
    border-top: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-left: 1px solid #ddd;
    border-bottom: none;
  }
}

.p-formBody table.formTable th, .p-formBody table.formTable td {
  white-space: normal;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.6;
  border: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
  .p-formBody table.formTable th, .p-formBody table.formTable td {
    display: block;
    font-size: 1.4rem;
    border-top: none;
    border-right: none;
    border-left: none;
    border-bottom: 1px solid #ddd;
  }
}

.p-formBody table.formTable th {
  padding: 18px 70px 18px 20px;
  width: 300px;
  text-align: left;
  font-weight: bold;
  background-color: #eef2f5;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-formBody table.formTable th {
    padding: 22px 70px 14px 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-formBody table.formTable th {
    padding: 14px 70px 14px 12px;
    width: 100%;
  }
}

.p-formBody table.formTable th.required {
  position: relative;
  z-index: -1;
}

.p-formBody table.formTable th.required::before {
  content: "必須";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 18px;
  right: 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #cb1212;
  width: 44px;
  height: 24px;
  border-radius: 12px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 1.3rem;
  font-weight: bold;
  color: #cb1212;
  background-color: #fff;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-formBody table.formTable th.required::before {
    padding-top: 0.3em;
  }
}

@media screen and (max-width: 767px) {
  .p-formBody table.formTable th.required::before {
    top: 12px;
    right: 10px;
  }
}

.p-formBody table.formTable td {
  padding: 18px 20px;
  width: 700px;
  vertical-align: middle;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-formBody table.formTable td {
    padding: 22px 20px 14px;
  }
}

@media screen and (max-width: 767px) {
  .p-formBody table.formTable td {
    padding: 14px 12px;
    width: 100%;
  }
}

.p-formBody table.formTable td .text {
  padding: 8px 1em;
  display: inline-block;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-formBody table.formTable td .text {
    padding: 12px 1em 4px;
  }
}

.p-formBody table.formTable .formInner {
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .p-formBody table.formTable .formInner {
    margin-bottom: 10px;
  }
}

.p-formBody table.formTable .formInner:last-child {
  margin-bottom: 0;
}

.p-formBody table.formTable .formInner p {
  margin-bottom: 0;
}

.p-formBody .textArea {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 25px;
}

@media screen and (max-width: 767px) {
  .p-formBody .textArea {
    font-size: 1.4rem;
    line-height: 1.4;
    margin-bottom: 20px;
  }
}

.p-formBody .textArea a {
  color: #1649a5;
  text-decoration: underline;
}

.p-formBody .textArea a:hover {
  text-decoration: none;
}

.p-formBody .consentArea {
  padding: 23px;
  font-size: 1.6rem;
  line-height: 1.6;
  width: 100%;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
  .p-formBody .consentArea {
    margin-bottom: 30px;
    font-size: 1.4rem;
    line-height: 1.4;
  }
}

.p-formBody .consentArea .horizontal-item {
  margin-bottom: 0;
}

.p-formBody .btnArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-formBody .btnArea {
    display: block;
  }
}

.p-formBody .btnArea input[type="submit"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 28px 20px 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 400px;
  height: 60px;
  border: 1px solid #1649a5;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: left 20px top 24px;
  background-size: 8px 12px;
  background-image: url(/assets/images/common/com_icon_ar_submit_l.png);
  border-radius: 30px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  color: #1649a5;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .p-formBody .btnArea input[type="submit"] {
    padding-top: 0.3em;
  }
}

@media screen and (max-width: 767px) {
  .p-formBody .btnArea input[type="submit"] {
    margin: 10px 0 0;
    width: 100%;
    font-size: 1.4rem;
  }
}

.p-formBody .btnArea input[type="submit"]:hover {
  opacity: 0.7;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

.p-formBody .btnArea input[type="submit"].next {
  background-color: #1649a5;
  background-position: right 20px top 24px;
  background-image: url(/assets/images/common/com_icon_ar_submit_r.png);
  color: #fff;
}

.p-formBody .telArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .p-formBody .telArea {
    margin-bottom: 40px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-formBody .telArea dt,
.p-formBody .telArea dd {
  margin-top: 0 !important;
  padding: 20px;
  border: 1px solid #ddd;
  font-size: 1.6rem;
  font-weight: bold;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .p-formBody .telArea dt,
  .p-formBody .telArea dd {
    padding: 14px;
    font-size: 1.4rem;
  }
}

.p-formBody .telArea dt a,
.p-formBody .telArea dd a {
  text-decoration: underline;
  color: #1649a5;
}

.p-formBody .telArea dt {
  background-color: #eef2f5;
  border-right: none;
  width: 30%;
}

@media screen and (max-width: 767px) {
  .p-formBody .telArea dt {
    border-right: 1px solid #ddd;
    border-bottom: none;
    width: 100%;
  }
}

.p-formBody .telArea dd {
  width: 70%;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .p-formBody .telArea dd {
    width: 100%;
  }
}

.p-formBody .navArea .btn a {
  display: block;
  position: relative;
  padding-right: 20px;
  padding: 15px 40px 15px 20px;
  margin: auto;
  background-color: #ffffff;
  border: 1px solid #bdbdbd;
  border-radius: 60px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #1649a5;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
  font-size: 1.6rem;
  width: 400px;
  text-align: center;
  text-decoration: none;
}

.p-formBody .navArea .btn a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-top: -4px;
  border-top: 2px solid #1649a5;
  border-right: 2px solid #1649a5;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .p-formBody .navArea .btn a a {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .p-formBody .navArea .btn a {
    width: 100%;
  }
}

.p-formBody .navArea .btn a::before {
  right: 20px;
}

.p-formBody .navArea .btn a:hover {
  text-decoration: none;
  background-color: #eef2f5;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
}

.p-formBody .navArea .btn a[target="_blank"]::before, .p-formBody .navArea .btn a[href$=".pdf"]::before, .p-formBody .navArea .btn a[href$=".doc"]::before, .p-formBody .navArea .btn a[href$=".docx"]::before, .p-formBody .navArea .btn a[href$=".pptx"]::before, .p-formBody .navArea .btn a[href$=".ppt"]::before, .p-formBody .navArea .btn a[href$=".odp"]::before, .p-formBody .navArea .btn a[href$=".xls"]::before, .p-formBody .navArea .btn a[href$=".xlsx"]::before, .p-formBody .navArea .btn a[href$=".zip"]::before {
  content: none;
}

.p-formBody .navArea .btn a[target="_blank"]::after, .p-formBody .navArea .btn a[href$=".pdf"]::after, .p-formBody .navArea .btn a[href$=".doc"]::after, .p-formBody .navArea .btn a[href$=".docx"]::after, .p-formBody .navArea .btn a[href$=".pptx"]::after, .p-formBody .navArea .btn a[href$=".ppt"]::after, .p-formBody .navArea .btn a[href$=".odp"]::after, .p-formBody .navArea .btn a[href$=".xls"]::after, .p-formBody .navArea .btn a[href$=".xlsx"]::after, .p-formBody .navArea .btn a[href$=".zip"]::after {
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -6px;
  margin-right: 0;
}

.p-formBody--confirmation input[type="text"],
.p-formBody--confirmation input[type="email"],
.p-formBody--confirmation input[type="number"],
.p-formBody--confirmation textarea,
.p-formBody--confirmation .consentArea,
.p-formBody--confirmation table.formTable th.required::before,
.p-formBody--confirmation table.formTable td .text,
.p-formBody--confirmation table.formTable .formInner {
  display: none;
}

.p-formBody--confirmation table.formTable {
  margin-bottom: 32px;
}

.p-formBody--complete table.formTable,
.p-formBody--complete textarea,
.p-formBody--complete .consentArea,
.p-formBody--complete .btnArea {
  display: none;
}

/* ----------
 検索結果
---------- */
.highlight {
  font-weight: bold;
  background-color: #ffe6e5;
}

.p-searchResultArea {
  background-color: #fff;
}

.p-searchResultArea .inner {
  padding: 40px;
  font-size: 1.6rem;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .p-searchResultArea .inner {
    padding: 20px 15px;
    font-size: 1.4rem;
  }
}

.p-searchResultArea .inner .title {
  margin-bottom: 1em;
  font-size: 2rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-searchResultArea .inner .title {
    font-size: 1.6rem;
  }
}

.p-searchResultArea .inner ul {
  margin-top: 0.5em;
  list-style: none;
}

.p-searchResultArea .inner ul li {
  position: relative;
  padding-left: 1.5em;
}

.p-searchResultArea .inner ul li::before {
  content: "・";
  text-align: center;
  position: absolute;
  left: 0;
  width: 1em;
  color: #1649a5;
  font-weight: bold;
}

.p-searchResultList {
  display: block;
  margin-bottom: 40px;
  border-top: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
  .p-searchResultList {
    margin-bottom: 30px;
  }
}

.p-searchResultList .listItem {
  display: block;
}

.p-searchResultList .listItem a {
  display: block;
  padding: 20px;
  width: 100%;
  border-bottom: 1px solid #ddd;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .p-searchResultList .listItem a {
    padding: 20px 10px;
  }
}

.p-searchResultList .listItem a:hover {
  text-decoration: none;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  opacity: 0.65;
}

.p-searchResultList .listItem a .title {
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: bold;
  color: #1649a5;
}

@media screen and (max-width: 767px) {
  .p-searchResultList .listItem a .title {
    font-size: 1.6rem;
  }
}

.p-searchResultList .listItem a .text {
  margin-top: 0.5em;
  font-size: 1.6rem;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .p-searchResultList .listItem a .text {
    font-size: 1.4rem;
  }
}

/**
 * Other
 */
/**
 * Utility
 */
@media screen and (max-width: 767px) {
  .u-pcOnly {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .u-spOnly {
    display: none !important;
  }
}

/**
 * keyframes
 */
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes fadeInPagetop {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.75;
  }
}

@keyframes fadeInPagetop {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.75;
  }
}
/* TOPページソリューションメニュー用 20220301追加 */
.box-solution {
	margin-top: 40px;
}
.box-solution h3 {
	text-align: center;
	line-height: 1.4;
    font-size: 2.3rem;
    font-weight: bold;
	margin-bottom: .6em;
}
.box-inner-solution {
	display: flex;
	font-size: 1.8rem;
	flex-wrap: wrap;
	align-items: center;
}
.box-inner-solution li {
	display: table;
	width: 49%;
	line-height: 1.3;
	margin-bottom: .4em;
	margin-right: .5%;
}
.box-inner-solution li:last-of-type {
	margin-right: 0;
}
.box-inner-solution li a {
	display: table-cell;
	font-weight: bold;
	position: relative;
	padding: 0 2em 0 1.4em;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 100vw;
	height: 3.4em;
	text-align: center;
	vertical-align: middle;
}
.box-inner-solution li a strong {
	color: #0736ab;
}
.box-inner-solution li a::after {
	content: "";
    position: absolute;
    right: .6em;
    top: 50%;
    width: 5px;
    height: 5px;
    margin-top: -4px;
    border-top: 2px solid #1649a5;
    border-right: 2px solid #1649a5;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle;
}
.box-inner-solution li a:hover {
	text-decoration: none;
	background: #eef2f5;
}
.box-plan {
	margin-top: 40px;
}
.box-plan h3 {
	text-align: center;
	line-height: 1.4;
    font-size: 2.3rem;
    font-weight: bold;
	margin-bottom: .6em;
}
.box-inner-plan {
	display: flex;
	font-size: 1.6rem;
	flex-wrap: wrap;
	align-items: center;
}
.box-inner-plan li {
	width: 33%;
	line-height: 1.4;
	margin-bottom: .4em;
	margin-right: .5%;
}
.box-inner-plan li:nth-child(3n) {
	margin-right: 0;
}
.box-inner-plan a {
	display: flex;
	align-items: center;
	font-weight: bold;
	position: relative;
	padding: 0 2em 0 1.4em;
	flex: 1;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 100vw;
	height: 4em;
	text-align: center;
	justify-content:center;
	flex-direction: column;
}
.box-inner-plan a span {
	color: #1649a5;
	font-size: 1.2em;
}
.box-inner-plan a::after {
	content: "";
    position: absolute;
    right: .6em;
    top: 50%;
    width: 5px;
    height: 5px;
    margin-top: -4px;
    border-top: 2px solid #1649a5;
    border-right: 2px solid #1649a5;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle;
}
.box-inner-plan a:hover {
	text-decoration: none;
	background: #eef2f5;
}
@media screen and (max-width: 767px) {
	.box-inner-solution {
        font-size: 1.4rem;
    }
	.box-inner-solution li {
        width: 100%;
    }
	.box-inner-plan {
        font-size: 1.4rem;
    }
	.box-inner-plan li {
        width: 100%;
    }
}
/* ステップ枠表示 */
.box-step {
	font-size: 1.8rem;
}
.box-inner-step {
	display: flex;
    justify-content: space-between;
    margin-bottom: .6em;
    flex-wrap: nowrap;
}
.box-inner-step dt {
	position: relative;
    display: flex;
    margin: 0;
    padding: 0 .6em;
    justify-content: center;
    align-items: center;
    background: #0c53a8;
    color: #fff;
    width: 15%;
}
.box-inner-step dt::after {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 7px 0 7px;
    border-color: #0c53a8 transparent transparent transparent;
    transform: translateX(-50%);
}
.box-inner-step:last-child dt::after {
    content: none;
}
.box-inner-step dd {
	font-size: .9em;
    border: 1px solid #0c53a8;
    background: #fff;
    padding: .6em;
    width: 85%;
    line-height: 1.4em;
}
.box-inner-step dd strong {
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.box-step {
        font-size: 1.6rem;
    }
}
/* 背景画像＋見出しリンク */
.wrap-cul-box h3 {
	text-align: center;
	line-height: 1.4;
    font-size: 2.3rem;
    font-weight: bold;
	margin-bottom: .6em;
}
.wrap-3cul-box {
	display: flex;
    justify-content: space-between;
    margin-bottom: 2em;
    flex-wrap: wrap;
}
.wrap-3cul-box dl {
	position: relative;
    margin-bottom: 1em;
	width: 33%;
}
.wrap-3cul-box dl a {
	display: block;
    width: 100%;
    height: 100%;
}
.wrap-3cul-box dl dt {
  position: absolute;
  background: rgba(255,255,255,0.85);
  bottom: 0;
  text-align: center;
  width: 100%;
  line-height: 1.4em;
  font-size: 1.8rem;
  font-weight: bold;
  color: #333;
  z-index: 1;
  padding: .8em 0;
}
.wrap-3cul-box dl dt strong {
	color: #0c53a8;
}
.wrap-3cul-box dl dt::after {
  position: absolute;
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-top: 2px solid #0c53a8;
  border-right: 2px solid #0c53a8;
  right: 1em;
  top: 50%;
  -webkit-transform: rotate(45deg) translateY(-50%);
  transform: rotate(45deg) translateY(-50%);
}
.wrap-3cul-box dl dd {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
	.wrap-3cul-box {
        flex-direction: column;
    }
	.wrap-3cul-box dl {
		width: 100%;
	}
}
.singular-3cul-box {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-bottom: 2em;
	font-size: 1.6rem;
	line-height: 1.4;
}
.singular-3cul-box dl {
	box-sizing: border-box;
	position: relative;
	margin-bottom: 1em;
	width: 32.5%;
	border: 1px solid #0c53a8;
	border-left: 3px solid #0c53a8;
	padding: .6em;
	margin-right: 1%;
}
.singular-3cul-box dl:nth-child(3n) {
	margin-right: 0;
}
.singular-3cul-box a {
	display: block;
	width: 100%;
	height: 100%;
}
.singular-3cul-box a:hover {
	text-decoration: none;
}
.singular-3cul-box dt {
	position: relative;
	display: flex;
	align-items: center;
	font-weight: bold;
	border-bottom: 1px solid #ccc;
	height: 3.6em;
	color: #0c53a8;
	margin-bottom: .6em;
	padding-left: .5em;
}
.singular-3cul-box dt::after {
	position: absolute;
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #0c53a8;
    border-right: 2px solid #0c53a8;
    right: .5em;
    top: 50%;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}

.singular-3cul-box dd {
	font-size: .9em;
	font-weight: normal;
}
@media screen and (max-width: 767px) {
	.singular-3cul-box {
        flex-direction: column;
    }
    .singular-3cul-box dl {
        width: 100%;
		margin-bottom: .4em;
		margin-left: 0;
    }
}
/* 画像サイズ */
.img-w20per {
	width: 20% !important;
}
.img-w30per {
	width: 30% !important;
}
.img-w40per {
	width: 40% !important;
}
@media screen and (max-width: 767px) {
  .img-w20per,.img-w30per,.img-w40per {
      width: auto !important;
  }
}

/* **********************
新TOP用（2022.06追加）
********************* */
/* マージン・パディング */
.mb0em {margin-bottom: 0 !important;}
.mb02em {margin-bottom: .2em !important;}
.mb04em {margin-bottom: .4em !important;}
.mb06em {margin-bottom: .6em !important;}
.mb08em {margin-bottom: .8em !important;}
.mb1em {margin-bottom: 1em !important;}
.mb2em {margin-bottom: 2em !important;}
.mb3em {margin-bottom: 3em !important;}
.mb4em {margin-bottom: 4em !important;}
.mb5em {margin-bottom: 5em !important;}
.mb6em {margin-bottom: 6em !important;}
.mb7em {margin-bottom: 7em !important;}
.mb8em {margin-bottom: 8em !important;}
/* タイトル・テキスト周り */
.txt-c {text-align: center;}
.txt-r {text-align: right;}
.txt-l {text-align: left;}
.lead-txt {
	font-size: 1.6rem;
	line-height: 1.6;
	margin-bottom: 1em;
}
.tit-big {
	font-size: 2.8rem;
	margin-bottom: .67em;
	font-weight: bold;
}
.tit-middle {
	font-size: 2.3rem;
	margin-bottom: .83em;
	font-weight: bold;
}
.tit-small {
	font-size: 2rem;
	margin-bottom: .83em;
	font-weight: bold;
}
.tit-big-uline {
	position: relative;
	font-size: 2.8rem;
	padding-bottom: .67em;
	margin-bottom: .67em;
	font-weight: bold;
	text-align: center;
}
.tit-big-uline::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 30px;
	height: 4px;
	background: #dd2a7b;
	transform: translateX(-50%);
}
.tit-middle-uline {
	position: relative;
	font-size: 2.3rem;
	padding-bottom: .83em;
	margin-bottom: .83em;
	font-weight: bold;
	text-align: center;
}
.tit-middle-uline::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 30px;
	height: 4px;
	background: #dd2a7b;
	transform: translateX(-50%);
}
.tit-small-uline {
	position: relative;
	font-size: 2rem;
	padding-bottom: .83em;
	margin-bottom: .83em;
	font-weight: bold;
	text-align: center;
}
.tit-small-uline::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 30px;
	height: 4px;
	background: #dd2a7b;
	transform: translateX(-50%);
}
/* ボタン関連 */
.btn-w40-blue a,
.btn-w50-blue a,
.btn-w65-blue a,
.btn-w80-blue a,
.btn-w90-blue a,
.btn-w100-blue a {
	box-sizing: border-box;
	display: block;
	position: relative;
	background: #1649a5;
	text-align: center;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	padding: 1em;
	width: 50%;
	margin: 0 auto 1em;
	border-radius: 100vh;
}
.btn-w40-blue a:hover,
.btn-w50-blue a:hover,
.btn-w65-blue a:hover,
.btn-w80-blue a:hover,
.btn-w90-blue a:hover,
.btn-w100-blue a:hover {
	text-decoration: none;
}
.btn-w40-blue a::after,
.btn-w50-blue a::after,
.btn-w65-blue a::after,
.btn-w80-blue a::after,
.btn-w90-blue a::after,
.btn-w100-blue a::after {
	position: absolute;
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    right: 1em;
    top: 50%;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}
.btn-w40-blue a {width: 40%;}
.btn-w50-blue a {width: 50%;}
.btn-w65-blue a {width: 65%;}
.btn-w80-blue a {width: 80%;}
.btn-w90-blue a {width: 90%;}
.btn-w100-blue a {width: 100%;}
@media screen and (max-width: 767px) {
	/* ボタン関連 */
	.btn-w40-blue a,
    .btn-w50-blue a,
    .btn-w65-blue a,
    .btn-w80-blue a,
    .btn-w90-blue a {
        width: 100%;
    }
}
/* *******************
メインビジュアル・FV
******************* */
.top-fv {
	position: relative;
}
.catch-fv {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.catch-fv .inner-catch-fv {
	position: relative;
	width: 1000px;
	height: 100%;
	margin: 0 auto;
	z-index: 10;
}
.catch-fv .tit-fv {
	position: absolute;
	bottom: 20%;
	right: 0;
	font-size: 4.3rem;
	color: #000;
	font-weight: bold;
	line-height: 1.2;
	background: #fff;
	opacity: .8;
	padding: 1rem 1.4rem;
}
.catch-fv .tit-fv .subtit-fv {
	font-size: 3rem;
}
.img-fv {
	position: relative;
}

.mv_contact {
	position: absolute;
	bottom: 3%;
	right: 0;
	width: 348px;
}

.mv_contact img {
	width: 100%;
}


@media screen and (max-width: 767px) {
	.catch-fv .inner-catch-fv {
        width: 100%;
    }
	.catch-fv .tit-fv {
        font-size: 2.2rem;
		bottom: 20%;
    }
	.catch-fv .tit-fv .subtit-fv {
        font-size: 1.6rem;
    }

	.mv_contact {
		width: 240px;
	}
}
/* ファーストビュー（ズーム効果用） */
.main-img {
    position: relative;
	overflow: hidden;
	width: 100%;
	height: 70vh;
	max-height: 600px;
}
.main-img img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
	-webkit-animation: anime 36s 0s infinite;
    animation: anime 36s 0s infinite;
	opacity: 0;
}
.main-img::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: .6;
}
.main-img img:nth-of-type(2) {
      -webkit-animation-delay: 6s;
      animation-delay: 6s; }

    .main-img img:nth-of-type(3) {
      -webkit-animation-delay: 12s;
      animation-delay: 12s; }

    .main-img img:nth-of-type(4) {
      -webkit-animation-delay: 18s;
      animation-delay: 18s; }

    .main-img img:nth-of-type(5) {
      -webkit-animation-delay: 24s;
      animation-delay: 24s; }

    .main-img img:nth-of-type(6) {
      -webkit-animation-delay: 30s;
      animation-delay: 30s;
}
@keyframes anime {
  0% {
        opacity: 0;
    }
    8% {
        opacity: 0.7;
    }
    17% {
        opacity: 0.9;
    }
    25% {
        opacity: 0;
        transform: scale(1.1) ;
         z-index:9;
    }
    100% { opacity: 0 }
}
@media screen and (max-width: 767px) {
	.main-img {
        height: 40vh;
        max-height: 500px;
    }
	.main-img img {
		object-fit: cover;
	}
}
/* *******************
セクション周り 
******************* */
.sect-topcontents {
	padding: 6em 0 4em;
	border-bottom: 1px solid #eaeaea;
}
.sect-topcontents.last-type {
	border-bottom: none;
}
.sect-topcontents .inner-topcontents {
	width: 1000px;
	margin: 0 auto;
}
/* 列カラム共通 */
.rev {
	flex-direction: row-reverse;
}
/* 2列カラム */
.wrap-col2-box {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 4em;
}
.inner-col2-box {
	width: 49.2%;
}
/* 可変2カラム用 */
.inner-col2-box.w60per {
	width: 59%;
}
.inner-col2-box.w40per {
	width: 39%;
}
.inner-col2-box.w70per {
	width: 69%;
}
.inner-col2-box.w30per {
	width: 29%;
}
/* 3列カラム */
.wrap-col3-box {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 4em;
}
.inner-col3-box {
	width: 32.5%;
}
/* 4列カラム（SPスクロール） */
.wrap-col4-scroll {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 4em;
}
.inner-col4-scroll {
	width: 24%;
}
@media screen and (max-width: 767px) {
	/* セクション周り */
	.sect-topcontents .inner-topcontents {
        width: 92vw;
        margin: 0 auto;
    }
	/* 2列カラム */
    .wrap-col2-box {
        display: block;
    }
    .inner-col2-box {
        width: 100%;
    }
	/* 可変2カラム用 */
    .inner-col2-box.w60per,
    .inner-col2-box.w40per,
    .inner-col2-box.w70per,
    .inner-col2-box.w30per {
        width: 100%;
    }
	/* 3列カラム */
    .wrap-col3-box {
        display: block;
    }
    .inner-col3-box {
        width: 100%;
    }
	/* 4列カラム（SPスクロール） */
	.wrap-col4-scroll {
        flex-wrap: nowrap;
        justify-content: flex-start;
        margin-bottom: 4em;
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
    }
    .inner-col4-scroll {
		flex: 0 0 auto;
        width: 75vw;
		margin-right: .8em;
    }
}
/* イベント情報 */
.doc-event-cont {
	
}
.doc-event-cont dt {
	margin-bottom: 1em;
}
.doc-event-cont dt img{
	width: 100%;
}
.doc-event-cont dd {
	font-size: 1.4rem;
	line-height: 1.6;
	font-weight: bold;
}

/* *******************
カラム内部パーツ 
******************* */
/* 画像付きリンクボックス（共通） */
.box-link-img {
	box-sizing: border-box;
	position: relative;
	margin-bottom: 1em;
	border: 1px solid #ccc;
}
.box-link-img dt > img {
	width: 100%;
}
/* 画像付きリンクボックス（横線あり） */
.box-link-img dd.bd-link-img {
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #fff;
	opacity: .8;
	color: #000;
	font-size: 1.8rem;
	font-weight: bold;
	border-left: 4px solid rgba(22,73,165,0.80);
	padding: 1em;
}
.box-link-img dd.bd-link-img strong {
	color: #1649a5;
}
.box-link-img dd.bd-link-img::after {
	position: absolute;
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #1649a5;
    border-right: 2px solid #1649a5;
    right: 1em;
    top: 50%;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}
/* 画像付きリンクボックス（横線なし・中央揃え） */
.box-link-img dd.bdnon-link-img {
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #fff;
	opacity: .8;
	color: #000;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 1em;
	text-align: center;
}
.box-link-img dd.bdnon-link-img strong {
	color: #1649a5;
}
.box-link-img dd.bdnon-link-img::after {
	position: absolute;
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #1649a5;
    border-right: 2px solid #1649a5;
    right: 1em;
    top: 50%;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}
.box-link-img dd .subtit-link-img {
	font-size: .8em;
}
/* 画像無しリンクボックス */
.box-linkbar {
	border: 1px solid #ccc;
	margin-bottom: 1em;
}
.box-linkbar a {
	position: relative;
	display: block;
	border-left: 4px solid #1649a5;
	background: #fff;
	color: #000;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 1em;
}
.box-linkbar a strong {
	color: #1649a5;
}
.box-linkbar a:hover {
	text-decoration: none;
}
.box-linkbar a::after {
	position: absolute;
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #1649a5;
    border-right: 2px solid #1649a5;
    right: 1em;
    top: 50%;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}

/* 画像＋説明文ボックス */
.box-img-doc {
	margin-bottom: 1em;
}
.box-img-doc dt {
	margin-bottom: 1em;
}
.box-img-doc dt > img {
	width: 100%;
}
.box-img-doc dd {
	font-size: 1.6rem;
	line-height: 1.6;
}
.box-img-doc dd strong {
	font-weight: bold;
	color: #1649a5;
	font-size: 1.7rem;
}

/* 縦中央配置用ボックス */
.v-center-box {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	justify-content: center;
}
.img-box {
	margin-bottom: 1em;
}
.img-box img {
	width: 100%;
}
@media screen and (max-width: 767px) {
	/* 画像付きリンクボックス（横線あり） */
    .box-link-img dd.bd-link-img {
        font-size: 1.6rem;
        padding: .6em 1em;
    }
    /* 画像付きリンクボックス（横線なし・中央揃え） */
    .box-link-img dd.bdnon-link-img {
        font-size: 1.6rem;
        padding: .6em 1em;
    }
	/* 画像無しリンクボックス */
    .box-linkbar a {
        font-size: 1.6rem;
        padding: .8em 1em;
    }
	/* 画像＋説明文ボックス */
	.box-img-doc dt {
        margin-bottom: .6em;
    }
    .box-img-doc {
        margin-bottom: 2.3em;
    }
}
/*******************************
TOPコースナビ 
********************************/
.navi-topcourse {
	background: #1649a5;
	margin-bottom: 240px;
}
.cont-topcourse {
	position: relative;
	width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
}
.cont-topcourse > li.link-topcourse {
	width: 16.6%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
.cont-topcourse > li.link-topcourse > a {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	color: #fff;
	font-weight: bold;
	padding: 1.6em 0 2em;
	line-height: 1.2;
	font-size: 1.4rem;
	text-align: center;
	transition: all 1s;
}
.cont-topcourse > li.link-topcourse > a:hover {
	text-decoration: none;
	background: #4277D9;
}
.cont-topcourse > li.link-topcourse > a.link-active {
	background: #4277D9;
}
.cont-topcourse > li > a::after {
	content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-bottom: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    left: 50%;
    bottom: .4em;
    transform: rotate(45deg) translateX(-50%);
}
.child-topcourse {
	position: absolute;
	top: 100%;
	left: 0;
	background: #f2f4f8;
	width: 100%;
	padding: 2em 3em;
	box-sizing: border-box;
	display: none;
}
.child-topcourse.link-child-active {
	display: block;
}
.inner-child-topcourse {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 2em;
}
.link-child-topcourse {
	width: 31%;
	border-right: 1px solid #ccc;
}
.link-child-topcourse:last-of-type {
	border-right: none;
}
.tit-child-topcourse {
	font-size: 1.6rem;
	font-weight: bold;
}
.link-child-topcourse > li {
	line-height: 1.8;
}
.link-child-topcourse > li > a {
	color: #1649a5;
	font-weight: bold;
	font-size: 1.4rem;
	text-decoration: underline;
}
.btn-more-topcourse a {
	display: block;
	width: 30%;
	padding: .6em 1em;
	background: #1649a5;
	color: #fff;
	text-align: center;
	margin: 0 auto;
	font-size: 1.4rem;
	border-radius: 100vh;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.navi-topcourse {
        display: none;
    }
}


/* 資料ダウンロード */


.catalog_area1 {}
.catalog_area1 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.catalog_area1 ul li {
	width: 48%;
	background: #f7f7f7;
	padding: 25px;
	list-style: none;
	margin: 0 auto 50px;
}

.catalog_area1 ul li::before {
	content: "" !important;
}

.catalog_area1 a::after,
.catalog_area1 a::before {
	content: "" !important;
	display: none !important;
}

.catalog_ttl {
	font-weight: bold;
	margin-bottom: 25px;
	font-size: 1.2em;
}

.catalog_ttl span {
	color: #dd2a7b;
}
.catalog_img {
	width: 100%;
	margin-bottom: 25px;
}
.catalog_txt {
	margin-bottom: 25px !important;
}
.dl_btn_area {
	display: flex;
	justify-content: center;
}

.dl_btn_area a {
	display: block;
	margin: 0 10px;
}

.dl_btn_area img {
	width: 125px;
}

@media screen and (max-width: 600px) {

	.catalog_area1 ul li {
		width: 100% !important;
	}
}