/* ------------------------------
    contents_wrap
------------------------------ */
.contents_wrap {
	padding: 90px 0 30px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

/* main
--------------------------------*/
.contents_wrap .main {
	width: 668px;
  display: flex;
  flex-direction: column;
}

.contents_wrap .main .mainttl {
	font-weight: bold;
	font-size: 3.2rem;
	line-height: 1.375;
	letter-spacing: 0.02em;
	padding-left: 25px;
	margin-bottom: 35px;
	border-left: 5px solid #5ac8ff;
}

.contents_wrap .main .block + .block{
	margin-top: 80px;
}
.contents_wrap .main .blockttl {
	background: #5ac8ff;
	font-weight: bold;
	font-size: 3rem;
	line-height: 1.35;
	letter-spacing: 0.02em;
	padding: 22px 25px;
	margin-bottom: 50px;
}

.contents_wrap .main .txt{
	font-size: 1.7rem;
	line-height: 2.1;
}

.contents_wrap .main > p + p,
.contents_wrap .main .block > p + p{
	margin-top: 25px;
}

/*link_box*/
.contents_wrap .main .link_box {
	margin-top: 50px;
}

.contents_wrap .main .link_box a {
	display: block;
	padding: 4px;
	background: url(../img/common/bg_stripe.png);
	position: relative;
	transition: background 0.2s linear;
}

.contents_wrap .main .link_box a:hover {
	background: #5ac8ff;
}

.contents_wrap .main .link_box a::before {
	content: "";
	width: 29px;
	height: 39px;
	background: url(../img/common/ico_link.svg) no-repeat center / 100% auto;
	position: absolute;
	left: 28px;
	top: 50%;
	transform: translateY(-50%);
}

.contents_wrap .main .link_box .boxin {
	background-color: #fff;
}

.contents_wrap .main .link_box .boxin .txt {
	font-weight: bold;
	font-size: 2.2rem;
	line-height: 1.5;
	letter-spacing: 0.18em;
	padding: 36px 85px;
}

/*profile_box*/
.contents_wrap .main .profile_box {
	padding: 4px;
	background: url(../img/common/bg_stripe.png);
	position: relative;
	transition: background 0.2s linear;
}

/* .contents_wrap .main .profile_box + .profile_box{ */
.contents_wrap .main .profile_box {
	margin-bottom: 60px;
}

.contents_wrap .main .profile_box .boxin{
	background-color: #fff;
	padding: 40px 40px 30px;
}

.contents_wrap .main .profile_box .position{
	margin-bottom: 10px;
}
.contents_wrap .main .profile_box .position span{
	display: inline-block;
	font-size: 1.6rem;
	padding: 2px 15px;
	background-color: #e1f5ff;
}

.contents_wrap .main .profile_box .name{
	font-weight: bold;
	font-size: 3.2rem;
	line-height: 1.8;
	letter-spacing: 0.12em;
	margin-bottom: 1em;
}

.contents_wrap .main .profile_box .name .en{
	display: block;
	color: #898989;
	font-weight: normal;
	font-size: 1.8rem;
	line-height: 1;
	letter-spacing: 0.08em;
}

.contents_wrap .main .profile_box .name a:hover {
	color: #5ac8ff;
}

.contents_wrap .main .profile_box .txt{
	color: #000000;
}

.contents_wrap .main .profile_box .txt a {
	color: #5ac8ff;
}
.contents_wrap .main .profile_box dl{
	border-top: 1px solid #dcdddd;
	padding-top: 30px;
	margin-top: 30px;
}
.contents_wrap .main .profile_box dl dt{
	color: #5ac8ff;
	font-weight: bold;
	font-size: 1.7rem;
	margin-bottom: .5em;
}

.contents_wrap .main .profile_box dl dd{
	font-size: 1.7rem;
}

.contents_wrap .main table td,
.contents_wrap .main table th {
  border: 1px solid #ccc;
  padding: 10px;
}

.contents_wrap .main .youtubeWrap {
  margin-bottom: 35px;
}

.contents_wrap .main .gmapWrap {
  width: 668px;
	height: 378px;
	margin-bottom: 75px;
}

.contents_wrap .main .gmapWrap .map-inner {
  width: 668px;
  height: 378px;
}

.contents_wrap .main .gmapWrap .jumpToGmap {
  display: block;
  padding-top: 15px;
}

.contents_wrap .main .gmapWrap .jumpToGmap a {
  text-decoration: none;
  color: #3e3a39;
  font-weight: bold;
  font-size: 16px;
  font-size: 1.6rem;
  -webkit-transition: color 0.2s linear;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  transition: color 0.2s linear;
  position: relative;
  padding-left: 35px;
}

.contents_wrap .main .gmapWrap .jumpToGmap a:hover {
  color: #5ac8ff;
}

.contents_wrap .main .gmapWrap .jumpToGmap a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -11px;
  width: 25px;
  height: 22px;
  background: url("../img/common/parts/webSmallAce.png") 0 0 no-repeat;
}

.contents_wrap .main h2 {
  background: #5ac8ff;
  padding: 25px 30px;
  font-size: 2.8rem;
  letter-spacing: 2px;
  font-weight: bold;
  color: #3d3938;
  margin-bottom: 55px;
}

.contents_wrap .main h3 {
  font-size: 26px;
  font-size: 2.6rem;
  letter-spacing: 2px;
  font-weight: bold;
  padding: 25px 0;
  border-top: 2px solid #5ac8ff;
  border-bottom: 1px solid #5ac8ff;
  margin-bottom: 35px;
}

.contents_wrap .main h4 {
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 2px;
  font-weight: bold;
  padding: 15px 0 25px;
}

.contents_wrap .main .listLay {
  margin-bottom: 35px;
  border: 1px solid #dcdddd;
  padding: 38px;
}

.contents_wrap .main .listLay li {
  list-style-position: inside;
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 1.8;
  padding-left: 28px;
  background: url("../img/common/parts/postListAce.png") 0 0.4em no-repeat;
  margin-top: 20px;
}

.contents_wrap .main .listLay li:first-child {
  margin: 0;
}

.contents_wrap .main .listLay li a {
  text-decoration: none;
  color: #5ac8ff;
  word-wrap: break-word;
}

.contents_wrap .main .linkLay {
  margin-bottom: 35px;
}

.contents_wrap .main .linkLay.db .linkLayEach__row {
  margin-top: 10px;
  height: 100%;
  margin-right: -2px;
  margin-left: -2px;
  display: table;
}

.contents_wrap .main .linkLay.db .linkLayEach__row:first-child {
  margin-top: 0;
}

.contents_wrap .main .linkLay.db .linkLayEach {
  float: none;
  vertical-align: middle;
  position: relative;
  width: 336px;
  height: 100%;
  display: table-cell;
  table-layout: fixed;
}

.contents_wrap .main .linkLay.db .linkLayEach .linkLayEach__content {
  height: 100%;
  width: 332px;
  margin: 0 2px;
}

.contents_wrap .main .linkLay.db .linkLayEach .linkLayEach__content .linkLayEach__outer {
  height: 100%;
  vertical-align: middle;
}

.contents_wrap .main .linkLay.db .linkLayEach .linkLayEach__content .linkLayEach__outer .linkLayEach__inner {
  height: 100%;
  vertical-align: middle;
}

.contents_wrap .main .linkLay.db .linkLayEach .linkLayEach__content .linkLayEach__outer .linkLayEach__inner a {
  display: flex;
	align-items: center;
  padding-left: 45px;
  font-size: 16px;
  font-size: 1.6rem;
  height: 100%;
  width: 100%;
  vertical-align: middle;
	line-height: 1.6;
}

.contents_wrap .main .linkLay.db .linkLayEach .linkLayEach__content .linkLayEach__outer .linkLayEach__inner a:before {
  width: 24px;
  height: 33px;
  margin-top: -16px;
  background: url("../img/common/parts/linkSmallIcon.png") 0 0 no-repeat;
}

.contents_wrap .main .linkLay.single .linkLayEach {
  margin-top: 15px;
}

.contents_wrap .main .linkLay.single .linkLayEach:first-child {
  margin: 0;
}

.contents_wrap .main .linkLay span {
  display: block;
  color: #3d3938;
  font-size: 16px;
  font-size: 1.6rem;
  margin-bottom: 15px;
  display: block;
  position: relative;
  font-weight: bold;
  padding-left: 28px;
}

.contents_wrap .main .linkLay span:before {
  content: "";
  position: absolute;
  width: 15px;
  height: 13px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 13.0px 7.5px 0 7.5px;
  border-color: #3e3a39 transparent transparent transparent;
  top: 50%;
  margin-top: -6px;
  left: 0;
}

.contents_wrap .main .linkLay .linkLayEach .linkLayEach__content {
  cursor: pointer;
  height: 100%;
  background-image: url("../img/common/parts/webBorder.png");
}

.contents_wrap .main .linkLay .linkLayEach .linkLayEach__content .linkLayEach__outer {
  height: 100%;
  padding: 5px;
  -webkit-transition: background-color 0.2s linear;
  -moz-transition: background-color 0.2s linear;
  -o-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
}

.contents_wrap .main .linkLay .linkLayEach .linkLayEach__content .linkLayEach__outer .linkLayEach__inner {
  padding: 25px;
  height: 100%;
  background: #fff;
}

.contents_wrap .main .linkLay .linkLayEach .linkLayEach__content .linkLayEach__outer .linkLayEach__inner a {
  color: #3d3938;
  font-weight: bold;
  text-decoration: none;
  font-size: 22px;
  font-size: 2.2rem;
  padding-left: 53px;
  display: inline-block;
  position: relative;
}

.contents_wrap .main .linkLay .linkLayEach .linkLayEach__content .linkLayEach__outer .linkLayEach__inner a:before {
  content: "";
  position: absolute;
  width: 29px;
  height: 40px;
  top: 50%;
  left: 0;
  margin-top: -20px;
  background: url("../img/common/parts/linkIcon.png") 0 0 no-repeat;
}

.contents_wrap .main .linkLay .linkLayEach .linkLayEach__content:hover .linkLayEach__outer {
  background: #5ac8ff;
}

.contents_wrap .main .pdfObj {
  position: relative;
  margin-bottom: 35px;
	display: block;
	clear: both;
}

.contents_wrap .main .pdfObj span {
  text-align: center;
  display: block;
  color: #5ac8ff;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  padding-bottom: 0.8em;
}

.contents_wrap .main .pdfObj p {
  width: 420px;
  height: 70px;
  margin: 0 auto;
  background: #5ac8ff;
  box-shadow: 2px 2px 0 2px #0693e3;
  -moz-box-shadow: 2px 2px 0 2px #0693e3;
  -webkit-box-shadow: 2px 2px 0 2px #0693e3;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  cursor: pointer;
  position: relative;
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  transition: all 0.2s linear;
}

.contents_wrap .main .pdfObj p a {
  display: block;
  font-size: 22px;
  font-size: 2.2rem;
  text-decoration: none;
  text-align: center;
  line-height: 70px;
  color: #3d3938;
  font-weight: bold;
  letter-spacing: 2px;
  -webkit-transition: color 0.2s linear;
  -moz-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.contents_wrap .main .pdfObj p:hover {
  background: #0693e3;
  box-shadow: 2px 2px 0 2px #007ec6;
  -moz-box-shadow: 2px 2px 0 2px #007ec6;
  -webkit-box-shadow: 2px 2px 0 2px #007ec6;
}

.contents_wrap .main .pdfObj p:hover a {
  color: #ffffff;
}

.contents_wrap .main .cmRead {
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 2.15;
  margin-bottom: 55px;
}

.contents_wrap .main .cmRead p {
  margin-bottom: 30px;
}

.contents_wrap .main .cmRead p:last-child {
  margin: 0;
}

.contents_wrap .main .cmRead p a {
  text-decoration: none;
  color: #5ac8ff;
  word-wrap: break-word;
}

.contents_wrap .main hr {
  background-color: #dcdcdd;
  border: none;
  height: 1px;
  margin-bottom: 50px;
  width: 100%;
}

.contents_wrap .main blockquote {
  background: url("../img/common/parts/grayBorder.png");
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 2.15;
  margin-bottom: 35px;
  padding: 60px 110px;
  position: relative;
	margin-left: 0;
	margin-right: 0;
}

.contents_wrap .main blockquote p {
  margin-bottom: 30px;
}

.contents_wrap .main blockquote p:last-child {
  margin: 0;
}

.contents_wrap .main blockquote p a {
  text-decoration: none;
  color: #5ac8ff;
}

.contents_wrap .main blockquote:before {
  position: absolute;
  content: "";
  width: 48px;
  height: 38px;
  top: 60px;
  left: 36px;
  background: url("../img/common/parts/blockquoteBefore.png") 0 0 no-repeat;
}

.contents_wrap .main blockquote:after {
  position: absolute;
  content: "";
  width: 48px;
  height: 38px;
  bottom: 60px;
  right: 31px;
  background: url("../img/common/parts/blockquoteAfter.png") 0 0 no-repeat;
}

.contents_wrap .main .readImage {
  margin-bottom: 35px;
  margin-right: -14px;
  margin-left: -14px;
}

.contents_wrap .main .readImage .cmRead {
  width: 320px;
  float: left;
  margin: 0 14px;
}

.contents_wrap .main .readImage figure {
  width: 320px;
  float: left;
  margin: 0 14px;
}

.contents_wrap .main .readImage figure img {
  max-width: 100%;
  width: 100%;
  height: auto;
}

.contents_wrap .main .readImage figure span {
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  padding-top: 0.5em;
	line-height: 1.6;
}

.contents_wrap .main .figureWrap {
  margin-bottom: 35px;
}

.contents_wrap .main .figureWrap.doble {
  margin-right: -14px;
  margin-left: -14px;
}

.contents_wrap .main .figureWrap.doble figure {
  float: left;
  width: 320px;
  margin: 0 14px;
}

.contents_wrap .main .figureWrap figure img {
  max-width: 100%;
  height: auto;
}

.contents_wrap .main .figureWrap figure span {
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  padding-top: 0.5em;
	line-height: 1.6;
}


/* side
--------------------------------*/
.contents_wrap .side {
	width: 248px;
}

.contents_wrap .side a {
	transition: .3s ease;
}

.contents_wrap .side a:hover {
	opacity: .65;
}

.contents_wrap .side .sidemenu {
	margin-bottom: 50px;
	border: 1px solid #dcdddd;
	box-shadow: 0 4px #efefef;
}

.contents_wrap .side .sidemenu .ttl a{
	display: block;
	background: #f2f2f3 url(../img/common/bg_stripe.png);
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: 0.18em;
	padding: 1em 20px;
}

.contents_wrap .side .sidemenu ul li {
	border-top: 1px dotted #dcdddd;
}

.contents_wrap .side .sidemenu ul li:first-child {
	border-top: none;
}

.contents_wrap .side .sidemenu ul li a {
	display: block;
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1.5;
	padding: 17px 44px 17px 20px;
	position: relative;
	transition: color 0.2s linear;
}

.contents_wrap .side .sidemenu ul li a::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 4px;
	border-color: transparent transparent transparent #3e3a39;
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	transition: border-color 0.2s linear;
}

.contents_wrap .side .sidemenu ul li.current a,
.contents_wrap .side .sidemenu ul li a:hover {
	color: #5ac8ff;
}
.contents_wrap .side .sidemenu ul li.current a::before,
.contents_wrap .side .sidemenu ul li a:hover::before {
	border-color: transparent transparent transparent #5ac8ff;
}

#aside__banners figure {
	margin-bottom: 13px;
}
