@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&display=swap');
.gigaindex .head {
 display: none;
}
.thm-page-special .gigaindex .detail img {
 max-width: 100%;
 height: inherit;
}
.thm-page-special .gigaindex .detail {
 font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
 font-weight: 500;
 width: 100%;
 max-width: 750px;
 margin: 0 auto;
 background: #003e1f url(bg.jpg) repeat-y center top;
 background-size: 100% auto;
}
.thm-page-special .gigaindex .detail .free-custom {
 background: url(header.jpg?v1) no-repeat center top;
 background-size: 100% auto;
 position: relative;
 padding-top: 36%;
}
.gigaindex .detail .logo_ec {
 width: 32%;
 position: absolute;
 left: 12px;
 top: 6px;
}
.detail .main {
 background: url(bottom.jpg?v1) no-repeat center bottom;
 background-size: 100% auto;
}
.detail .main p.read {
 line-height: 1.7em;
 color: #fff;
 width: 88%;
 margin: 0 auto 20px;
}
.detail .main .bottom p {
 text-align: left;
 line-height: 1.7em;
 color: #fff;
 width: 88%;
 margin: auto;
 padding-bottom: 25%;
}
.detail .winning {
 width: 100%;
 margin: 30px auto 0;
 display: -webkit-box;
 display: -ms-flexbox;
 display: -webkit-flex;
 display: flex;
 -webkit-flex-wrap: wrap;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
}
.detail .choice {
 width: 100%;
 margin: 0 auto 30px;
 position: relative;
}
.choice .ttl {
 background-image: -webkit-linear-gradient(315deg, #e4c943 0%, #f1ee96 40%, #efe588 60%, #e4c943 100%);
 background-image: linear-gradient(135deg, #e4c943 0%, #f1ee96 40%, #efe588 60%, #e4c943 100%);
 font-size: 20px;
 color: #396338;
 font-weight: bold;
 text-shadow: 0px 2px 1px rgba(252, 249, 229, .7);
 z-index: 10;
 text-align: center;
 position: relative;
 margin: 0 -24px .15em;
 padding: .15em 0;
}
.choice .ttl:before, .choice .ttl:after {
 position: absolute;
 content: '';
}
.choice .ttl:before {
 bottom: -8px;
 left: 0;
 width: 0;
 height: 0;
 border-top: 8px solid #c49b37;
 border-left: 8px solid transparent;
}
.choice .ttl:after {
 right: 0;
 bottom: -8px;
 width: 0;
 height: 0;
 border-top: 8px solid #c49b37;
 border-right: 8px solid transparent;
}
.choice .ttl .txt {
 border-top: 2px solid #497b40;
 border-bottom: 2px solid #497b40;
 display: block;
 padding: .2rem 1rem;
}
.detail .box {
 margin: auto;
 width: 90%;
 border-bottom: 6px solid #ccaf51;
 position: relative;
 background-color: #fff;
 padding: 0 16px 16px;
}
.box:before, .box:after {
 height: 100%;
 content: "";
 display: block;
 width: 6px;
 background: linear-gradient(to bottom, #e4c943 0%, #e4c943 48%, #ccaf51 100%);
 position: absolute;
 top: 0;
 bottom: 0;
}
.box:before {
 left: 0;
}
.box:after {
 right: 0;
}
.detail .main .box p {
 color: #333;
 text-align: left;
 font-size: 14px;
 line-height: 1.7em;
 width: 96%;
 margin: 0 auto 8px;
}
.choice .service {
 display: -webkit-box;
 display: -ms-flexbox;
 display: -webkit-flex;
 display: flex;
 justify-content: center;
 align-items: center;
 flex-direction: column;
 text-align: center;
 background: url(bg_service.png) no-repeat center center;
 background-size: 100% auto;
 height: 60px;
 margin: 0 auto 14px;
 padding: 0 20px;
 font-size: 18px;
 line-height: 1.3em;
 font-weight: bold;
}
.choice .service span {
 font-size: 13px;
 color: #2b9446;
 display: block;
}
.choice .service span.small {
 font-size: .85em;
 line-height: 1.3em;
 color: #333;
}
.frame {
 display: block;
 position: relative;
 overflow: hidden;
 padding: 3px;
 margin: 5px auto 14px;
}
.frame img {
 box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.3);
 aspect-ratio: 3 / 2;
 object-fit: cover;
}
.frame:before, .frame:after {
 content: "";
 position: absolute;
 z-index: 1;
 width: 87px;
 height: 45px;
 background: #fff; /* 背景色 */
 -webkit-transform: rotate(-40deg);
 -moz-transform: rotate(-40deg);
 transform: rotate(-40deg);
}
/* 左上 */
.frame:before {
 box-shadow: 0 5px 4px -6px rgba(0, 0, 0, 0.3);
 top: -28px;
 bottom: auto;
 right: auto;
 left: -30px;
 border-bottom: 2px solid #497b40;
}
/* 右下 */
.frame:after {
 box-shadow: 0 -5px 5px -5px rgba(0, 0, 0, 0.3);
 top: auto;
 bottom: -28px;
 right: -30px;
 left: auto;
 border-top: 2px solid #497b40;
}
.gigaindex .free-custom .choice .link {
 line-height: 1.6;
 padding-left: 22px;
 color: #2c9446;
 position: relative;
 display: block;
}
.choice .link:before {
 content: " ";
 background: url("data:image/svg+xml;charset=utf-8,%3Csvg class='heart__icon' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ctitle%3Eframe%3C/title%3E%3Cg%3E%3Cpath fill='%232c9446' d='M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm-1.568 18.005l-1.414-1.415 4.574-4.59-4.574-4.579 1.414-1.416 5.988 5.995-5.988 6.005z' /%3E%3C/g%3E%3C/svg%3E");
 background-position: center center;
 background-size: 16px 16px;
 background-repeat: no-repeat;
 width: 16px;
 height: 16px;
 display: block;
 position: absolute;
 left: 0;
 top: 4px;
}
.choice .link:hover, .choice .link:hover:before {
 color: #54b96a;
}