@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins:wght@500;600&display=swap');

/*------------------------------------------------------

	リセット

------------------------------------------------------*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: 400;
	vertical-align: baseline;
	background: transparent;
}
body { line-height: 1;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}
ul { list-style: none;}
blockquote, q { quotes: none;}
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none;}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
table { border-collapse: collapse; border-spacing: 0;}
hr {
	display: block;
	height: 0px;
	border: 0;
	border-bottom: 1px solid #CCCCCC;
	margin: 0;
	padding: 0;
}
input, select { vertical-align: middle;}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: top;
	image-rendering: auto;
  transform-origin: center center;
  will-change: transform;
}
*, *:before, *:after { box-sizing: border-box;}


/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body {
	font-family: "Noto Sans JP", sans-serif;
	color: #000 ;
	font-size: 1em;
	line-height: 1.8;
	position: relative;
	min-width: 1030px;
}

p { margin-bottom: 25px;}
p:last-child { margin-bottom: 0px;}

a { color: #000; text-decoration: none;}
a:hover, a:active { color: #00B4ED;}

a.fo_blue02 { text-decoration: underline;}
a.fo_blue02:hover { text-decoration: none; opacity: 0.7;}

/* 文字装飾 */
.fo06 { font-size: 0.6em !important;}
.fo07 { font-size: 0.7em !important;}
.fo075 { font-size: 0.75em !important;}
.fo08 { font-size: 0.8em !important;}
.fo085 { font-size: 0.85em !important;}
.fo09 { font-size: 0.9em !important;}
.fo095 { font-size: 0.95em !important;}
.fo105 { font-size: 1.05em !important;}
.fo11 { font-size: 1.1em !important;}
.fo115 { font-size: 1.15em !important;}
.fo12 { font-size: 1.2em !important;}
.fo125 { font-size: 1.25em !important;}
.fo13 { font-size: 1.3em !important;}
.fo14 { font-size: 1.4em !important;}
.fo145 { font-size: 1.45em !important;}
.fo15 { font-size: 1.5em !important;}
.fo16 { font-size: 1.6em !important;}
.fo17 { font-size: 1.7em !important;}
.fo175 { font-size: 1.75em !important;}
.fo18 { font-size: 1.8em !important;}

.lh12 { line-height: 1.2;}
.lh14 { line-height: 1.4;}
.lh16 { line-height: 1.6;}
.lh18 { line-height: 1.8;}
.lh20 { line-height: 2;}

.ls005 { letter-spacing: 0.05em;}
.ls01 { letter-spacing: 0.1em;}
.ls02 { letter-spacing: 0.2em;}

.fo_poppin { font-family: "Poppins", sans-serif; font-weight: 500;}
.fo_poppin.semi, .fo_poppin .semi { font-weight: 600;}

.fo_white { color: #FFFFFF !important;}
.fo_blue { color: #1E3255 !important;}
.fo_blue02 { color: #00AFEC !important;}
.fo_blue03 { color: #0B318F !important;}
.fo_blue04 { color: #9EB7CE !important;}
.fo_gray { color: #7E7E7E !important;}

.fo_grad { background: linear-gradient(to left, #0080D9, #013690); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: table;}

.break_keep { word-break: keep-all; overflow-wrap: anywhere;}

/* ボックス */
.cont1000 { max-width: 1030px; padding: 0px 15px; margin: 0px auto;}
.cont1100 { max-width: 1130px; padding: 0px 15px; margin: 0px auto;}
.cont1200 { max-width: 1230px; padding: 0px 15px; margin: 0px auto;}
.cont1300 { max-width: 1330px; padding: 0px 15px; margin: 0px auto;}

.left { float: left;}
.right { float: right;}

.pos_rel { position: relative;}
.pos_ab { position: absolute;}

.bold { font-weight: bold;}

.ta_center { text-align: center;}
.ta_right { text-align: right;}
.ta_left { text-align: left;}
.ta_right-s_center { text-align: right;}
.ta_left-s_center { text-align: left;}
.ta_center-s_left { text-align: center;}
.ta_left-s_right { text-align: left;}

.back_white { background-color: #fff !important;}
.back_blue { background-color: #0B318F !important;}
.back_blue02 { background-color: #F0F8FF !important;}
.back_gray { background-color: #F7F7F7 !important;}

.z50 { z-index: 50;}
.z-1 { z-index: -1;}

@media (min-width: 861px) {
	.hidden_l { display: none !important;}
}

/* リスト */
ol { padding-left: 2em;}
ol li { list-style: outside decimal;}

.list_indent { padding-left: 1em;}
.list_indent li { text-indent: -1em;}

.list_disc { padding-left: 1em;}
.list_disc li { list-style: outside disc;}

/* margin */
.mb00 { margin-bottom: 0px !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb80 { margin-bottom: 80px !important;}

.mb40-20 { margin-bottom: 40px !important;}
.mb50-30 { margin-bottom: 50px !important;}
.mb60-30 { margin-bottom: 60px !important;}
.mb80-40 { margin-bottom: 80px !important;}
.mb100-60 { margin-bottom: 100px !important;}
.mb120-60 { margin-bottom: 120px !important;}
.mb160-80 { margin-bottom: 160px !important;}

.mt05 { margin-top: 5px;}
.mt15 { margin-top: 15px;}
.mt40 { margin-top: 40px;}
.mt80-40 { margin-top: 80px !important;}
.mt100-40 { margin-top: 100px !important;}

/* clearFix */
.clearFix { zoom: 100%;}
.clearFix:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

/* ------------------------
	ヘッダー
------------------------ */

.header { display: flex; justify-content: space-between; align-items: center; top: 0px; left: 0; right: 0; position: absolute; width: 100%; height: 91px; z-index: 9999; padding-right: 2em; font-size: clamp(0.8em,1.3vw,1em);}
.header h1 a { display: flex; align-items: center; height: 5.625em; background: #fff; border-top-right-radius: 90px; border-bottom-right-radius: 90px; padding: 0 3em 0 2em;}
.header h1 img { width: 17.43em;}
.header .box01 { display: flex; align-items: center;}

.header .btn_area a, .sp-navi .btn_area a { display: inline-block; color: #013895; font-size: 1.05em; background: linear-gradient(to right, #00B4ED 0%, #013690 50%, #00B4ED 100%); background-size: 200% 100%; background-position: left center; padding: 5px; border-radius: 3em; z-index: 0; overflow: hidden; transition: 0.3s;}
.header .btn_area a span, .sp-navi .btn_area a span { display: block; background: #fff; font-weight: bold; padding: 0.35em 2.2em; border-radius: inherit; transition: 0.3s;}
.header .btn_area a:hover, .sp-navi .btn_area a:hover { background-position: right center;}
.header .btn_area a:hover span, .sp-navi .btn_area a:hover span { background: rgba(255,255,255,0.8); box-shadow: 0px 0px 10px 5px rgba(255, 255, 255, 0.8) inset;}

.header .lang_list { display: flex; border: solid 1px #fff; border-radius: 0.3em; overflow: hidden; margin: 0px 2em; font-size: 0.95em;}
.header .lang_list a, .header .lang_list span { display: block; padding: 0.1em 1em;}
.lang_list span { background: #fff; color: #1E3255;}
.header .lang_list a { color: #fff;}
.header .lang_list a:hover { color: #00B4ED !important;}

.gn { display: flex; align-items: center;}
.gn > li > a { display: block; line-height: 5.625; padding: 0px 1em; font-weight: bold; color: #fff;}
.gn > li > a:hover { color: #00B4ED !important;}

.gn a.link:hover { background-image: url("../images/common/ico_link_blue02.svg") !important;}

.dd_wrap { position: fixed; width: 100vw; top: -40px; left: 0; right: 0; z-index: -2; padding: 11em 0px 50px; overflow-y: auto; background: #fff; display: none; max-height: 100vh;}
.dd_wrap .cont1300 { display: flex;}
.dd_wrap .ttl_box { width: 30%;}
.dd_wrap .ttl_box h2 { font-size: 2.2em; line-height: 1; background: linear-gradient(to left, #00B4ED, #0080D9); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: table;}
.dd_wrap .box_inner { width: 70%;}
.dd_wrap .list01 { display: flex; gap: 3em 2em; flex-wrap: wrap;}
.dd_wrap .list01 li { width: calc((100% - 6em) / 4);}
.gn > li:nth-child(3) .dd_wrap .list01 li { margin-right: 2em;}
.gn > li:nth-child(3) .dd_wrap .list01 p { margin-right: -3em;}
.dd_wrap .list01 a { color: #000;}
.dd_wrap .list01 p { background: url("../images/common/cir_arw_black.svg") no-repeat left center; background-size: 1.5em auto; padding: 0.2em 0 0.2em 2em;}
.dd_wrap .list01 a:hover p { background-image: url("../images/common/cir_arw_grad_white02.svg");}

.menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.5); /* 半透明黒 */
  backdrop-filter: blur(3px);
  z-index: 9998; /* dd_wrap より下、header より上になるように */
  display: none;
  transition: 0.2s;
}

.clone-nav {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	min-width: 1030px;
	max-width: initial;
	transition: .3s;
	transform: translateY(-100%);
	background: #fff;
}
.is-show { transform: translateY(0);}

/* 下層・追従 */
.header.under { background: #fff;}
.header.under .gn > li > a, .header.clone-nav .gn > li > a, .header .open .gn > li > a { color: #1E3255;}
.header.under .gn a.link, .header.clone-nav .gn a.link, .header .open .gn a.link { background-image: url("../images/common/ico_link_blue.svg");}
.header.under .lang_list, .header.clone-nav .lang_list, .header .open .lang_list { border-color: #1E3255;}
.header.under .lang_list span, .header.clone-nav .lang_list span, .header .open .lang_list span { background: none; color: #1E3255;}
.header.under .lang_list a, .header.clone-nav .lang_list a, .header .open .lang_list a { color: rgba(30,50,85,0.3);}
.header.under .lang_list li:first-child, .header.clone-nav .lang_list li:first-child, .header .open .lang_list li:first-child { position: relative;}
.header.under .lang_list li:first-child:after, .header.clone-nav .lang_list li:first-child:after, .header .open .lang_list li:first-child:after { content: ""; position: absolute; right: 0px; top: 1px; bottom: 1px; width: 1px; background: #1E3255;}


/* ------------------------
	フッター
------------------------ */

.footer .movie_wrap02 { top: 0px; left: 0px; width: 100%; height: 100%; z-index: -2;}
.footer .movie_wrap02:after { content: ""; position: absolute; z-index: 1; top: 0px; left: 0px; width: 100%; height: 100%; background: rgba(30,50,85,0.85);}
.footer video { width: 100%; height: 100%; object-fit: cover;}

.footer .bg01 { display: flex; align-items: center; justify-content: space-between; padding: 130px 0px;}
.footer .bg01 .box01 { display: flex; align-items: center; gap: 80px;}
.footer .bg01 .btn_area a { display: block; width: 5em; height: 5em; background: linear-gradient(to right, #0080D9, #00B4ED); border-radius: 100%; transition: 0.3s; position: relative;}
.footer .bg01 .btn_area a:before { content: ""; position: absolute; inset: 0; background: #fff; z-index: 1; border-radius: inherit; opacity: 0; transition: 0.3s;}
.footer .bg01 .btn_area a:hover:before { opacity: 1;}
.footer .bg01 .btn_area a:after { content: ""; position: absolute; z-index: 2; background: url("../images/common/ico_mail_white.svg") no-repeat center center; background-size: 100% auto; width: 2.25em; height: 1.47em; left: 50%; top: 50%; transform: translate(-50%,-50%); transition: 0.3s;}
.footer .bg01 .btn_area a:hover:after { background-image: url("../images/common/ico_mail_grad.svg");}

.footer .bg02 { padding: 100px 0px; clip-path: polygon(150px 0, 100% 0, 100% 100%, 0 100%);}
.footer .bg02 a { color: #fff; text-decoration: none;}
.footer .bg02 a:hover { color: #00B4ED;}
.footer_nav { display: flex; justify-content: space-between;}
.footer_nav > li > ul { margin-top: 10px;}
.footer_nav > li > ul > li { font-size: 0.85em; position: relative; padding-left: 1.3em;}
.footer_nav > li > ul > li:before { content: ""; position: absolute; width: 0.3em; height: 1px; background: #fff; left: 0.3em; top: 50%;}

@media only screen and (max-width: 1300px) {
  .footer .bg02 { margin-left: -100px; padding-left: 120px;}
}

.footer .bg02 a.link:hover { background-image: url("../images/common/ico_link_blue02.svg");}
.footer .bg02 .btn_area { display: flex; justify-content: flex-end; align-items: center; gap: 3em; margin-top: -20px;}
.footer .bg02 .lang { display: flex; border: solid 1px #fff; padding: 2px;}
.footer .bg02 .lang li:first-child { border-right: solid 1px #fff;}
.footer .bg02 .lang a, .footer .bg02 .lang span { display: block; padding: 0.05em 0.7em;}

.footer .bg03 { display: flex; justify-content: space-between; flex-flow: row-reverse; padding-bottom: 80px;}
.footer .bg03 .box02 { width: calc(100% - 400px); display: flex; justify-content: space-between; align-items: center; flex-flow: row-reverse; gap: 40px;}
.footer .bg03 .list01 { display: flex; flex-flow: column; gap: 40px;}
.footer .bg03 .text_box { display: flex; flex-flow: column-reverse; justify-content: space-between; align-self: flex-end; gap: 30px;}


/*------------------------------------------------------

	トップページ

------------------------------------------------------*/

.video_wrap { position: fixed; top: 0; left: 0; width: 100%; height: 100vh;}
.video_wrap video { width: 100%; height: 100%; object-fit: cover;}
.top_contents { margin-top: 200vh;}

.video_wrap .text_box { font-size: 7em; line-height: 1.4; letter-spacing: 0.2em; mix-blend-mode: screen; top: 50%; left: 0; width: 100%; transform: translateY(-50%); z-index: 5; opacity: 0.8; color: #fff;}
.fadein_char { opacity: 0; display: inline-block; animation: fadeInChar 0.6s ease forwards; font-weight: 600;}
@keyframes fadeInChar {
  0% { opacity: 0;}
  100% { opacity: 1;}
}

.grad_text {
  background: linear-gradient(135deg, #002868, #013993, #0080D9, #00B4ED, #0080D9, #013993); background-size: 300% 300%; -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: subtleGlow 12s ease-in-out infinite;}
@keyframes subtleGlow {
  0%   { background-position: 0% 50%; }
  25%  { background-position: 50% 100%; }
  50%  { background-position: 100% 50%; }
  75%  { background-position: 50% 0%; }
  100% { background-position: 0% 50%; }
}

.text_anime { white-space: nowrap; padding-bottom: 0.9em;}
.text_anime p { display: inline-block; animation: scroll 45s linear infinite; color: rgba(0,175,236,0.15); font-size: 6.5em; line-height: 1; white-space: nowrap;}
.text_anime span { display: inline-block; padding: 0px 0.5em; white-space: nowrap;}
@keyframes scroll {
  0% { transform: translateX(0%);}
  100% { transform: translateX(-50%);}
}

.top_sec01 .box01 { display: flex; justify-content: space-between; align-items: flex-start; padding-top: 100px;}
.top_sec01 .box01 .box_inner { width: 65%;}
.top_sec01 .box01 .img_box { width: 90%; margin-right: -55%; margin-top: -30px;}
.top_sec01 h2 { font-size: 3.35em;}
.top_sec01 .img_box .pos_ab { width: 11%; opacity: 0; transform: translateY(30px);}
.top_sec01 .img_box .pos_ab.active { animation: popUp 0.6s ease forwards;}
.top_sec01 .il01 { top: 20%; left: 20%;}
.top_sec01 .il02 { top: 35%; left: 39%;}
.top_sec01 .il03 { bottom: 30%; left: 34%;}
.top_sec01 .il04 { bottom: 22%; left: 15%;}
.top_sec01 .il05 { top: 44%; left: 5%;}
@keyframes popUp {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

.coil01 { position: absolute; z-index: -999; left: 60%; bottom: -60px; animation: floatFadeLoop 40s ease-in-out infinite;}
.coil01 img { max-width: initial;}
@keyframes floatFadeLoop {
  0% {
    transform: translateY(0);
    opacity: 0;
  }
  3% {
    opacity: 1;
  }
  70% {
    transform: translateY(-10%);
    opacity: 1;
  }
  97% {
    transform: translateY(-30%);
    opacity: 0;
  }
  100% {
    transform: translateY(0); /* 元の位置に戻る */
    opacity: 0;
  }
}

.top_en_ttl { font-size: 4.6em; line-height: 1; letter-spacing: 0.05em; background: linear-gradient(to left, #00B4ED, #013690); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: table;}
.top_en_ttl.white { background: linear-gradient(to right, #BCEFFF 0%, #00B4ED 70%, #0080D9 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}

.top_sec02 .box01 { display: flex;}
.top_sec02 .box01 .ttl_box { width: 24em;}
.top_sec02 .box01 .box_inner { width: calc(100% - 24em);}

.top_sec02 section { display: flex; justify-content: space-between;}
.top_sec02 section > figure { width: 60%; margin-left: -15%;}
.top_sec02 section .box_inner { width: 45%; padding: 80px 0px; margin-top: 20px;}
.top_sec02 section .box_inner:before { content: ""; position: absolute; z-index: -1; top: 0px; bottom: 0px; width: 2000px; left: -200px; background: linear-gradient(to right, #00B4ED 0%, #0080D9 70%, #013993 100%); clip-path: polygon(150px 0, 100% 0, 100% 100%, 0 100%); opacity: 0.9;}
.top_sec02 section h3 { font-size: 2.5em;}

.coil02 { position: absolute; z-index: -1; left: -60%; animation: floatFadeLoop02 50s infinite;}
@keyframes floatFadeLoop02 {
  0% {
    transform: translateX(0);
    opacity: 0;
  }
  3% {
    opacity: 1;
  }
  70% {
    transform: translateX(50%);
    opacity: 1;
  }
  97% {
    transform: translateX(70%);
    opacity: 0;
  }
  100% {
    transform: translateX(0); /* 元の位置に戻る */
    opacity: 0;
  }
}

.top_sec03 { padding: 90px 0px;}
.top_sec03 .list01 { display: flex; gap: 40px 4%; flex-wrap: wrap;}
.top_sec03 .list01 li { width: calc(92% / 3);}
.top_sec03 .list01 p { background: url("../images/common/cir_arw_white.svg") no-repeat right center; background-size: 1.3em auto; font-size: 1.5em; letter-spacing: 0.1em; line-height: 1.6; transition: 0.2s;}
.top_sec03 .list01 a:hover p { background-image: url("../images/common/cir_arw_white_blue.svg");}

.top_sec03.back_blue02 .list01 p { background-image: url("../images/common/cir_arw_black.svg");}
.top_sec03.back_blue02 .list01 a:hover p { background-image: url("../images/common/cir_arw_grad_white02.svg");}
.top_sec03.back_blue02 .list01 a:hover span { background: linear-gradient(to right, #0080D9, #00B4ED); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}

.top_rec_btn a { display: block;}
.top_rec_btn figure:after { content: ""; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; opacity: 0; transition: 0.3s; background: #0B318F;}
.top_rec_btn a:hover figure:after { opacity: 0.5;}
.top_rec_btn .text_box { right: 10%; top: 35%;}

.top_sec04 { background: url("../images/top/top_sec04_bg.jpg") no-repeat center center; background-size: cover; padding-top: 100px;}
.top_sec04 .box01 { display: flex; justify-content: space-between;}
.top_sec04 .box01 .btn_area { width: 380px; margin-top: 60px;}
.top_sec04 .box_inner { padding: 40px 0px 60px 60px; width: calc(100% - 380px);}
.top_sec04 .box_inner:before { content: ""; position: absolute; background: #fff; top: 0px; left: 0px; bottom: 0px; width: 2000px; z-index: -1;}
.top_sec04 dl, .news_archive dl { display: flex; border-bottom: solid 1px rgba(204,204,204,0.5); padding: 1.5em 0px;}
.top_sec04 dt, .news_archive dt { flex: 0 0 8em;}
.top_sec04 dd, .news_archive dd { flex: 1; overflow: hidden;}
.top_sec04 dd a, .news_archive dd a { display: block; background: url("../images/common/arrow_blue.svg") no-repeat right center; background-size: 0.8em auto; padding-right: 2em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}


/*------------------------------------------------------

	下層ページ

------------------------------------------------------*/

/* 共通 */
.show_sp { display: none;}
.over_hidden, .img_hover { overflow: hidden;}

.img_hover img { transition: 0.3s;}
a:hover .img_hover img, .img_hover a:hover img, a.img_hover:hover img { transform: scale(1.05);}

.more_btn a {
	display: inline-block;
	min-width: 240px;
	text-align: center;
	text-decoration: none;
  border: solid 1px #242A33;
	color: #242A33;
	line-height: 1.6;
	padding: 1em 3em;
	letter-spacing: 0.05em;
	border-radius: 60px;
	background: url("../images/common/ico_circle_arrow_red.svg") no-repeat calc(100% - 1em) center #fff;
  background-size: 1.2rem auto;
  font-family: "Zen Kaku Gothic New", sans-serif;
  transition: 0.3s;
}
.more_btn a:hover { background-color: #AF1F24 !important; border-color: #AF1F24; color: #fff;}

.more_btn.black a { font-size: 1.05em; letter-spacing: 0px; min-width: 300px; color: #fff; background-color: #242A33; padding: 0.85em 2em;}
.more_btn.white a { background-color: #fff; border: none;}
.more_btn.blue a { background-image: url("../images/common/ico_circle_arrow_blue.svg");}
.more_btn.blue a:hover { background-color: #1D8ACB !important;}

a.link { background: url("../images/common/ico_link_white.svg") no-repeat right center; background-size: 0.6em auto; padding-right: 1em;}

.grad_btn a { display: inline-block; width: 100%; max-width: 300px; font-size: 1.25em; letter-spacing: 0.05em; font-weight: bold; color: #fff; text-align: center; text-decoration: none; border-radius: 60px; position: relative; overflow: hidden; padding: 1em;
  /* 動く線形グラデーション（横方向） */
  background: linear-gradient(270deg, #013993, #0080D9, #00B4ED, #0080D9, #013993);
  background-size: 400% 400%;
  animation: gradientFlow 10s ease-in-out infinite;
  /* 波紋エフェクト */
  box-shadow: 0 0 0 0 rgba(0, 128, 217, 0.4);
  transition: all 0.3s ease;
}
.grad_btn a:after { content: ""; position: absolute; z-index: 10; right: 1em; top: 50%; transform: translateY(-50%); width: 0.9em; height: 0.9em; background: url("../images/common/cir_arw_white.svg") no-repeat center center; background-size: 100% auto;}
.grad_btn a:hover { animation: gradientFlow 10s ease-in-out infinite, ripple 1.5s infinite;}
@keyframes gradientFlow {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes ripple {
  0% { box-shadow: 0 0 0 0 rgba(0, 128, 217, 0.4);}
  70% { box-shadow: 0 0 0 15px rgba(0, 128, 217, 0);}
  100% { box-shadow: 0 0 0 0 rgba(0, 128, 217, 0);}
}

.ripple_btn a { display: inline-block; width: 100%; max-width: 280px; text-align: center; text-decoration: none; line-height: 1.6; color: #013895; background: url("../images/common/cir_arw_grad_white.svg") no-repeat calc(100% - 1em) center #fff; background-size: 1em auto; border-radius: 60px; padding: 1em; font-weight: bold; font-size: 1.1em; transition: 0.3s;}
.ripple_btn a:hover { animation: ripple02 1.5s infinite; background-color: #68E1FD;}
@keyframes ripple02 {
  0% {box-shadow: 0 0 0 0 #1B85FB;}
  70% {box-shadow: 0 0 0 10px rgb(27 133 251 / 0%);}
  100% {box-shadow: 0 0 0 0 rgb(27 133 251 / 0%);}
}

.white_grad_btn a { display: inline-block; font-weight: bold; font-size: 1.25em; line-height: 1.6; color: #013895; text-align: center; padding: 0.9em; border-radius: 60px; width: 100%; max-width: 300px; position: relative; transition: 0.3s; background: #fff; z-index: 0;}
.white_grad_btn.border a { border: solid 1px #013895; line-height: 1.4; font-size: 1.15em; max-width: 280px;}
.white_grad_btn a:hover { color: #fff;}
.white_grad_btn.border a:hover { border-color: #fff;}
.white_grad_btn a:before { content: ""; position: absolute; inset: 0; background: linear-gradient(to right, #013690 0%, #0080D9 100%); z-index: -1; border-radius: inherit; opacity: 0; transition: 0.3s;}
.white_grad_btn a:hover:before { opacity: 1;}
.white_grad_btn a:after { content: ""; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); background: url("../images/common/ico_arrow_white.svg") no-repeat center center,  linear-gradient(to right, #013690 0%, #0080D9 100%); border-radius: 100%; background-size: 0.25em auto, auto; width: 1em; height: 1em; transition: 0.3s; z-index: 3;}
.white_grad_btn a:hover:after { background: url("../images/common/ico_arrow_white.svg") no-repeat center center;}

.pagettl { background: url("../images/common/pagettl.svg") no-repeat left bottom; background-size: cover; min-height: 360px; padding-top: 80px; margin-top: 90px;}
.pagettl .en_ttl { font-size: 3.5em; line-height: 1;}

.heading_large { font-size: 2.5em;}
.heading_middle { font-size: 2.2em;}

.heading_back { min-width: 1320px; background: url("../images/common/heading_bg01.svg") no-repeat calc(100% + 1px) center, linear-gradient(to left, #0080D9, #013690); background-size: auto 100%, auto; border-top-left-radius: 60px; border-bottom-left-radius: 60px; font-size: 2em; letter-spacing: 0.1em; padding: 0.5em 0.5em 0.5em 1.5em; background-blend-mode: hard-light;}

.heading_leftline { border-left: solid 0.5em #00AFEC; color: #0B318F; background: #F0F8FF; font-size: 1.5em; line-height: 1.4; font-weight: bold; letter-spacing: 0.05em; padding: 0.4em 1em;}

.link_pad { padding-top: 120px; margin-top: -120px;}

.box1050 { max-width: 1050px; margin: auto;}

.breadcrumb a:not(:hover) { color: #0B318F;}

/* anime */
.fadein { opacity: 0; transform: translateY(30px); transition: opacity 1s ease, transform 1s ease;}
.fadein.js-on { opacity: 1; transform: translateY(0);}


/* ------------------------
	company
------------------------ */

.com_sec01 { background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 55%, rgba(255,255,255,0) 75%), url("../images/company/com_nav_bg.jpg") no-repeat center bottom; background-size: auto, 100% auto; padding-bottom: 1px;}
.com_sec01 section { display: flex; justify-content: space-between; max-width: 1100px; margin: auto;}
.com_sec01 section:nth-of-type(odd) { flex-flow: row-reverse;}
.com_sec01 section .box_inner { width: 45%;}
.com_sec01 section > figure { width: 65%;}
.com_sec01 section:nth-of-type(odd) > figure { margin-left: -15%;}
.com_sec01 section:nth-of-type(even) > figure { margin-right: -15%;}

.com_sec01 .btn_area { padding-bottom: 1px;}
.com_sec01 .btn_area * { transition: 0.3s;}
.com_sec01 .btn_area ul { max-width: 900px; margin: auto; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 60px 8%;}
.com_sec01 .btn_area li { width: 46%}
.com_sec01 .btn_area a { display: block; text-decoration: none;}
.com_sec01 .btn_area .text_area { font-size: 2em; background: url("../images/common/cir_arw_grad_white.svg") no-repeat right center; background-size: 1em auto;}
.com_sec01 .btn_area a:hover .text_area { background-image: url("../images/common/cir_arw_grad_white02.svg");}
.com_sec01 .btn_area a:hover .fo_grad { background: linear-gradient(to left, #00B4ED, #0080D9); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: table;}


/* ------------------------
	message
------------------------ */

.mes_sec01 .ttl_box { padding: 70px 0px; font-size: min(3.2vw,2.5em);}
.mes_sec01 .ttl_box:before { content: ""; position: absolute; z-index: -1; background: linear-gradient(to left, #00B4ED 0%, #0080D9 70%, #013993 100%); opacity: 0.9; top: 0px; bottom: 0px; width: 100vw; left: 50%; transform: translateX(-50%);}
.mes_sec01 .ttl_box .img01 { top: 60px; right: -15%;}
.mes_sec01 .ttl_box .text01 { color: rgba(255,255,255,0.3);}

.mes_sec01 .text02 { font-size: min(3vw,2.25em);}

.mes_sec01 .box01 { display: flex; flex-flow: row-reverse; justify-content: space-between;}
.mes_sec01 .box01 .box_inner { width: 58%;}
.mes_sec01 .box01 > figure { width: 52%; margin-left: -15%;}
.mes_sec01 .box01 .text_box div { display: inline-block;}

@media only screen and (max-width: 1050px) {
  .mes_sec01 .ttl_box:before { width: 120vw;}
}


/* ------------------------
	outline
------------------------ */

.head_box { display: flex; justify-content: space-between; align-items: flex-start;}
.head_box h3.heading_large { width: 23%; font-size: clamp(2em,2.6vw,2.5em)}
.head_box h3:before { content: ""; position: absolute; width: calc(max(0px, (100vw - 1200px) / 2) - 2em); height: 5em; background: linear-gradient(to left, #013690, #0080D9); left: calc(-1 * (max(0px, (100vw - 1200px) / 2))); top: 50%; transform: translateY(-50%);}
.head_box .box_inner { width: 72%;}

@media only screen and (max-width: 1500px) {
  .head_box h3 { padding-left: 1.5em;}
  .head_box h3:before { left: calc(-1 * (max(0px, (100vw - 1200px) / 2))); width: calc(max(0px, (100vw - 1200px) / 2));}
}
@media only screen and (max-width: 1230px) {
  .head_box h3:before { left: -15px; width: 0.75em;}
}

.table_border { width: 100%;}
.table_border tbody tr { border-bottom: solid 1px #ccc;}
.out_sec01 .table_border tbody:not(:nth-child(2)) tr:first-child th, .out_sec01 .table_border tbody:not(:nth-child(2)) tr:first-child td,
.out_sec03 .table_border tbody:not(:nth-child(2)) tr:first-child th, .out_sec03 .table_border tbody:not(:nth-child(2)) tr:first-child td { padding-top: 0px;}
.table_border tbody th, .table_border tbody td { padding: 2em 0px; vertical-align: middle;}
.table_border tbody th { text-align: left;}

.out_sec01 .table_border th { width: 17em; padding-left: 2.5em;}

.out_sec02 .table_border thead .back_blue { padding: 0.3em; width: 10.5em;}
.out_sec02 .table_border tbody th:first-of-type:not(:last-of-type) { width: 7em; padding-left: 2.5em;}
.out_sec02 .table_border tbody th:last-of-type { width: 4em;}
.out_sec02 .table_border .rowspan { border-bottom: none;}
.out_sec02 .table_border .rowspan th, .out_sec02 .table_border .rowspan td { padding-bottom: 0px; vertical-align: top;}
.out_sec02 .table_border .rowspan02 th, .out_sec02 .table_border .rowspan02 td { padding-top: 1em;}

.out_sec03 tbody th { width: 40%; padding-left: 1.5em;}
.out_sec03 tbody th a { font-size: 1.25em; letter-spacing: 0.05em; color: #1E3255; background: url("../images/common/cir_arw_grad_white.svg") no-repeat left center; background-size: 1em; padding-left: 1.5em; transition: 0.2s;}
.out_sec03 tbody th a:hover { color: #00B4ED; background-image: url("../images/common/cir_arw_grad_white02.svg");}


/* ------------------------
	csr
------------------------ */

.csr_sec { padding-top: 40px;}
.csr_sec02 { padding-bottom: 60px;}
.csr_sec03 .box01 { padding: 30px;}

.csr_nav ul { display: flex; flex-wrap: wrap; column-gap: 5%;}
.csr_nav li { width: calc(90% / 3);}
.csr_nav a { display: flex; align-items: center; height: 4em; font-weight: bold; text-decoration: none; font-size: min(1.95vw,1.45em); line-height: 1.5; letter-spacing: 0.05em; border-bottom: solid 1px #CCCCCC; transition: 0.2s; background: url("../images/common/cir_arw_grad_white.svg") no-repeat right center; background-size: 1.3em auto; color: #1E3255;}
.csr_nav a:hover { background-image: url("../images/common/cir_arw_grad_white02.svg"); color: #00AFEC;}


/* ------------------------
	csr - under
------------------------ */

.head_box.w100 h3.heading_large { width: auto; font-size: 2.5em; padding-top: 2em; padding-bottom: 2em; margin-bottom: 30px;}

.csr_dl { margin-left: 3.5em;}


/* ------------------------
	group
------------------------ */

.group_sec01 .box01 { display: flex; justify-content: space-between;}
.group_sec01 .box02 { display: flex; align-items: center; justify-content: space-between; width: 510px;}
.group_sec01 .btn_area a { display: inline-block; color: #013895; font-weight: bold; text-decoration: none; background: url("../images/common/ico_pin.svg") no-repeat 1.3em center #fff; background-size: 0.95em auto; border: solid 1px #ccc; border-radius: 30px; padding: 0.3em 1.3em 0.3em 2.8em;}
.group_sec01 .box03 { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4%;}
.group_sec01 .box03 > div { width: 47%;}
.group_sec01 .box03 th { width: 10em; line-height: 1.4;}
.group_sec01 section.back_gray { padding: 60px 0px;}

@media only screen and (max-width: 1440px) {
  .group_sec02 .box01 { margin-left: 3.5em;}
}


/* ------------------------
	iso
------------------------ */

.iso_sec01 .head_box .box_inner { margin-top: -50px;}

.iso_box { max-width: 1100px; margin: auto;}

@media only screen and (max-width: 1440px) {
  .iso_sec01 .head_box h3 { padding-left: 1em;}
}


/* ------------------------
	public
------------------------ */

.public_sec .head_box h3.heading_large { width: 28%;}
.public_sec .head_box .box_inner { width: 70%;}

.public_sec dl { display: flex; align-items: center; gap: 0.2em 1em; border-bottom: solid 1px #ccc; padding: 0px 0px 1.5em 1.8em; margin-bottom: 1.5em;}
.public_sec dt { background: url("../images/common/ico_pdf.svg") no-repeat left center; background-size: 1.6em auto; padding: 0.2em 0px 0.2em 2.3em;}
.public_sec dl a { color: #0080D9; text-decoration: underline;}
.public_sec dl a:hover { text-decoration: none; opacity: 0.8;}


/* ------------------------
	business
------------------------ */

.bus_mainimage.business .cont1200 { display: flex; align-items: center; gap: 4%;}
.bus_mainimage.business figure { width: 25%;}
.bus_mainimage.business .box_inner { flex: 1; margin-top: -1.5em;}

:root{
  --gap: 30px;
  --max-slide-w: 600px;
  --peek-rate: 0.4;
}
.carousel-track { display: flex; align-items: center; gap:var(--gap); will-change: transform}
.slide { flex:0 0 auto; width:300px}
.slide img { display: block; width: 100%;}
.pagination { display:flex; justify-content:center; gap:1.2em; margin-top: 1.8em;}
.dot { width: 20px; height: 20px; border-radius: 50%; background: #CAE6FF; cursor: pointer; border: none;}
.dot.is-active { background: #00AFEC}
.is-animating .carousel-track {transition:transform 1s cubic-bezier(.2,.7,.2,1)}

.bus_sec01 .box01 { display: flex; justify-content: space-between;}
.bus_sec01 .box01 .box_inner { width: 55%;}
.bus_sec01 .box01 > figure { width: 50%; margin-right: -10%;}
.bus_sec01 .box01 h3 { font-size: clamp(1.8em,2.8vw,2.05em);}

.bus_sec01 .box02 h3 { margin: auto;}

.bus_heading { font-size: 2.5em; letter-spacing: 0.1em; padding: 1.8em 0; width: 310px;}
.bus_heading:before { content: ""; position: absolute; z-index: -1; background: linear-gradient(to right, #00B4ED 0%, #0080D9 32%, #013690 100%); top: 0; bottom: 0; width: calc(((100vw - 1200px) / 2) + 310px); right: 0px; clip-path: polygon(0 0, 100% 0, calc(100% - 60px) 100%, 0 100%);}
@media only screen and (max-width: 1230px) {
  .bus_heading:before { width: 325px;}
}

.bus_sec02 .box01 { padding: 80px 15px 1px;}
.bus_sec02 .box01:before { content: ""; position: absolute; z-index: -1; background: linear-gradient(to right, #0080D9 0%, #00B4ED 50%, #B7FFFF 100%); top: 0; bottom: 0; width: calc(((100vw - 1100px) / 2) + 370px); left: calc(100% - 370px); clip-path: polygon(360px 0, 100% 0, 100% 100%, 0 100%);}
.bus_sec02 section { display: flex; justify-content: space-between; gap: 4%;}
.bus_sec02 section > figure { width: 50%;}
.bus_sec02 section .box_inner { flex: 1;}
@media only screen and (max-width: 1130px) {
  .bus_sec02 .box01:before { width: 385px;}
}

.bus_sec03 { padding-bottom: 1px;}
.bus_sec03 .box01, .bus_sec04 .box01 { display: flex; justify-content: flex-end; margin-top: -100px;}
.bus_sec03 .box01 > div, .bus_sec04 .box01 > div { max-width: 590px;}
.bus_sec03 .btn_area { display: flex; justify-content: center; gap: 15px 6%; flex-wrap: wrap;}
.bus_sec03 .btn_area li { min-width: 280px;}

.bus_sec04 .list01 { display: flex; gap: 30px;}

.bus_sec05 { max-width: 1440px; margin: auto; border: solid 30px #00AFEC; background: url("../images/business/bus_sec05_bg01.svg") no-repeat left top; background-size: 27%; padding: 100px 0px 80px;}
.bus_sec05:before { content: ""; position: absolute; background: url("../images/business/bus_sec05_bg02.svg") no-repeat right top; background-size: auto 100%; width: 345px; height: 390px; right: -30px; bottom: -30px;}
.bus_sec05 .ttl_box { display: flex; align-items: flex-end; gap:1em;}
.bus_sec05 .box01 { display: flex; justify-content: space-between; gap: 5%; align-items: center; padding: 4% 2% 4% 5%;}
.bus_sec05 .box01 > figure { width: 46%;}
.bus_sec05 .box01 .box_inner { flex: 1;}
.bus_sec05 .box01 h4 { border-bottom: dashed 3px #00AFEC; font-size: min(6.6vw,2em); padding-bottom: 0.5em;}
.bus_sec05 .box01 h4 img { width: 2em; vertical-align: middle; margin-right: 0.6em;}
.bus_sec05 .fo_grad { margin: auto;}
.bus_sec05 .list01 { display: flex; gap: 4px;}


/* ------------------------
	slit
------------------------ */

.bus_mainimage:before { content: ""; position: absolute; z-index: -1; background-repeat: no-repeat; background-position: center bottom; background-size: cover; width: 100%; height: 640px; bottom: 0px; left: 0px;}
.bus_mainimage.slit:before { background-image: url("../images/business/slit/slit_mainimage.jpg");}
.bus_mainimage.press:before { background-image: url("../images/business/press/press_mainimage.jpg");}
.bus_mainimage.business:before { background-image: url("../images/business/bus_mainimage.jpg");}

.bus_mainimage h2 { font-size: 3em; padding: 1.5em 15px 1em; text-shadow: 0 0.1em 0.2em rgba(0,0,0,0.8);}

.bus_bg01 { padding-top: 100px;}
.bus_bg01:before { content: ""; position: absolute; z-index: -1; background: url("../images/business/slit/slit_bg.svg") no-repeat left top; background-size: auto 100%; width: 1556px; height: 480px; top: 0px; left: calc(50% - 100px);}
.bus_bg01 h3 { font-size: 2.3em;}

.slit_sec01 .list01 { display: flex; justify-content: space-between; flex-wrap: wrap; column-gap: 1.5%;}
.slit_sec01 .list01 li { width: 30.3333%;}
.slit_sec01 .fo_grad.fo15 { margin: auto; font-size: clamp(1.3em,1.8vw,1.55em) !important;}

.bus_bg02 { background-repeat: no-repeat; background-position: center center; background-size: cover; padding: 140px 0px;}
.bus_bg02 .box01 > *:not(.ripple_btn) { text-shadow: 0 0.2em 0.25em rgba(0,0,0,0.35);}
.slit_sec02 .bus_bg02 { background-image: url("../images/business/slit/slit_sec02_bg01.jpg");}
.press_sec02 .bus_bg02 { background-image: url("../images/business/press/press_sec02_bg01.jpg");}

.bus_bg02 h3 { font-size: 2.7em;}
.bus_bg02 h3 span { font-size: 0.45em; letter-spacing: 0.02em;}

.slit_sec02 .list01 { display: flex; gap: 2em;}

.slit_sec02 .box02 { display: flex; justify-content: space-between;}
.slit_sec02 .box02 section { width: 47.5%; padding: 30px;}


/* ------------------------
	press
------------------------ */

.press_img_list { display: flex; gap: 6%;}

.press_sec02 .bus_bg02 .box01 { max-width: 550px;}
.press_sec02 .back_blue02 { padding: 80px 0px;}

.press_sec03 section { border: solid 3px #0B318F; padding: 1.5em 1em 1.5em 6em;}
.press_sec03 .num { left: 0; top: 0; font-size: 2.2em; width: 1.7em; height: 1.7em; line-height: 1.7;}


/* ------------------------
	equipment
------------------------ */

.w1000 { max-width: 1000px; margin: auto;}

.table_border02 { width: 100%; border: solid 1px #ccc; font-size: min(3.5vw,1em);}
.table_border02 th, .table_border02 td { border: solid 1px #ccc; padding: 1.7em 0.5em;}
.table_border02 thead th { padding: 1em 0.5em;}

.eq_list { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 60px 8%;}
.eq_list li { width: calc(92% / 2);}


/* ------------------------
	privacy
------------------------ */

.link_btn a { display: inline-block; background: url("../images/common/ico_link_blue03.svg") no-repeat calc(100% - 1em) center; background-size: 0.85em auto; font-size: 1.15em; letter-spacing: 0.05em; font-weight: bold; color: #013895; border: solid 1px #013895; border-radius: 60px; text-align: center; padding: 0.7em 3em; transition: 0.3s;}
.link_btn a:hover { background-image: url("../images/common/ico_link_white.svg"); background-color: #00B4ED; border-color: #00B4ED; color: #fff;}

.privacy_sec01 .btn_area, .privacy_sec01 .text_pad { margin-left: 3em;}

.privacy_sec01 .table_border th { padding-left: 2.5em; padding-right: 2.5em; width: 23em;}


/* ------------------------
	contact
------------------------ */

.con_sec01 .tel { display: flex; align-items: center; flex-wrap: wrap; gap: 0.2em 1em;}
.con_sec01 .tel a { font-size: min(9vw,2.25em); line-height: 1; letter-spacing: 0.05em; color: #1E3255;}
.con_sec01 .tel a:before { content: ""; display: inline-block; vertical-align: middle; background: url("../images/common/ico_tel.svg") no-repeat center center; background-size: 100% auto; width: 1.2em; height: 1.2em; margin-right: 0.4em;}

.con_sec02 { padding: 80px 0px;}
.con_sec02.under { padding-top: 0px;}
.con_sec02 h2 { margin: auto;}

.contact_box { max-width: 800px; margin: auto;}

.contact_box .hissu { display: inline-block; vertical-align: middle; background-color: #FF2200; font-size: 0.7em; color: #fff; padding: 0.2em 0.4em; line-height: 1.4; margin-left: 0.5em;}

.contact_box input[type="text"], .contact_box input[type="email"], .contact_box input[type="tel"], .contact_box textarea, .contact_box select { width: 100%; border: solid 1px #D9D9D9; border-radius: 0.6em; padding: 0.7em 1em; font-family: "Noto Sans JP", sans-serif; font-size: 16px;}
.contact_box .width_auto input[type="text"], .contact_box .width_auto input[type="tel"], .contact_box .width_auto select { width: auto;}
.contact_box textarea { width: 100% !important; height: 100px !important;}
.contact_box label { display: inline-block; margin: 0px 1em 0.3em 0px;}

.contact_box .btn_area input {
	display: inline-block;
	width: 100%;
	max-width: 280px;
	font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
	font-size: 1.1em;
	color: #013895;
	text-decoration: none;
	background: url("../images/common/cir_arw_grad_white.svg") no-repeat calc(100% - 1em) center #fff;
  background-size: 1.2em auto;
	padding: 1em;
  margin: 0px 1em 1em;
	border-radius: 60px;
	border: solid 1px #013895;
	outline: none;
	cursor: pointer;
	-webkit-appearance: none;
}
.contact_box .btn_area input:hover, .contact_box .btn_area input:focus { background: url("../images/common/cir_arw_grad_white_o.svg") no-repeat calc(100% - 1em) center, url("../images/common/submit_bg.svg") no-repeat center center; background-size: 1.2em auto, 100% 100%; color: #fff; border-color: #F0F8FF;}

.privacy_box { display: flex; gap: 0.5em 2em; flex-wrap: wrap;}

::placeholder { color: #999999;}

.wpcf7-list-item { display: block; margin: 0px 0px 0.2em;}
.wpcf7-spinner { display: block; margin: 20px auto;}
.wpcf7-not-valid-tip { display: inline-block;}


/* ------------------------
	news
------------------------ */

.news_head h1 { font-size: 2.5em;}

.blog_content p { margin-bottom: 30px;}
.blog_content h1 { font-weight: bold; line-height: 1.5; color: #0B318F; font-size: 1.5em; background: #F0F8FF; border-left: solid 0.5em #00AFEC; padding: 0.4em 1em; margin-bottom: 30px; clear: both;}
.blog_content h2 { font-weight: bold; font-size: 1.5em; line-height: 1.5; color: #0B318F; background: url("../images/common/h2.svg") no-repeat left 0.5em; background-size: 0.6em auto; margin-bottom: 30px; padding-left: 1em; clear: both;}
.blog_content h3, .blog_content h4, .blog_content h5, .blog_content h6 { font-weight: bold; font-size: 1.3em; line-height: 1.6; color: #1E3255; margin-bottom: 30px; clear: both;}
.blog_content blockquote { border: solid 1px #ccc; background: #fff; padding: 1.5em 2em; margin-bottom: 40px; clear: both;}
.blog_content blockquote p:last-child { margin-bottom: 0px;}
.blog_content ul { margin-bottom: 30px;}
.blog_content li { position: relative; padding-left: 1.2em; margin-bottom: 1em;}
.blog_content li:before { content: ""; position: absolute; background: #0B318F; width: 0.7em; height: 0.7em; border-radius: 100%; left: 0px; top: 0.6em;}

.blog_content table { width: 100%; border: solid 1px #0B318F; margin-bottom: 60px;}
.blog_content th, .blog_content td { border: solid 1px #0B318F; padding: 0.6em 0.8em; vertical-align: middle;}
.blog_content th, .blog_content td:first-child { background: #efefef; font-weight: bold; text-align: center;}
.blog_content th { width: 10em;}

.blog_content iframe { max-width: 100%;}

.iframe_wrap { position: relative; width: 100%; padding-top: 56.25%;/* 高さ÷幅 */}
.iframe_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

/*WP用 投稿表示*/
img.alignnone { margin: 20px auto 50px;}
img.aligncenter { display: block; margin: 20px auto 50px;}
img.alignright { margin: 20px 0 50px 20px; float: right;}
img.alignleft { margin: 20px 20px 50px 0; float: left;}


/* ページャー(アーカイブ) */
.pagination .number { margin-right: 2em;}
.pagination span.current, .pagination a {
	margin: 0px 5px 8px;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	text-decoration: none;
	min-width: 40px;
	height: 40px;
	line-height: 36px;
	padding: 0px 8px;
	border: solid 1px #ccc;
	color: #242A33;
  border-radius: 40px;
}
.pagination span.current, .pagination a:hover { background: #1E3255; color: #fff; border-color: #1E3255;}

/* ページャー(シングル) */
.pager ul { display: flex; justify-content: space-between; align-items: center; line-height: 1.4;}
.pager ul li { width: 30%;}
.pager a { display: inline-block; vertical-align: middle; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; color: #1E3255; font-weight: bold; transition: 0.2s;}
.pager a:hover { color: #00AFEC;}
.pager .previous a { padding-left: 1.5em;}
.pager .next a { padding-right: 1.5em;}
.pager .previous a:before, .pager .next a:after { content: ""; position: absolute; background: url("../images/common/arrow_blue.svg") no-repeat center center; background-size: 100% auto; width: 0.7em; height: 1.3em; top: 50%; transform: translateY(-50%);}
.pager .previous a:before { left: 0px; transform: translateY(-50%) scale(-1,1);}
.pager .next a:after { right: 0px;}
.pager .return a { border: solid 1px #ccc; max-width: 230px; border-radius: 60px; padding: 1em;}
.pager .return a:before { content: ""; display: inline-block; background: url("../images/common/ico_return.svg") no-repeat center center; background-size: 100% auto; width: 1.2em; height: 1em; vertical-align: middle; margin-right: 1em; transition: 0.2s;}
.pager .return a:hover { color: #fff; border-color: #00AFEC; background: #00AFEC;}
.pager .return a:hover:before { background-image: url("../images/common/ico_return_o.svg");}


