header:not([class]){ position: absolute; top: 0; left: 0; background: rgba(255,255,255,.95); z-index: 10; }

.mv{ height: 450px; background-repeat: no-repeat; background-size: cover; position: relative; display: flex; justify-content: center; align-items: center; z-index: 0; }
.mv.sample{ background-image: url(../images/dummy/mv01.jpg); }
.mv h1{ font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif; font-weight: 500; color: #fff; font-size: 36px; text-align: center; line-height: 1.4; }

main{ display: block; margin-bottom: 60px; }

.container{ width: 800px; margin: 0 auto; padding: 100px 0; }

.container h2{ font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif; letter-spacing: .06em; font-weight: 500; text-align: center; font-size: 24px; margin: 100px 0 40px; padding: .4em 1em;
	background: rgb(255,180,180); /* Old browsers */
	background: -moz-linear-gradient(45deg, rgba(255,180,180,1) 0%, rgba(255,180,180,1) 33%, rgba(255,210,210,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(45deg, rgba(255,180,180,1) 0%,rgba(255,180,180,1) 33%,rgba(255,210,210,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(45deg, rgba(255,180,180,1) 0%,rgba(255,180,180,1) 33%,rgba(255,210,210,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffb4b4', endColorstr='#ffd2d2',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */}
/*.container h3{ font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif; letter-spacing: .06em; font-size: 20px; text-align: center; color: #; background: #f8f8f4; padding: .1em 0; margin: 100px 0 50px; }*/
.container h3{ font-size: 20px; color: #ffb4b4; border-bottom: solid 1px #f7f7f7; margin: 60px 0 20px; padding-bottom: .3em; }
.container h4{ font-size: 18px; display: table; background: #fff0f0; padding: .2em .8em; margin: 40px 0 20px; }
.container p{ margin-bottom: 1em; line-height: 2; }
.container h2 + *,
.container h3 + *,
.container h4 + *,
.container h5 + *{ margin-top: 0 !important; }

.container .side-img{ display: flex; justify-content: space-between; margin: 50px 0; }
.container .side-img .img{ width: 350px; }
.container .side-img .img img{ display: block; width: 100%; }
.container .side-img .content{ width: 400px; }

.container img{ display: block; margin-bottom: 30px; }
.container img.sp{ display: none; }
.container img.wide{ display: block; width: 100%; margin: 40px 0; }

.container > *:first-child,
.container .side-img .content > *:first-child,
.container .side-img .img > *:first-child,
.container .list02 li .img > *:first-child{ margin-top: 0 !important; }
.container > *:last-child,
.container .side-img .content > *:last-child,
.container .side-img .img > *:last-child,
.container .list02 li .img > *:last-child{ margin-bottom: 0 !important; }

.container table{ width: 100%; margin: 40px 0; }
.container table th{ background: #f7f7f7; padding: 1em; vertical-align: middle; white-space: nowrap; border: solid 1px #f7f7f7; }
.container table tr:not(:last-of-type) th{ border-bottom-color: #fff; }
.container table td{ padding: 1em; vertical-align: middle; border: solid 1px #f7f7f7; }

.container .list01{ margin: 40px 0; }
.container .list01 dl{ padding-bottom: 25px; border-bottom: solid 1px #e6e6e6; }
.container .list01 dl + dl{ margin-top: 25px; }
.container .list01 dl dt{ font-size: 20px; padding-left: 40px; position: relative; color: #ffb4b4; }
.container .list01.title-only dl{ padding-bottom: 15px;}
.container .list01.title-only dl dt{font-size: 16px;}
.container .list01 dl dt:before{ content: ''; width: 31px; height: 31px; background: url(../images/common/icon-check01.png) no-repeat; background-size: contain; position: absolute; left: 0; top: 3px; }
.container .list01 dl dd{ line-height: 2; margin-top: 1em; }

.container .list02{ margin: 40px 0; counter-reset: list02; }
.container .list02 li{ border-bottom: solid 1px #f7f7f7; }
.container .list02 li + li{ margin-top: 50px; }
.container .list02 li.parent{ display: flex; justify-content: space-between;  }
.container .list02 li dl{ padding-bottom: 25px; }
.container .list02 li.parent dl{ width: 400px; }
.container .list02 li dl dt{ font-size: 20px; padding-left: 2em; color: #ffb4b4; position: relative; margin-bottom: .6em; }
.container .list02 li dl dt:before{ counter-increment: list02; content: counter(list02); width: 30px; height: 30px; background: #ffb4b4; font-size: 22px; font-family: adobe-garamond-pro, serif; font-weight: 600; letter-spacing: 0; line-height: 1; color: #323232; display: flex; justify-content: center; align-items: center; position: absolute; left: 0; top: 2px; }
.container .list02 li .img{ width: 350px; }

.container.kiyaku .list02 li + li{margin-top: 25px;}
.container.kiyaku .list02 li dl{padding-bottom: 0;}
.container.kiyaku .list02 li dl dt{font-size: 15px; padding-left: 2.5em; color: #323232; line-height: 2;}
.container.kiyaku .list02 li dl dt:before{width: 25px; height:  25px; font-size: 16px;}


/*** dr ***/

.bg-pattern.dr .container{ padding-bottom: 0; }
.container .dr-pr{ position: relative; padding-top: 40px; min-height: 350px; }
.container .dr-pr dt{ font-size: 44px; margin-bottom: 10px; }
.container .dr-pr dd{ width: 440px; padding-bottom: 80px; }
.container .dr-pr img{ width: 300px; position: absolute; bottom: 0; right: 0; margin: 0; }

.container .history-box > dt{ font-size: 16px; text-align: center; background: #fff1f1; padding: .8em; margin-bottom: 24px; }
.container .history-box > .table{ display: table; }
.container .history-box > .table dl{ display: table-row; }
.container .history-box > .table dl dt{ display: table-cell; font-size: 14px; color: #ffb4b4; width: 1px; padding-right: 1.5em; white-space: nowrap; }
.container .history-box > .table dl dd{ display: table-cell; font-size: 14px; }

.container .side-img .half{width: calc(50% - 10px);}


/*** archive ***/

.container .list01 dl dd .time{ font-size: 12px; }
.container .list01 dl dd .cat{ display: inline-block; font-size: 12px; background: #ffb4b4; padding: 0 1.5em; position: relative; z-index: 11; border-radius: 5px; }

.wp-pagenavi{ display: flex; margin-top: 100px; }
.wp-pagenavi a, .wp-pagenavi span{ width: 20px; height: 20px; border: solid 1px #ffb4b4; color: #ffb4b4; display: flex; justify-content: center; align-items: center; margin-right: 10px; letter-spacing: 0; line-height: 1; }
.wp-pagenavi span.current{ background: #ffb4b4; color: #fff; }