@charset "utf-8";
/* CSS Document */


/*PC*/
@media screen and (min-width: 1680px) {


.cont01 { padding-top: 76px;}
.cont01 .inner {}
.cont01 .inner .box { width: 1328px; margin: 0 auto 94px; display: flex; justify-content: space-between; align-items: baseline;}
.cont01 .inner .box .boxL { width: 548px;}
.cont01 .inner .box .boxL .txt { width: 100%;}
.cont01 .inner .box .boxL .txt h3 { width: 100%; margin-bottom: 78px;}
.cont01 .inner .box .boxL .txt p { font-size: 30px; line-height: 54px;}
.cont01 .inner .box .boxR { width: 688px;}
.cont01 .inner .box .boxR .txt { padding: 50px 38px 20px 44px; position: relative;}
.cont01 .inner .box .boxR .txt::before { content: ""; width: 148px; height: 160px; border-top: solid 1px var(--color99); border-left: solid 1px var(--color99); position: absolute; top: 0; left: 0;}
.cont01 .inner .box .boxR .txt::after  { content: ""; width: 148px; height: 160px; border-bottom: solid 1px var(--color99); border-right: solid 1px var(--color99); position: absolute; bottom: 0; right: 0;}
.cont01 .inner .box .boxR .txt h4 { font-size: 34px; font-weight: 600; text-align: center; position: absolute; left: 0; right: 0; top: -0.8em; font-family: "Noto Serif JP", serif;}
.cont01 .inner .box .boxR .txt .img { width: 336px; position: absolute; top: -200px; right: -100px;}
.cont01 .inner .box .boxR .txt p { font-size: 17px;}


.cont02 {}
.cont02 .inner {}
.cont02 .inner .box { width: 1098px; margin: 0 auto 146px; display: flex; justify-content: space-between;}
.cont02 .inner .box .txt {}
.cont02 .inner .box .txt h3 { width: 400px; font-size: 30px; font-weight: 500; padding: 20px 0; margin-bottom: 40px; text-align: center; border-top: solid 1px var(--color99); border-bottom: solid 1px var(--color99); font-feature-settings: "palt";}
.cont02 .inner .box .txt dl {}
.cont02 .inner .box .txt dl dt { width: 40px; height: 40px; text-align: center; align-content: center; font-size: 24px; color: var(--color00); float: left;}
.cont02 .inner .box .txt dl dt:nth-of-type(1) { background: #d55f2d;}
.cont02 .inner .box .txt dl dt:nth-of-type(2) { background: #009de1;}
.cont02 .inner .box .txt dl dd { margin-left: 50px; margin-bottom: 20px; font-size: 19px; line-height: 1.4;}
.cont02 .inner .box .img { width: 596px; margin-right: 42px;}


.cont03 {}
.cont03 .inner {}
.cont03 .inner h3 { font-size: 38px; text-align: center; margin-bottom: 50px; font-family: "Noto Serif JP", serif; font-weight: 500;}
.cont03 .inner .box { width: 1324px; margin: auto; counter-reset: number 0;}
.cont03 .inner .box .box_list { width: 100%; margin-bottom: 110px; position: relative;}
.cont03 .inner .box .box_list::after  { content: ""; position: absolute; bottom: -60px; left: 0; right: 0; height: 2px; background-image: linear-gradient(to right, #333 6px, transparent 4px); background-size: 12px 2px; background-repeat: repeat-x; background-position: left bottom;}
.cont03 .inner .box .box_list:nth-last-of-type(1):after  { content: none;}
.cont03 .inner .box .box_list .overflow { width: 100%; min-height: 400px; background: #f2f0e9; overflow: hidden; position: relative; display: flex; justify-content: space-between; align-items: center;}
.cont03 .inner .box .box_list .overflow::before { content: ""; width: 700px; height: 700px; background: var(--color00); border-radius: 50%; position: absolute; left: 56px;}
.cont03 .inner .box .box_list .overflow .txt { width: 700px; margin-left: 56px; padding-top: 100px; text-align: center; position: relative;}
.cont03 .inner .box .box_list .overflow .txt .icon { width: 106px; position: absolute; top: 30px; left: 120px;}
.cont03 .inner .box .box_list .overflow .txt h4 { font-size: 26px; text-align: center; padding: 0 0 36px;}
.cont03 .inner .box .box_list .overflow .txt h4::before { content: counter(number) ""; counter-increment: number 1; position: absolute; top: -0.4em; left: 0; right: 0; margin: auto; font-size: 84px; font-family: "Noto Serif JP", serif; font-weight: 400;}
.cont03 .inner .box .box_list .overflow .txt p { width: 558px; margin: auto; text-align: left; font-size: 17px;}
.cont03 .inner .box .box_list .overflow .txt .btn { display: inline-block; margin-top: 20px;}
.cont03 .inner .box .box_list .overflow .txt .btn a { display: block; padding: 5px 10px 5px 40px; border: solid 2px var(--color99); border-radius: 40px; font-size: 16px; position: relative;}
.cont03 .inner .box .box_list .overflow .txt .btn a::before { content: "▼"; font-size: 14px; position: absolute; top: 0; bottom: 0; left: 20px; transform: rotate(-90deg); transition: ease .5s;}
.cont03 .inner .box .box_list .overflow .txt .btn a:hover { display: block;  font-size: 16px; position: relative; background: var(--color99); color: var(--color00);}
.cont03 .inner .box .box_list .overflow .txt .btn a:hover::before { content: "▼"; position: absolute; left: 25px; transform: rotate(-90deg); transition: ease .5s;}
.cont03 .inner .box .box_list .overflow .img { width: 384px; margin-right: 70px;}


}


/*PC*/
@media print, screen and (min-width: 768px) and ( max-width: 1679px) {


.cont01 { padding-top: 4.5238vw;}
.cont01 .inner {}
.cont01 .inner .box { width: 79.0476vw; margin: 0 auto 5.5952vw; display: flex; justify-content: space-between; align-items: baseline;}
.cont01 .inner .box .boxL { width: 32.6190vw;}
.cont01 .inner .box .boxL .txt { width: 100%;}
.cont01 .inner .box .boxL .txt h3 { width: 100%; margin-bottom: 4.6429vw;}
.cont01 .inner .box .boxL .txt p { font-size: 1.7857vw; line-height: 3.2143vw;}
.cont01 .inner .box .boxR { width: 40.9524vw;}
.cont01 .inner .box .boxR .txt { padding: 2.9762vw 2.2619vw 1.1905vw 2.6190vw; position: relative;}
.cont01 .inner .box .boxR .txt::before { content: ""; width: 8.8095vw; height: 9.5238vw; border-top: solid 1px var(--color99); border-left: solid 1px var(--color99); position: absolute; top: 0; left: 0;}
.cont01 .inner .box .boxR .txt::after  { content: ""; width: 8.8095vw; height: 9.5238vw; border-bottom: solid 1px var(--color99); border-right: solid 1px var(--color99); position: absolute; bottom: 0; right: 0;}
.cont01 .inner .box .boxR .txt h4 { font-size: 2.0238vw; font-weight: 600; text-align: center; position: absolute; left: 0; right: 0; top: -0.8em; font-family: "Noto Serif JP", serif;}
.cont01 .inner .box .boxR .txt .img { width: 20.0000vw; position: absolute; top: -11.9048vw; right: -5.9524vw;}
.cont01 .inner .box .boxR .txt p { font-size: 1.0119vw;}


.cont02 {}
.cont02 .inner {}
.cont02 .inner .box { width: 65.3571vw; margin: 0 auto 8.6905vw; display: flex; justify-content: space-between;}
.cont02 .inner .box .txt {}
.cont02 .inner .box .txt h3 { width: 23.8095vw; font-size: 1.7857vw; font-weight: 500; padding: 1.1905vw 0; margin-bottom: 2.3810vw; text-align: center; border-top: solid 1px var(--color99); border-bottom: solid 1px var(--color99); font-feature-settings: "palt";}
.cont02 .inner .box .txt dl {}
.cont02 .inner .box .txt dl dt { width: 2.3810vw; height: 2.3810vw; text-align: center; align-content: center; font-size: 1.4286vw; color: var(--color00); float: left;}
.cont02 .inner .box .txt dl dt:nth-of-type(1) { background: #d55f2d;}
.cont02 .inner .box .txt dl dt:nth-of-type(2) { background: #009de1;}
.cont02 .inner .box .txt dl dd { margin-left: 2.9762vw; margin-bottom: 1.1905vw; font-size: 1.1310vw; line-height: 1.4;}
.cont02 .inner .box .img { width: 35.4762vw; margin-right: 2.5000vw;}


.cont03 {}
.cont03 .inner {}
.cont03 .inner h3 { font-size: 2.2619vw; text-align: center; margin-bottom: 2.9762vw; font-family: "Noto Serif JP", serif; font-weight: 500;}
.cont03 .inner .box { width: 78.8095vw; margin: auto; counter-reset: number 0;}
.cont03 .inner .box .box_list { width: 100%; margin-bottom: 6.5476vw; position: relative;}
.cont03 .inner .box .box_list::after  { content: ""; position: absolute; bottom: -3.5714vw; left: 0; right: 0; height: 0.1190vw; background-image: linear-gradient(to right, #333 0.3571vw, transparent 0.2381vw); background-size: 0.7143vw 0.1190vw; background-repeat: repeat-x; background-position: left bottom;}
.cont03 .inner .box .box_list:nth-last-of-type(1):after  { content: none;}
.cont03 .inner .box .box_list .overflow { width: 100%; min-height: 23.8095vw; background: #f2f0e9; overflow: hidden; position: relative; display: flex; justify-content: space-between; align-items: center;}
.cont03 .inner .box .box_list .overflow::before { content: ""; width: 41.6667vw; height: 41.6667vw; background: var(--color00); border-radius: 50%; position: absolute; left: 3.3333vw;}
.cont03 .inner .box .box_list .overflow .txt { width: 41.6667vw; margin-left: 3.3333vw; padding-top: 5.9524vw; text-align: center; position: relative;}
.cont03 .inner .box .box_list .overflow .txt .icon { width: 6.3095vw; position: absolute; top: 1.7857vw; left: 7.1429vw;}
.cont03 .inner .box .box_list .overflow .txt h4 { font-size: 1.5476vw; text-align: center; padding: 0 0 2.1429vw;}
.cont03 .inner .box .box_list .overflow .txt h4::before { content: counter(number) ""; counter-increment: number 1; position: absolute; top: -0.4em; left: 0; right: 0; margin: auto; font-size: 4.7619vw; font-family: "Noto Serif JP", serif; font-weight: 400;}
.cont03 .inner .box .box_list .overflow .txt p { width: 33.2143vw; margin: auto; text-align: left; font-size: 1.0119vw;}
.cont03 .inner .box .box_list .overflow .txt .btn { display: inline-block; margin-top: 1.1905vw;}
.cont03 .inner .box .box_list .overflow .txt .btn a { display: block; padding: 0.2976vw 0.5952vw 0.2976vw 2.3810vw; border: solid 0.1190vw var(--color99); border-radius: 2.3810vw; font-size: 0.9524vw; position: relative;}
.cont03 .inner .box .box_list .overflow .txt .btn a::before { content: "▼"; font-size: 0.8333vw; position: absolute; top: 0; bottom: 0; left: 1.1905vw; transform: rotate(-90deg); transition: ease .5s;}
.cont03 .inner .box .box_list .overflow .txt .btn a:hover { display: block;  font-size: 0.9524vw; position: relative; background: var(--color99); color: var(--color00);}
.cont03 .inner .box .box_list .overflow .txt .btn a:hover::before { content: "▼"; position: absolute; left: 1.4881vw; transform: rotate(-90deg); transition: ease .5s;}
.cont03 .inner .box .box_list .overflow .img { width: 22.8571vw; margin-right: 4.1667vw;}


}



/*sp*/
@media only screen and (max-width: 767px) {


.cont01 {}
.cont01 .inner { padding: 0 4.0000vw;}
.cont01 .inner .box { margin: 0 auto 12.0000vw;}
.cont01 .inner .box .boxL {}
.cont01 .inner .box .boxL .txt { width: 100%; margin-bottom: 11.2000vw;}
.cont01 .inner .box .boxL .txt h3 { width: 64.5333vw; margin: 0 auto 7.2000vw;}
.cont01 .inner .box .boxL .txt p { font-size: 4.0000vw; line-height: 7.2000vw; text-align: center;}
.cont01 .inner .box .boxR {}
.cont01 .inner .box .boxR .txt { margin-bottom: 10.4000vw;}
.cont01 .inner .box .boxR .txt h4 { font-size: 4.5333vw; font-weight: 600; text-align: center; font-family: "Noto Serif JP", serif; margin-bottom: 4.0000vw;}
.cont01 .inner .box .boxR .txt .img { display: none;}
.cont01 .inner .box .boxR .txt p {}


.cont02 {}
.cont02 .inner { padding: 0 4.0000vw;}
.cont02 .inner .box { margin: 0 auto 20.0000vw; position: relative; padding-bottom: 54.6667vw;}
.cont02 .inner .box .txt { width: 79.2000vw; margin: 0 auto;}
.cont02 .inner .box .txt h3 { font-size: 4.0000vw; font-weight: 500; padding: 2.6667vw 0; margin-bottom: 5.3333vw; text-align: center; border-top: solid 1px var(--color99); border-bottom: solid 1px var(--color99); font-feature-settings: "palt";}
.cont02 .inner .box .txt dl { position: relative;}
.cont02 .inner .box .txt dl dt { width: 5.3333vw; height: 5.3333vw; text-align: center; align-content: center; font-size: 3.2000vw; color: var(--color00); float: left;}
.cont02 .inner .box .txt dl dt:nth-of-type(1) { background: #d55f2d;}
.cont02 .inner .box .txt dl dt:nth-of-type(2) { background: #009de1;}
.cont02 .inner .box .txt dl dd { margin-left: 6.6667vw; margin-bottom: 2.6667vw; font-size: 3.0667vw; line-height: 1.4;}
.cont02 .inner .box .img { position: absolute; left: 0; right: 0; bottom: 0; z-index: -1;}


.cont03 {}
.cont03 .inner { padding: 0 4.0000vw;}
.cont03 .inner h3 { font-size: 5.0667vw; text-align: center; margin-bottom: 6.6667vw; font-family: "Noto Serif JP", serif; font-weight: 500;}
.cont03 .inner .box { margin: auto; counter-reset: number 0;}
.cont03 .inner .box .box_list { width: 100%; margin-bottom: 14.6667vw; position: relative;}
.cont03 .inner .box .box_list:nth-last-of-type(1):after  { content: none;}
.cont03 .inner .box .box_list .overflow { width: 100%; position: relative;}
.cont03 .inner .box .box_list .overflow .txt { position: relative;}
.cont03 .inner .box .box_list .overflow .txt .icon { display: none;}
.cont03 .inner .box .box_list .overflow .txt h4 { font-size: 4.0000vw; margin-bottom: 4.8000vw; padding-left: 12.0000vw; position: relative;}
.cont03 .inner .box .box_list .overflow .txt h4::before { content: counter(number) ""; counter-increment: number 1; position: absolute; bottom: -2.9333vw; left: 0; font-size: 11.2000vw; font-family: "Noto Serif JP", serif; font-weight: 400;}
.cont03 .inner .box .box_list .overflow .txt p { width: 48.0000vw; margin: 0;}
.cont03 .inner .box .box_list .overflow .txt .btn { display: block; margin: 2.6667vw auto 0; width: 70.6667vw; height: 7.2000vw;}
.cont03 .inner .box .box_list .overflow .txt .btn a { display: block; padding: 0 0 0 6.6667vw; border: solid 0.2667vw var(--color99); border-radius: 5.3333vw; font-size: 2.6667vw; position: relative; height: 100%; align-content: center;}
.cont03 .inner .box .box_list .overflow .txt .btn a::before { content: "▼"; font-size: 2.1333vw; position: absolute; top: 0; bottom: 0; left: 4.0000vw; transform: rotate(-90deg); transition: ease .5s;}
.cont03 .inner .box .box_list .overflow .txt .btn a:hover { background :var(--color99); color :var(--color00);}
.cont03 .inner .box .box_list .overflow .txt .btn a:hover::before { content: "▼"; position: absolute; left: 4.0000vw; transform: rotate(-90deg); transition: ease .5s;}
.cont03 .inner .box .box_list .overflow .img { width: 44.0000vw; position: absolute; right: 0;}
.cont03 .inner .box .box_list:nth-of-type(1) .overflow .img { top: 5.3333vw}
.cont03 .inner .box .box_list:nth-of-type(2) .overflow .img { top: 2.6667vw}
.cont03 .inner .box .box_list:nth-of-type(3) .overflow .img { top: 9.3333vw}
.cont03 .inner .box .box_list:nth-of-type(4) .overflow .img { top: 6.6667vw}
.cont03 .inner .box .box_list:nth-of-type(5) .overflow .img { top: 4.0000vw}


}




/*sp*/
@media only screen and (width: 750px) {


.cont01 {}
.cont01 .inner { padding: 0 30px;}
.cont01 .inner .box { margin: 0 auto 90px;}
.cont01 .inner .box .boxL {}
.cont01 .inner .box .boxL .txt { width: 100%; margin-bottom: 84px;}
.cont01 .inner .box .boxL .txt h3 { width: 484px; margin: 0 auto 54px;}
.cont01 .inner .box .boxL .txt p { font-size: 30px; line-height: 54px; text-align: center;}
.cont01 .inner .box .boxR {}
.cont01 .inner .box .boxR .txt { margin-bottom: 78px;}
.cont01 .inner .box .boxR .txt h4 { font-size: 34px; font-weight: 600; text-align: center; font-family: "Noto Serif JP", serif; margin-bottom: 30px;}
.cont01 .inner .box .boxR .txt .img { display: none;}
.cont01 .inner .box .boxR .txt p {}


.cont02 {}
.cont02 .inner { padding: 0 30px;}
.cont02 .inner .box { margin: 0 auto 150px; position: relative; padding-bottom: 410px;}
.cont02 .inner .box .txt { width: 594px; margin: 0 auto;}
.cont02 .inner .box .txt h3 { font-size: 30px; font-weight: 500; padding: 20px 0; margin-bottom: 40px; text-align: center; border-top: solid 1px var(--color99); border-bottom: solid 1px var(--color99); font-feature-settings: "palt";}
.cont02 .inner .box .txt dl { position: relative;}
.cont02 .inner .box .txt dl dt { width: 40px; height: 40px; text-align: center; align-content: center; font-size: 24px; color: var(--color00); float: left;}
.cont02 .inner .box .txt dl dt:nth-of-type(1) { background: #d55f2d;}
.cont02 .inner .box .txt dl dt:nth-of-type(2) { background: #009de1;}
.cont02 .inner .box .txt dl dd { margin-left: 50px; margin-bottom: 20px; font-size: 23px; line-height: 1.4;}
.cont02 .inner .box .img { position: absolute; left: 0; right: 0; bottom: 0; z-index: -1;}


.cont03 {}
.cont03 .inner { padding: 0 30px;}
.cont03 .inner h3 { font-size: 38px; text-align: center; margin-bottom: 50px; font-family: "Noto Serif JP", serif; font-weight: 500;}
.cont03 .inner .box { margin: auto; counter-reset: number 0;}
.cont03 .inner .box .box_list { width: 100%; margin-bottom: 110px; position: relative;}
.cont03 .inner .box .box_list:nth-last-of-type(1):after  { content: none;}
.cont03 .inner .box .box_list .overflow { width: 100%; position: relative;}
.cont03 .inner .box .box_list .overflow .txt { position: relative;}
.cont03 .inner .box .box_list .overflow .txt .icon { display: none;}
.cont03 .inner .box .box_list .overflow .txt h4 { font-size: 30px; margin-bottom: 36px; padding-left: 90px; position: relative;}
.cont03 .inner .box .box_list .overflow .txt h4::before { content: counter(number) ""; counter-increment: number 1; position: absolute; bottom: -22px; left: 0; font-size: 84px; font-family: "Noto Serif JP", serif; font-weight: 400;}
.cont03 .inner .box .box_list .overflow .txt p { width: 360px; margin: 0;}
.cont03 .inner .box .box_list .overflow .txt .btn { display: block; margin: 20px auto 0; width: 530px; height: 54px;}
.cont03 .inner .box .box_list .overflow .txt .btn a { display: block; padding: 0 0 0 50px; border: solid 2px var(--color99); border-radius: 40px; font-size: 20px; position: relative; height: 100%; align-content: center;}
.cont03 .inner .box .box_list .overflow .txt .btn a::before { content: "▼"; font-size: 16px; position: absolute; top: 0; bottom: 0; left: 30px; transform: rotate(-90deg); transition: ease .5s;}
.cont03 .inner .box .box_list .overflow .txt .btn a:hover { background :var(--color99); color :var(--color00);}
.cont03 .inner .box .box_list .overflow .txt .btn a:hover::before { content: "▼"; position: absolute; left: 30px; transform: rotate(-90deg); transition: ease .5s;}
.cont03 .inner .box .box_list .overflow .img { width: 330px; position: absolute; right: 0;}
.cont03 .inner .box .box_list:nth-of-type(1) .overflow .img { top: 40px}
.cont03 .inner .box .box_list:nth-of-type(2) .overflow .img { top: 20px}
.cont03 .inner .box .box_list:nth-of-type(3) .overflow .img { top: 70px}
.cont03 .inner .box .box_list:nth-of-type(4) .overflow .img { top: 50px}
.cont03 .inner .box .box_list:nth-of-type(5) .overflow .img { top: 30px}


}

