@charset "utf-8";

/*============================
ClearFix
============================*/
.clearFix::after { clear: both; display: block; content: ""; height: 0; line-height: 0; }

/*============================
font
============================*/
.md_font_FuturaPT-L { font-family: "futura-pt", sans-serif; font-weight: 300; font-style: normal; }
.md_font_FuturaPT-B { font-family: "futura-pt", sans-serif; font-weight: 400; font-style: normal; }
.md_font_FuturaPT-M { font-family: "futura-pt", sans-serif; font-weight: 500; font-style: normal; }
.md_font_FuturaPT-D { font-family: "futura-pt", sans-serif; font-weight: 600; font-style: normal; }
.md_font_FuturaPT-H { font-family: "futura-pt", sans-serif; font-weight: 700; font-style: normal; }

/*============================
md_container
============================*/
.md_container { width: 960px; margin: 0 auto; position: relative; text-align: left; }

/*============================
#mainBlock
============================*/
#mainBlock {}
#mainBlock #contentsBlock {}
#mainBlock #contentsBlock #maimPanelArea { background: url("../img/bg_main01.png") no-repeat center top; }
#mainBlock #contentsBlock #maimPanelArea picture {}
#mainBlock #contentsBlock #maimPanelArea picture source {}
#mainBlock #contentsBlock #maimPanelArea picture img {}
#mainBlock #contentsBlock #maimPanelArea .copy {}
#mainBlock #contentsBlock #articleArea { background: #f3eee9; padding: 100px 0; overflow: hidden; }
#mainBlock #contentsBlock #articleArea .summary {}
#mainBlock #contentsBlock #articleArea .summary .lead {}
#mainBlock #contentsBlock #articleArea .summary .lead .title { font-size: 1.275em; font-weight: bold; }
#mainBlock #contentsBlock #articleArea .summary .lead .text { margin-top: 15px; font-size: 1.125em; font-weight: bold; line-height: 2; }
#mainBlock #contentsBlock #articleArea .summary .mokuji { margin-top: 40px; background: #fafafa; border-radius: 30px; padding: 8px; }
#mainBlock #contentsBlock #articleArea .summary .mokuji .data { padding: 30px 50px 35px; border: solid 1px #ccc; border-radius: 25px; }
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .title { font-size: 1.4em; font-weight: bold; padding-bottom: 15px; border-bottom: dotted 1px #ccc; letter-spacing: 0.1em; }
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list {}
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list ul { padding-top: 10px; }
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list ul li { line-height: 1.25; margin-top: 10px; }
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list ul li a {}
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list ul li a .text { text-decoration: underline; font-size: 1.25em;transition: 0.3s all; }
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list ul li a .number { margin-right: 10px; font-size: 2em; color: #c9144c; font-style: italic; transition: 0.3s all; }
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list ul li a:hover { text-decoration: none; }
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list ul li a:hover .text { color: #c9144c; }
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list ul li a:hover .number {}
#mainBlock #contentsBlock #articleArea .content { position: relative; padding: 40px 0 0; margin-top: 80px; border-top: solid 6px #222; }
#mainBlock #contentsBlock #articleArea .content::before { content: ""; position: absolute; left: -36px; top: -6px; width: 30px; height: 6px; border-top: dotted 6px #222; }
#mainBlock #contentsBlock #articleArea .content::after { content: ""; position: absolute; right: -36px; top: -6px; width: 30px; height: 6px; border-top: dotted 6px #222; }
#mainBlock #contentsBlock #articleArea .content .md_title { margin-top: 40px; margin-bottom: -20px; padding: 20px 50px; display: flex; align-items: center; position: relative; z-index: 1; }
#mainBlock #contentsBlock #articleArea .content .md_title::before { content: ""; position: absolute; left: 0; top: 0; width: 40px; height: 40px; border-left: solid 3px #222; border-top: solid 3px #222; }
#mainBlock #contentsBlock #articleArea .content .md_title::after { content: ""; position: absolute; right: 0; bottom: 0; width: 40px; height: 40px; border-right: solid 3px #222; border-bottom: solid 3px #222; }
#mainBlock #contentsBlock #articleArea .content .md_title .number { margin-right: 30px; font-size: 8em; color: #c9144c; font-style: italic; line-height: 1; letter-spacing: -0.1em; }
#mainBlock #contentsBlock #articleArea .content .md_title .copy { flex: 1; font-size: 2em; line-height: 1.5; letter-spacing: 0.1em; font-weight: bold; }
#mainBlock #contentsBlock #articleArea .content .contentText { margin-top: 60px; font-size: 1.125em; line-height: 2; position: relative; z-index: 1; }
#mainBlock #contentsBlock #articleArea .content .contentText strong { background: #ffd1ca; margin: 0 2px; }
#mainBlock #contentsBlock #articleArea .content .contentImage { margin-top: 60px; text-align: center; position: relative; }
#mainBlock #contentsBlock #articleArea .content .contentImage.mode01::before { content: ""; position: absolute; left: -540px; top: -360px; opacity: 0.4; width: 800px; height: 800px; border-radius: 800px; border: solid 80px #fff; z-index: 0; }
#mainBlock #contentsBlock #articleArea .content .contentImage.mode01::after { content: ""; position: absolute; left: -260px; top: 260px; opacity: 0.4; width: 600px; height: 600px; border-radius: 800px; border: solid 80px #fff; z-index: 0; }
#mainBlock #contentsBlock #articleArea .content .contentImage.mode02::before { content: ""; position: absolute; right: -340px; bottom: -360px; opacity: 0.4; width: 600px; height: 600px; border-radius: 800px; border: solid 80px #fff; z-index: 0; }
#mainBlock #contentsBlock #articleArea .content .contentImage img { border-radius: 20px; overflow: hidden; box-shadow: 0 10px 30px 0 rgba(0,0,0,.07); position: relative; z-index: 1; }
#mainBlock #contentsBlock #articleArea .content .contentImage .caption { margin-top: 20px; text-align: center; font-weight: bold; font-size: 0.9125em; position: relative; z-index: 1; }
#mainBlock #contentsBlock #articleArea .content .contentVoice { margin-top: 60px; font-size: 1.125em; line-height: 2; font-style: italic; font-weight: bold; position: relative; z-index: 1; }
#mainBlock #contentsBlock #articleArea .content .contentVoice em { margin: 0 3px; font-size: 1.125em; }
#mainBlock #contentsBlock #articleArea .content .contentVoice span { margin-left: 5px; font-weight: normal; }
#mainBlock #contentsBlock #articleArea .content .contentSubTitle { margin-top: 80px; background: #fff; padding: 15px 15px 14px; border-left: 6px solid #c9144c; font-size: 1.25em; font-weight: bold; border-radius: 0 40px 40px 0; line-height: 1.25; position: relative; z-index: 1; }
#mainBlock #contentsBlock #articleArea .content .contentMiniTitle { margin-top: 60px; position: relative; z-index: 1; }
#mainBlock #contentsBlock #articleArea .content .contentTable { padding: 60px; margin-top: 60px; background: #fff; border-radius: 30px; position: relative; z-index: 1; }
#mainBlock #contentsBlock #articleArea .content .contentTable .title {}
#mainBlock #contentsBlock #articleArea .content .contentTable .title .en { font-size: 0.9125em; }
#mainBlock #contentsBlock #articleArea .content .contentTable .title .ja { margin-top: 10px; margin-bottom: 30px; font-size: 1.75em; letter-spacing: 0.1em; font-weight: bold; line-height: 1; }
#mainBlock #contentsBlock #articleArea .content .contentTable table { width: 100%; border-spacing: 0; }
#mainBlock #contentsBlock #articleArea .content .contentTable table tr {}
#mainBlock #contentsBlock #articleArea .content .contentTable table tr th { width: 160px; padding: 15px; font-weight: bold; border-bottom: solid 1px #222; vertical-align: top; position: relative; }
#mainBlock #contentsBlock #articleArea .content .contentTable table tr th::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 3px; background: #222; }
#mainBlock #contentsBlock #articleArea .content .contentTable table tr td { padding: 15px; border-bottom: solid 1px #ddd; line-height: 1.5; }
#mainBlock #contentsBlock #articleArea .content .contentTable table tr td span { font-size: 0.875em; }
#mainBlock #contentsBlock #articleArea .content .contentTable table tr td a { text-decoration: underline; }
#mainBlock #contentsBlock #articleArea .content .contentTable table tr td .tableImage { margin-top: 10px; text-align: center; position: relative; }
#mainBlock #contentsBlock #articleArea .content .contentTable table tr td .tableImage img { max-width: 100%; height: auto; border-radius: 10px; overflow: hidden;  }
#mainBlock #contentsBlock #articleArea .content .contentTable iframe { margin-top: 40px; width: 100%; height: 400px; }
#mainBlock #contentsBlock #articleArea .content .contentUrl { margin-top: 60px; position: relative; z-index: 1; }
#mainBlock #contentsBlock #articleArea .content .contentUrl a { text-decoration: underline; }


@media only screen and (max-width: 640px) {

.md_container { width: inherit; padding: 0 20px; position: relative; }
	
/*============================
#mainBlock
============================*/
#mainBlock {}
#mainBlock #contentsBlock {}
#mainBlock #contentsBlock #maimPanelArea { background: none; }
#mainBlock #contentsBlock #maimPanelArea picture {}
#mainBlock #contentsBlock #maimPanelArea picture source {}
#mainBlock #contentsBlock #maimPanelArea picture img {}
#mainBlock #contentsBlock #maimPanelArea .copy {}
#mainBlock #contentsBlock #articleArea { padding: 40px 0; }
#mainBlock #contentsBlock #articleArea .summary {}
#mainBlock #contentsBlock #articleArea .summary .lead {}
#mainBlock #contentsBlock #articleArea .summary .lead .title { font-size: 1.125em; }
#mainBlock #contentsBlock #articleArea .summary .lead .text { margin-top: 10px; font-size: 1em; line-height: 1.75; }
#mainBlock #contentsBlock #articleArea .summary .mokuji { margin-top: 20px; border-radius: 20px; padding: 5px; }
#mainBlock #contentsBlock #articleArea .summary .mokuji .data { padding: 15px 20px; border: solid 1px #ccc; border-radius: 15px; }
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .title { font-size: 1.125em; }
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list {}
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list ul {}
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list ul li {}
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list ul li a {}
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list ul li a .text { font-size: 1em; display: inline-block; width: calc(100% - 40px); }
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list ul li a .number {}
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list ul li a:hover {}
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list ul li a:hover .text {}
#mainBlock #contentsBlock #articleArea .summary .mokuji .data .list ul li a:hover .number {}
#mainBlock #contentsBlock #articleArea .content { padding-top: 20px; margin-top: 40px; border-top: solid 3px #222; }
#mainBlock #contentsBlock #articleArea .content::before { left: -20px; top: -3px; width: 20px; height: 3px; border-top: dotted 3px #222; }
#mainBlock #contentsBlock #articleArea .content::after { right: -20px; top: -3px; width: 20px; height: 3px; border-top: dotted 3px #222; }
#mainBlock #contentsBlock #articleArea .content .md_title { margin-top: 20px; margin-bottom: -20px; padding: 15px; }
#mainBlock #contentsBlock #articleArea .content .md_title::before { width: 20px; height: 20px; border-left: solid 2px #222; border-top: solid 2px #222; }
#mainBlock #contentsBlock #articleArea .content .md_title::after { width: 20px; height: 20px; border-right: solid 2px #222; border-bottom: solid 2px #222; }
#mainBlock #contentsBlock #articleArea .content .md_title .number { margin-right: 20px; font-size: 4em; }
#mainBlock #contentsBlock #articleArea .content .md_title .copy { font-size: 1.3em; }
#mainBlock #contentsBlock #articleArea .content .contentText { margin-top: 30px; font-size: 1em; line-height: 1.75; }
#mainBlock #contentsBlock #articleArea .content .contentText strong {}
#mainBlock #contentsBlock #articleArea .content .contentImage { margin-top: 30px; }
#mainBlock #contentsBlock #articleArea .content .contentImage.mode01::before { left: -270px; top: -180px; width: 400px; height: 400px; border: solid 40px #fff; }
#mainBlock #contentsBlock #articleArea .content .contentImage.mode01::after { left: -130px; top: 130px; width: 300px; height: 300px; border: solid 40px #fff; }
#mainBlock #contentsBlock #articleArea .content .contentImage.mode02::before { right: -170px; bottom: -180px; width: 300px; height: 300px; border: solid 40px #fff; }
#mainBlock #contentsBlock #articleArea .content .contentImage img { border-radius: 10px; }
#mainBlock #contentsBlock #articleArea .content .contentImage .caption { margin-top: 10px; font-size: 0.875em; }
#mainBlock #contentsBlock #articleArea .content .contentVoice { margin-top: 30px; font-size: 1em; line-height: 1.75; }
#mainBlock #contentsBlock #articleArea .content .contentVoice em { margin: 0 3px; font-size: 1em; }
#mainBlock #contentsBlock #articleArea .content .contentVoice span {}
#mainBlock #contentsBlock #articleArea .content .contentSubTitle { margin-top: 60px; padding: 12px; border-left: 4px solid #c9144c; font-size: 1.125em; }
#mainBlock #contentsBlock #articleArea .content .contentMiniTitle { margin-top: 60px; }
#mainBlock #contentsBlock #articleArea .content .contentTable { padding: 20px; margin-top: 30px; border-radius: 20px; }
#mainBlock #contentsBlock #articleArea .content .contentTable .title {}
#mainBlock #contentsBlock #articleArea .content .contentTable .title .en { font-size: 0.875em; }
#mainBlock #contentsBlock #articleArea .content .contentTable .title .ja { margin-top: 5px; margin-bottom: 10px; font-size: 1.375em; }
#mainBlock #contentsBlock #articleArea .content .contentTable table {}
#mainBlock #contentsBlock #articleArea .content .contentTable table tr {}
#mainBlock #contentsBlock #articleArea .content .contentTable table tr th { width: 25%; padding: 12px 0; font-size: 0.875em; line-height: 1.25; }
#mainBlock #contentsBlock #articleArea .content .contentTable table tr th::after { width: 78px; }
#mainBlock #contentsBlock #articleArea .content .contentTable table tr td { padding: 12px 0 12px 10px; font-size: 0.875em; line-height: 1.25; }
#mainBlock #contentsBlock #articleArea .content .contentTable table tr td span { font-size: 0.75em; }
#mainBlock #contentsBlock #articleArea .content .contentTable table tr td a {}
#mainBlock #contentsBlock #articleArea .content .contentTable table tr td .tableImage {}
#mainBlock #contentsBlock #articleArea .content .contentTable table tr td .tableImage img { border-radius: 5px; }
#mainBlock #contentsBlock #articleArea .content .contentTable iframe { margin-top: 20px; height: 500px; }
#mainBlock #contentsBlock #articleArea .content .contentUrl { margin-top: 30px; }
#mainBlock #contentsBlock #articleArea .content .contentUrl a {}
	
}