@charset "utf-8";
/*============================
md_container
============================*/
.md_container { width: 1200px; margin: 0 auto; padding: 0 20px; position: relative; }
.md_containerBIG { min-width: 1200px; max-width: 1400px; margin: 0 auto; padding: 0 40px; position: relative; }

/*============================
font
============================*/
.md_font_mincho { font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho"; }
.md_font_tategaki { writing-mode: vertical-rl; text-orientation: upright; }

.md_font_Futura-L { font-family: "futura-pt", sans-serif; font-weight: 300; font-style: normal; }
.md_font_Futura-B { font-family: "futura-pt", sans-serif; font-weight: 400; font-style: normal; }
.md_font_Futura-M { font-family: "futura-pt", sans-serif; font-weight: 500;	font-style: normal; }
.md_font_Futura-D { font-family: "futura-pt", sans-serif; font-weight: 600; font-style: normal; }
.md_font_Futura-H { font-family: "futura-pt", sans-serif; font-weight: 700; font-style: normal; }

/*============================
#mainPanelArea
============================*/
.md_panel { position: relative; min-height: 360px; padding: 40px 0; display: flex; align-items: center; overflow: hidden; }
.md_panel img { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 101%; height: 101%; min-height: 360px; object-fit: cover; }
.md_panel .category { text-align: center; }
.md_panel .category span { display: inline-block; padding: 10px 15px 8px; font-size: 0.875em; background: rgba(255,255,255,0.9); border-radius: 20px; font-weight: bold; }
.md_panel .mainTitle { margin-top: 30px; font-size: 2.5em; font-weight: bold; letter-spacing: 0.1em; color: #fff; text-align: center; line-height: 1.3; }
.md_panel .middleTitle { margin-top: 20px; font-size: 2em; font-weight: bold; letter-spacing: 0.1em; color: #fff; text-align: center; line-height: 1.5; }
.md_panel .subTitle { margin-top: 15px; font-size: 1em; font-weight: bold; letter-spacing: 0.1em; color: #fff; text-align: center; line-height: 1.5; }
.md_panel .copy { margin-top: 30px; line-height: 2; color: #fff; text-align: center; }
.md_panel .english { margin-top: 15px; color: #fff; text-align: center; opacity: 0.75; font-weight: bold; letter-spacing: 0.1em; }

/*============================
#leadArea
============================*/
.md_lead { background: #efebeb; padding: 60px 0; }
.md_lead .copy { margin-bottom: 20px; line-height: 2; text-align: center; font-weight: bold; font-size: 1.0125em; }
.md_lead .text { line-height: 2; text-align: center; }
.md_lead .button { margin-top: 30px; text-align: center; }
.md_lead .button .md_btn_line {}
.md_lead .button a { margin-left: 20px; }
.md_lead .button a:first-child() { margin-left: 0; }

/*============================
md_btn
============================*/
.md_btn_main { display: inline-block; padding-right: 65px; position: relative; }
.md_btn_main span { display: inline-block; line-height: 1; font-weight: bold; padding-bottom: 10px; border-bottom: solid 2px #222; font-size: 1.125em; transition: 0.3s all; }
.md_btn_main::before { content: ""; display: block; width: 50px; height: 50px; position: absolute; right: 0; top: 50%; transform: translateY(-50%); margin-top: -5px; background: #222 url("/imageFile/global/icon_arrow_white.svg") no-repeat center; background-size: 25px auto; border-radius: 50px; transition: 0.3s all; }
.md_btn_main:hover {}
.md_btn_main:hover span { color: #000; border-bottom: solid 2px #000; }
.md_btn_main:hover::before { right: -5px; }

.md_btn_sub { display: inline-block; padding-right: 50px; position: relative; }
.md_btn_sub span { display: inline-block; line-height: 1; font-weight: bold; padding-bottom: 8px; border-bottom: solid 2px #222; font-size: 1.125em; transition: 0.3s all; }
.md_btn_sub::before { content: ""; display: block; width: 40px; height: 40px; position: absolute; right: 0; top: 50%; transform: translateY(-50%); margin-top: -5px; background: #222 url("/imageFile/global/icon_arrow_white.svg") no-repeat center; background-size: 15px auto; border-radius: 40px; transition: 0.3s all; }
.md_btn_sub:hover {}
.md_btn_sub:hover span { color: #000; border-bottom: solid 2px #000; }
.md_btn_sub:hover::before { right: -5px; }

.md_btn_line { position: relative; display: inline-block; padding: 16px 45px 15px 30px; color: #222; font-size: 0.875em; text-align: center; border: solid 2px #222; font-weight: bold; overflow: hidden; transition: all 250ms ease-out; z-index: 1; }
.md_btn_line::before {}
.md_btn_line::after { content: ""; display: block; position: absolute; top: 50%; transform: translateY(-50%); right: 15px; background: url("/imageFile/global/icon_arrow_black.svg") no-repeat center; background-size: 16px auto; width: 20px; height: 20px; border-radius: 20px; transition: 0.25s all; pointer-events: none; }
.md_btn_line:hover { color: #222; }
.md_btn_line:hover::after { right: 12px; }

.md_btn_lineBack { position: relative; display: inline-block; padding: 16px 30px 15px 45px; color: #222; font-size: 0.875em; text-align: center; border: solid 2px #222; font-weight: bold; overflow: hidden; transition: all 250ms ease-out; z-index: 1; }
.md_btn_lineBack::before {}
.md_btn_lineBack::after { content: ""; display: block; position: absolute; top: 50%; transform: translateY(-50%) rotate(180deg); left: 15px; background: url("/imageFile/global/icon_arrow_black.svg") no-repeat center; background-size: 16px auto; width: 20px; height: 20px; border-radius: 20px; transition: 0.25s all; pointer-events: none; }
.md_btn_lineBack:hover { color: #222; }
.md_btn_lineBack:hover::after { left: 12px; }

.md_btn_pdf { position: relative; display: inline-block; padding: 18px 45px 17px 30px; color: #222; font-size: 0.875em; text-align: center; border: solid 2px #222; font-weight: bold; overflow: hidden; transition: all 250ms ease-out; z-index: 1; }
.md_btn_pdf::before {}
.md_btn_pdf::after { content: ""; display: block; position: absolute; top: 50%; transform: translateY(-50%); right: 15px; background: url("/imageFile/global/icon_pdf.png") no-repeat center; background-size: 20px auto; width: 26px; height: 30px; transition: 0.25s all; pointer-events: none; }
.md_btn_pdf:hover { color: #222; }
.md_btn_pdf:hover::after { right: 12px; }

.md_btn { display: inline-block; min-width: 120px; position: relative; padding: 12px 30px 11px; background: #fff; color: #333; border: solid 1px #aaa; border-radius: 40px; transition: 0.3s all; }
.md_btn:hover { color: #222; border: solid 1px #777; }

.md_btn_blue { display: inline-block; padding: 15px 45px 13px 35px; min-width: 240px; background: #014099; border-radius: 30px; position: relative; text-align: center; transition: 0.3s all; }
.md_btn_blue span { display: inline-block; line-height: 1; font-size: 0.9125em; color: #fff; letter-spacing: 0; font-weight: bold; transition: 0.3s all; }
.md_btn_blue::before { content: ""; display: block; width: 30px; height: 30px; position: absolute; right: 8px; top: 50%; transform: translateY(-50%);  background: #02347B url("/imageFile/global/icon_arrow_white.svg") no-repeat center; background-size: 15px auto; border-radius: 30px; transition: 0.3s all; }
.md_btn_blue:hover { background: #02347B; }
.md_btn_blue:hover span {}
.md_btn_blue:hover::before { right: 5px; }

.md_btn_mainBlue { display: inline-block; padding: 19px 50px 17px 40px; background: #014099; min-width: 320px; border-radius: 40px; position: relative; transition: 0.3s all; }
.md_btn_mainBlue span { display: inline-block; line-height: 1; font-size: 1em; color: #fff; letter-spacing: 0; font-weight: bold; transition: 0.3s all; }
.md_btn_mainBlue::before { content: ""; display: block; width: 32px; height: 32px; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: #02347B url("/imageFile/global/icon_arrow_white.svg") no-repeat center; background-size: 16px auto; border-radius: 32px; transition: 0.3s all; }
.md_btn_mainBlue:hover { background: #02347B; }
.md_btn_mainBlue:hover span {}
.md_btn_mainBlue:hover::before { right: 7px; }

.md_btn_red { display: inline-block; padding: 15px 45px 13px 35px; min-width: 240px; background: #FF385C; border-radius: 30px; position: relative; text-align: center; transition: 0.3s all; }
.md_btn_red span { display: inline-block; line-height: 1; font-size: 0.9125em; color: #fff; letter-spacing: 0; font-weight: bold; transition: 0.3s all; }
.md_btn_red::before { content: ""; display: block; width: 30px; height: 30px; position: absolute; right: 8px; top: 50%; transform: translateY(-50%);  background: #DE3150 url("/imageFile/global/icon_arrow_white.svg") no-repeat center; background-size: 15px auto; border-radius: 30px; transition: 0.3s all; }
.md_btn_red:hover { background: #DE3150; }
.md_btn_red:hover span {}
.md_btn_red:hover::before { right: 5px; }

.md_btn_mainRed { display: inline-block; padding: 19px 50px 17px 40px; background: #FF385C; min-width: 320px; border-radius: 40px; position: relative; text-align: center; transition: 0.3s all; }
.md_btn_mainRed span { display: inline-block; line-height: 1; font-size: 1em; color: #fff; letter-spacing: 0; font-weight: bold; transition: 0.3s all; }
.md_btn_mainRed::before { content: ""; display: block; width: 32px; height: 32px; position: absolute; right: 10px; top: 50%; transform: translateY(-50%);  background: #DE3150 url("/imageFile/global/icon_arrow_white.svg") no-repeat center; background-size: 16px auto; border-radius: 32px; transition: 0.3s all; }
.md_btn_mainRed:hover { background: #DE3150; }
.md_btn_mainRed:hover span {}
.md_btn_mainRed:hover::before { right: 7px; }

.md_textLink_blue { display: inline-block; padding-right: 45px; position: relative; transition: 0.3s all; }
.md_textLink_blue span { display: inline-block; line-height: 1; font-size: 0.9125em; color: #014099; font-weight: bold; letter-spacing: 0; transition: 0.3s all; }
.md_textLink_blue::before { content: ""; display: block; width: 28px; height: 28px; position: absolute; right: 8px; top: 50%; transform: translateY(-50%);  background: #02347B url("/imageFile/global/icon_arrow_white.svg") no-repeat center; background-size: 14px auto; border-radius: 28px; transition: 0.3s all; }
.md_textLink_blue:hover {}
.md_textLink_blue:hover span {}
.md_textLink_blue:hover::before { right: 5px; }

/*============================
md_mainTitle
============================*/
.md_mainTitle {}
.md_mainTitle .sub { padding-left: 25px; position: relative; }
.md_mainTitle .sub::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 15px; height: 2px; border-bottom: solid 1px #222; }
.md_mainTitle .main { margin-top: 10px; font-size: 2em; font-weight: bold; line-height: 1.3; }
.md_mainTitle .lead { margin-top: 20px; line-height: 1.5; }

.md_title_bar { background: #333; color: #fff; border-radius: 5px; padding: 15px 0 13px; line-height: 1.25; text-align: center; letter-spacing: 0.1em; font-weight: bold; font-size: 1.125em; }
.md_tab_bar { background: #333; color: #fff; border-radius: 5px 5px 0 0; padding: 15px 0 13px; line-height: 1.25; text-align: center; letter-spacing: 0.1em; font-weight: bold; font-size: 1.125em; }

.md_title_sub { text-align: center; position: relative; overflow: hidden; }
.md_title_sub span { display: inline-block; padding: 0 20px; background: #fff; font-weight: bold; letter-spacing: 0.1em; font-size: 1.125em; line-height: 1.5; }
.md_title_sub span::before { content: ""; position: absolute; right: -30px; top: 50%; transform: translateY(-50%); width: 50%; height: 2px; border-bottom: dotted 1px #ccc; z-index: -1; }
.md_title_sub span::after { content: ""; position: absolute; left: -30px; top: 50%; transform: translateY(-50%); width: 50%; height: 2px; border-bottom: dotted 1px #ccc; z-index: -1; }

.md_title_line { border-top: solid 2px #222; border-bottom: solid 2px #222; padding: 16px 0 14px; text-align: center; font-size: 1.375em; line-height: 1.5; font-weight: bold; }

/*============================
.md_pankuzuArea
============================*/
.md_bottomBannerArea { margin-top: 100px; margin-bottom: -40px; }
.md_bottomBannerArea .banner { padding-top: 60px; display: flex; align-items: center; flex-direction: row-reverse; border-top: solid 1px #ddd; }
.md_bottomBannerArea .banner .link { width: 33%; }
.md_bottomBannerArea .banner .link a { display: block; padding: 5px; background: #fff; border: solid 1px #e5e5e5; border-radius: 10px; box-shadow: 5px 5px 10px 0 rgba(0,0,0,0.05); }
.md_bottomBannerArea .banner .link a .image { border-radius: 5px; overflow: hidden; }
.md_bottomBannerArea .banner .link a .image img { width: 100%; height: auto; }
.md_bottomBannerArea .banner .data { flex: 1; margin-right: 30px; }
.md_bottomBannerArea .banner .data .title { font-weight: bold; font-size: 1.125em; line-height: 1.5; }
.md_bottomBannerArea .banner .data .text { margin-top: 10px; flex: 1; line-height: 1.75; }

/*============================
.md_pankuzuArea
============================*/
.md_pankuzuArea { margin-top: 100px; margin-bottom: -60px; position: relative; }
.md_pankuzuArea ul { z-index: 1; padding: 12px 16px 10px!important; display: flex; align-items: center; background: #fafafa; border-top: solid 1px #e5e5e5; border-bottom: solid 1px #e5e5e5; }
.md_pankuzuArea ul li { display: inline-block; margin-right: 40px; font-size: 0.875em; line-height: 1.25; position: relative; }
.md_pankuzuArea ul li::after { display: block; content: ""; position: absolute; top: 5px; right: -35px; width: 18px; height: 18px; border-top: 1px solid #aaa; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); opacity: 0.75; }
.md_pankuzuArea ul li a { display: block; color: #222; white-space: nowrap; }
.md_pankuzuArea ul li:first-child {} 
.md_pankuzuArea ul li:first-child a {}
.md_pankuzuArea ul li:last-child { margin-right: 0; overflow: hidden;  }
.md_pankuzuArea ul li:last-child a { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.md_pankuzuArea ul li:last-child::after { display: none; }
.md_pankuzuArea ul li a span { text-decoration: none; font-weight: 400; color: #999; }
.md_pankuzuArea ul li a em { font-weight: 400; color: #222; }

/*============================
br
============================*/
.md_br_sp { display: none; }
.md_br_pc { display: inline; }

/*============================
ClearFix
============================*/
.clearFix::after { clear: both; display: block; content: ""; height: 0; line-height: 0; }