/* 共通 */

body{
    min-width: 1024px;
    font-family:'メイリオ', 'Meiryo', sans-serif;
    /* background: linear-gradient(90deg, #00a0e9 0%, #00a0e9 50%, #009e3b 50%, #009e3b 100%);
    overflow: auto; */
}

.body_inner{
    width: 98%;
    margin: 0 auto;
}

.wrapper-ct-vertical-fixed {
    width: auto;
    height: auto;
}

.wrapper-cw-vertical-auto{
    max-width: initial;
}

.main.movieTemp{
    max-width: initial;
    background: linear-gradient(90deg, #00a0e9 0%, #00a0e9 50%, #009e3b 50%, #009e3b 100%);
    overflow: auto;
}

#tempBack{
    padding: 0 !important;
}

#include_back{
    background: #ffffff;
    padding: 3px 0 3px 3px;
}

p,li {
    color: #333333;
    font-size: 16px;
    line-height: 1.4;
}

rt {
    transform: translateY(0em);
}

sup {
    vertical-align: super;
    font-size: 70%;
}

.red {
    color: #ed1c24;
}

.bold {
    font-weight: bold;
}

.btn {
    font-size: 18px;
    background: #00aaf2;
    border-radius: 5px;
    padding: 14px 30px 12px 10px;
    color: #fff;
    text-decoration: none;
    transition: .2s;
    font-weight: bold;
    display: block;
    position: relative;
    text-align: center;
}

.btn:hover {
    background: #fcee21;
    color: #00aaf2;
    /* box-shadow: 2px 2px 2px 0px rgba(0,0,0,0.3); */
}

.btn::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%) rotate(45deg);
    transition: 0.2s;
}

.btn:hover::after {
    border-top: solid 2px #00aaf2;
    border-right: solid 2px #00aaf2;
}

@media screen and (max-width:1024px) { 
    .btn:hover{
        background: #00aaf2;
        color: #fff;
    }
    .btn:hover::after {
        border-top: solid 2px #fff;
        border-right: solid 2px #fff;
    }
}

/* .contents {
    background: linear-gradient(90deg, #00a0e9 0%, #00a0e9 50%, #009e3b 50%, #009e3b 100%);
} */
@media screen and (max-width:1024px) { 
    .contents{
        /* padding-top: 40px; */
    }
}

.contents_inner_cover {
    background: url(../img/back.gif);
    /* width: 98%; */
    margin: 0 auto;
}

.contents_inner {
    max-width: 964px;
    margin: 0 auto;
    padding: 50px 0 70px;
}

#top,#outline,#form,#impression,#shindan,#search,#hint,#past,#speech {
    width: 98%;
    margin: 0 auto;
}

#top .contents_inner {
    padding-top: 110px;
}

.contents_inner_gb {
    background: #f2f2f2;
}

.Pc {
    display: block;
}

.Sp {
    display: none;
}

h1 {
    font-size: 20px;
    color: #333333;
    line-height: 1.6;
    padding: 30px 0;
}

.scroll+.top_lead h1,
.scroll+.contents {
    margin-top: 117px;
}

h1>span {
    max-width: 964px;
    margin: 0 auto;
    display: block;
}

.form_link {
    width: 70%;
    padding: 14px 0 12px 0;
    margin: 0 auto;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    display: block;
    background: #ff6666;
    text-align: center;
    border-radius: 5px;
}

.end_rec h1>span {
    display: none;
}

h1 .main {
    font-size: 36px;
    font-weight: bold;
    color: #0071bc;
    display: block;
    text-align: center;
    margin-bottom: 10px;
}

h1 span.end_main_txt {
    font-size: 36px;
    font-weight: bold;
    color: #0071bc;
    display: none;
    text-align: center;
}

.end_rec h1 span.end_main_txt {
    display: block;
}
.end_rec h1 span.end_main_txt.part2 {
    display: none;
}

.end_rec h1 span.end_main_txt span {
    /* color: #333333;
    font-size: 24px; */

    /* 20周年用 */
    font-size: 36px;
    color: #0071bc;
    display: flex;
    justify-content: center;
}

.end_rec h1 span.end_main_txt .end_sub_txt {
    color: #0071bc;
    font-size: 16px;
    display: block;
    text-align: left;
    text-indent: -1em;
    margin: 10px auto 0;
    width: 710px;
    letter-spacing: -0.01em;
}

.end_rec.result_ann h1 span.end_main_txt {
    display: none;
}
.end_rec.result_ann h1 span.end_main_txt.part2 {
    display: block;
}

.top_lead {
    /* width: 98%; */
    margin: 0 auto;
    background: #ffffc3;
}

h2 {
    font-size: 36px;
    color: #00aaf2;
    font-weight: bold;
    border-bottom: solid 3px #00aaf2;
    padding-bottom: 8px;
    text-align: center;
    margin-bottom: 30px;
    line-height: 1.2;
}

h3 {
    color: #00aaf2;
    font-size: 28px;
    font-weight: bold;
    border-bottom: solid 3px #00aaf2;
    padding-bottom: 3px;
    margin-bottom: 30px;
    line-height: 1.4;
}

h3 span {
    font-size: 18px;
    display: inline-block;
    margin-left: 10px;
}

#form h3 span {
    display: inline-block;
}

#form h3 span.Pc {
    display: inline-block;
}

#form h3 span.Sp {
    display: none;
}

h3 span.title_sym {
    font-size: 28px;
    font-weight: bold;
    margin: 0;
}

h4 {
    color: #00aaf2;
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 20px;
}

/* トップページ */

.news {
    font-weight: bold;
}

.news_body {
    background: #ffffff;
    padding: 40px 0;
    /* width: 98%; */
    margin: 0 auto;
}

.news_inner {
    max-width: 824px;
    margin: 0 auto;
}

.news_title {
    font-size: 24px;
    border-bottom: solid 2px;
    margin-bottom: 20px;
}

.news ol {
    overflow: hidden;
    margin-bottom: 20px;
}

.news ol:last-child {
    margin-bottom: 0;
}

.news li {
    float: left;
}

.news li:nth-child(1) {
    width: 100px;
    margin-right: 20px;
}

.news li:nth-child(2) {
    width: 704px;
}

.news li a {
    color: #35bcff;
}

#top h4 {
    width: 450px;
    font-size: 26px;
    text-align: center;
    padding: 10px 0 6px;
    background: #fcee21;
    border-radius: 100px;
    position: relative;
}

#top .hint h4 {
    font-size: 20px;
    padding: 13px 0 9px;
}

.link_box {
    width: 900px;
    overflow: hidden;
    margin: 0 auto 70px;
}

.link_box:last-child {
    margin-bottom: 0;
}

.link_box span {
    display: block;
    width: 42px;
    height: 42px;
    position: absolute;
    top: 0;
    left: 0;
}

.link_box.outline span {
    background: url(../img/menu_icon_01.png);
    background-size: cover;
}

.link_box.form span {
    background: url(../img/menu_icon_02.png);
    background-size: cover;
}

.link_box.impression span {
    background: url(../img/menu_icon_03.png);
    background-size: cover;
}

.link_box.shindan span {
    background: url(../img/menu_icon_04.png);
    background-size: cover;
}

.link_box.search span {
    background: url(../img/menu_icon_05.png);
    background-size: cover;
}

.link_box.picture span {
    background: url(../img/menu_icon_06.png);
    background-size: cover;
}

.link_box.hint span {
    background: url(../img/menu_icon_07.png);
    background-size: cover;
}

.link_box.past span {
    background: url(../img/menu_icon_08.png);
    background-size: cover;
}

.link_box_txt {
    width: 450px;
}

.link_box_txt p {
    width: 400px;
    margin: 0 auto 20px;
    line-height:1.6;
}

.link_box_txt a {
    width: 360px;
    margin: 0 auto;
}

.link_box:nth-child(odd) .link_box_img,
.link_box:nth-child(even) .link_box_txt {
    float: left;
    position: relative;
    height: 270px;
}

.link_box:nth-child(even) .link_box_img,
.link_box:nth-child(odd) .link_box_txt {
    float: right;
    position: relative;
    height: 270px;
}

.link_box_img img {
    max-width: 412px;
}

.link_box_txt_inner {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.end_rec .link_box.form a {
    pointer-events: none;
    background: #c7c7c7;
}

.end_rec #top .link_box.form h4 {
    background: #c7c7c7;
    color: #ffffff;
}

.end_rec #top .link_box.form .link_box_img::after {
    content: "応募受付は終了しました";
    display: block;
    width: 80%;
    padding: 10% 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(199,199,199,0.8);
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: red;
}

/* コンクールについて */

.outline_block {
    margin-bottom: 80px;
}

.outline_block:last-child {
    margin-bottom: 0;
}

.outline_block h3 {
    position: relative;
    cursor: pointer;
}

.outline_block h3::before {
    content: "";
    display: block;
    width: 25px;
    height: 25px;
    background: #00aaf2;
    border-radius: 100px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

.outline_block h3::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    position: absolute;
    top: 45%;
    right: 27px;
    transform: translateY(-50%) rotate(135deg);
}

.outline_block h3.open::after {
    top: 55%;
    transform: translateY(-50%) rotate(-45deg);
}

.end_rec .outline_block.er_block {
    position: relative;
}

.end_rec .outline_block.er_block:nth-of-type(2),
.end_rec .outline_block.er_block:nth-of-type(3) {
    z-index: 0;
}

.end_rec .outline_block.er_block h3 {
    pointer-events: none;
    color: #c7c7c7;
    border-bottom: solid 3px;
}

.end_rec .outline_block.er_block h3::before {
    background: #c7c7c7;
}

.end_rec .outline_block.er_block:nth-child(1)::after {
    content: "応募受付は終了しました";
    display: block;
    width: 80%;
    padding: 10% 0;
    background: rgba(199,199,199,0.8);
    position: absolute;
    top: 25px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 24px;
    font-weight: bold;
    color: red;
    text-align: center;
    z-index: 1;
}

.outline_block_inner {
    display: none;
}

.outline_block_inner.open {
    display: block;
}

.category {
    margin-bottom: 50px;
}

.ex_box_outer {
    display: none;
}

.ex_box_outer.open {
    display: block;
}

.category h4 {
    position: relative;
    background: #00aaf2;
    padding: 10px;
    color: #fff;
    border-radius: 5px;
    font-size: 28px;
    margin-bottom: 40px;
    cursor: pointer;
}

.category h4 span {
    font-size: 80%;
    vertical-align: middle;
    display: inline-block;
    margin-left: 2%;
}

.category h4::before {
    content: "";
    display: block;
    width: 25px;
    height: 25px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

.category h4::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    position: absolute;
    top: 45%;
    right: 27px;
    transform: translateY(-50%) rotate(135deg);
}

.category h4.open::after {
    top: 55%;
    transform: translateY(-50%) rotate(-45deg);
}

.ex_box {
    position: relative;
    margin-bottom: 40px;
}

.ex_box h5 {
    font-size: 20px;
    font-weight: bold;
    width: 100px;
    line-height: 1;
    background: #00aaf2;
    color: #ffffff;
    padding: 8px 0 4px;
    text-align: center;
    border-radius: 100px;
    position: absolute;
    top: -20px;
    left: 0;
}

.ex_box h5 + ol {
    width: 904px;
    padding: 30px 20px 20px;
    background: #ffffff;
    margin-left: 20px;
    border: solid 1px #cccccc;
    border-radius: 5px;
}

.ex_box h5 + ol > li:nth-child(1) {
    font-size: 20px;
    font-weight: bold;
    color: #00aaf2;
}

.ex_box h5 + ol > li:nth-child(1) span {
    font-size: 20px;
    font-weight: initial;
    color: #333333;
}

.ex_box h5 + ol > li:nth-child(1)::before {
    content: "【テーマ】";
    display: block;
}

.ex_box h5 + ol > li .btn{
    margin-top: 20px;
    color: #ffffff;
    width: 30%;
}

.ex_box h5 + ol > li .btn:hover{
    color: #00aaf2;
}

@media screen and (max-width:1024px) {
    .ex_box h5 + ol > li .btn:hover{
        color: #ffffff;
    }
}

.ex_box h5 + ol > li.standard {
    margin-top: 20px;
    padding-top: 20px;
    border-top: solid 1px;
}

.ex_box h5 + ol > li.standard span {
    font-size: 18px;
    font-weight: bold;
    display: block;
    margin-bottom: 10px;
}

.ex_box h5 + ol > li.standard > ol {
    margin-bottom: 20px;
}

.ex_box h5 + ol > li.standard > ol:last-child {
    margin-bottom: 0;
}

.ex_box h5 + ol > li.standard > ol li {
    font-size: 16px;
    font-weight: initial;
    margin-bottom: 5px;
    text-indent: -16px;
    margin-left: 16px;
}

.ex_box h5 + ol > li.standard > ol li:last-child {
    margin-bottom: 0;
}

.ex_box h5 + ol > li.point {
    margin-top: 20px;
}

.ex_box h5 + ol > li.point span {
    font-size: 18px;
    font-weight: bold;
    display: block;
    margin-bottom: 10px;
}

.ex_box h5 + ol > li.point > ol li {
    text-indent: -16px;
    margin-left: 16px;
    margin-bottom: 5px;
}

.ex_box h5 + ol > li.point > ol li:last-child {
    margin-bottom: 0;
}

.ex_box h5 + ol > li.point > ol li span {
    width: 12px;
    height: 12px;
    background: #333333;
    border-radius: 100px;
    display: inline-block;
    margin-right: 4px;
    margin-bottom: 0;
}

.ex_box h5 + ol > li.point > ol li span.star {
    display: inline;
    background: none;
    margin-right: 0px;
}

.ex_box h5 + ol > li.point > ol li > ol li span {
    width: auto;
    height: auto;
    background: none;
    border-radius: inherit;
    display: inline-block;
    margin-bottom: 0;
    margin-right: 0;
    font-size: 16px;
    font-weight: normal;
    text-indent: 0;
}

.ex_box h5 + ol > li.point > ol li {
    text-indent: -16px;
    margin-left: 16px;
    margin-bottom: 5px;
}

.ex_box .ast {
    text-indent: -1em !important;
    margin-left: 1em !important;
    width: auto !important;
    height: auto !important;
    background: none !important;
    border-radius: initial !important;
    display: inline-block !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    font-size: 16px !important;
    font-weight: normal !important;
}

.ex_box .ast .ast_sym {
    width: auto;
    text-indent: 0;
    background: none;
    height: auto;
    margin-right: 0;
}

.ex_box a {
    color: #29abe2;
}

#note,#note_01,#note_02,#note_03,#note_04,#note_05 {
    padding-top: 150px;
    margin-top: -150px;
}

#note .attention {
    margin-bottom: 50px;
}

#note .ast {
    text-indent: -1em !important;
    margin-left: 1em !important;
    display: block !important;
}

#note .link {
    width: 80%;
    margin: 0 auto;
}

#note .link li {
    margin-bottom: 20px;
}

#note .link li:last-child {
    margin-bottom: 0;
}

#note .link a {
    font-size: 20px;
    color: #29abe2;
}

#note a {
    color: #29abe2;
}

#note .ex_box h5 {
    width: 300px;
}

.note_part {
    width: 904px;
    padding: 30px 20px 20px;
    background: #ffffff;
    margin-left: 20px;
    border: solid 1px #cccccc;
    border-radius: 5px;
}

.note_part_box {
    margin-bottom: 30px;
}

.note_part_box:last-child {
    margin-bottom: 0;
}

.note_part li {
    margin-bottom: 5px;
    text-indent: -16px;
    margin-left: 16px;
}

.note_part li::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background: #333333;
    border-radius: 100px;
    display: inline-block;
    margin-right: 4px;
    margin-bottom: 0;
}

.note_part p.title {
    font-size: 18px;
    font-weight: bold;
    display: block;
    margin-bottom: 10px;
}

.note_part .top_m {
    margin-top: 20px;
}

.note_part .text_right {
    text-align: right;
    display: block;
    margin-top: 10px;
}



.process .nav_btn {
    overflow: hidden;
    margin-bottom: 30px;
}

.process .nav_btn a {
    width: 430px;
}

.process .nav_btn .kojin_btn {
    float: left;
}

.process .nav_btn .dantai_btn {
    float: right;
}

.process .btn::after {
    transform: translateY(-50%) rotate(135deg);
}

.process .ast {
    text-indent: -1em;
    margin-left: 1em;
    display: block;
}

.process_lead {
    border: solid 2px #f7931e;
    border-radius: 5px;
    background: #ffffff;
    padding: 20px;
    margin-bottom: 30px;
}

.process_lead .title {
    font-size: 24px;
    font-weight: bold;
    color: #f7931e;
    margin-bottom: 10px;
}

.process_lead a,
.process_box a {
    color: #29abe2;
}

.process_lead li {
    text-indent: -16px;
    margin-left: 16px;
}

.process_lead li::before {
    content: "";
    width: 12px;
    height: 12px;
    background: #333333;
    display: inline-block;
    text-indent: initial;
    border-radius: 100px;
    margin-right: 4px;
}

.process_box {
    padding: 20px;
    background: #ffffff;
    position: relative;
    margin-bottom: 65px;
    border: solid 1px #cccccc;
    border-radius: 5px;
}

.process_box::after {
    content: "";
    display: block;
    background: initial;
    border-top: solid 20px rgba(255,255,255,0);
    border-right: solid 20px #00aaf2;
    border-bottom: solid 20px #00aaf2;
    border-left: solid 20px rgba(255,255,255,0);
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
}

.process_box:last-child {
    margin-bottom: 0;
}

.process_box:last-child::after {
    display: none;
}

.process_box_inner {
    overflow: hidden;
    width: 100%;
}

.process_box_img {
    width: 209px;
    float: left;
}

.process_box_img img {
    display: block;
}

.process_box_txt {
    float: right;
    width: 695px;
}

.process_box_txt .title {
    color: #00aaf2;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
    text-indent: -1em;
    margin-left: 1em;
}

#kojin_process {
    margin-bottom: 80px;
    padding-top: 150px;
    margin-top: -150px;
}

#dantai_process {
    padding-top: 150px;
    margin-top: -150px;
}

.teacher_category {
    margin-bottom: 50px;
}

.teacher_category:last-child {
    margin-bottom: 0;
}

.teacher_box {
    overflow: hidden;
    margin-bottom: 30px;
}

.teacher_box:last-child {
    margin-bottom: 0;
}

.teacher_img {
    float: left;
    width: 87px;
    height: 106px;
}

.teacher_img img {
    display: block;
    width: 100%;
    margin: 0 auto;
}

.teacher .profile {
    float: right;
    width: 857px;
}

.teacher .name {
    font-size: 20px;
    font-weight: bold;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: solid 1px;
}
.teacher .name span {
    font-size: 16px;
    display: block;
    margin-bottom: 6px;
}

.award_img img{
    width: 100%;
    display: block;
    margin: 0 auto;
}

.english_lead {
    margin: -10px auto 50px;
}

.english_lead p {
    margin-bottom: 30px;
}

.english_lead .lead {
    margin-bottom: 30px;
    font-size: 20px;
    font-weight: bold;
    color: #00aaf2;
}

.english_lead_box {
    display: flex;
    justify-content: space-around;
    margin-bottom: 30px;
    align-items: center;
}

.e_box {
    padding: 7% 0;
    border: solid 2px #00aaf2;
    border-radius: 10px;
    line-height: 1.6;
    text-align: center;
    background: #ffffff;
    flex: 0.2;
    position: relative;
}

.e_box div {
    position: absolute;
    width: 90%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.e_box div span {
    font-weight: bold;
    font-size: 120%;
}

.e_allow{
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 20px solid #00aaf2;
    border-right: 0;
}

.english_lead ol {
    padding: 2% 3%;
    border: solid 1px #cccccc;
    background: #fff;
    border-radius: 5px;
}

.english_lead li {
    text-indent: -1em;
    margin-left: 1em;
    margin-bottom: 1%;
}

.english_lead li:nth-child(1) {
    text-indent: initial;
    margin-left: 0;
}

.english_lead li:last-child {
    margin-bottom: 0;
}

.grid_box_outer{
    display: flex;
    justify-content: space-between;
}

.grid_box{
    width: 48%;
}

.grid .process_box_txt {
    float: initial;
    width: 100%;
}

.grid_list{
    margin: 0 auto 20px;
    padding: 5%;
    border: solid 1px #00aaf2;
    border-radius: 10px;
}

.grid_part{
    padding: 5%;
    border: solid 1px #00aaf2;
    border-radius: 10px;
}

.grid_part h4{
    padding-bottom: 1%;
    margin-bottom: 4%;
    border-bottom: solid 2px #00aaf2;
    font-size: 26px;
}

.grid_part_box{
    margin: 0 auto 20px;
}

.grid_part_box:last-child{
    margin: 0 auto;
}

.grid_part h5{
    margin-bottom: 4%;
    color: #00aaf2;
    font-size: 20px;
    font-weight: bold;
}

.grid_part.online h5{
    text-align: center;
}

.grid_img {
    margin: 0 auto 4%;
}

.grid_img img {
    display: block;
    margin: 0 auto;
}

.grid_list_box{
    margin-bottom: 5%;
}

.grid_list_box:last-child{
    margin-bottom: 0;
}

.grid_list_box p{
    background: #00aaf2;
    color: #ffffff;
    font-size: 120%;
    padding: 2% 10%;
    border-radius: 100px;
    font-weight: bold;
}

.grid_list_box li{
    font-weight: bold;
    margin: 2% 0 0 10%;
}

.grid_allow{
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
    border-top: 20px solid #00aaf2;
    border-bottom: 0;
    margin: 0 auto 20px;
}

/* 応募者の声 */

#impression h3 {
    text-align: center;
}

#impression .impression {
    overflow: hidden;
    margin-bottom: 80px;
    background: #ffffc3;
    border-radius: 10px;
    padding: 30px 40px;
}

.impression_img {
    width: 384px;
    float: left;
    margin-bottom: 20px;
}

.impression_img img {
    display: block;
    width: 100%;
}

.impression_data {
    width: 480px;
    float: right;
}

.impression_data .headline {
    font-size: 24px;
    color: #ffffff;
    background: #00aaf2;
    font-weight: bold;
    width: 100%;
    border-radius: 100px;
    text-align: center;
    padding: 6px 0 3px;
    margin-bottom: 20px;
}

.impression_data h4 {
    font-size: 28px;
    text-indent: -1em;
    margin-left: 1em;
    line-height: 1.4;
}

.impression_data h5 {
    font-size: 22px;
    text-align: right;
    font-weight: bold;
}

.impression_txt {
    clear: both;
    font-size: 18px;
    background: #ff951f;
    padding: 30px 70px;
    border-radius: 200px;
    float: left;
    width: 554px;
    position: relative;
    color: #ffffff;
}

.impression_txt::after {
    content: "";
    display: block;
    border-top: solid 30px rgba(0,0,0,0);
    border-right: solid 30px rgba(0,0,0,0);
    border-bottom: solid 30px rgb(255, 149, 31);
    border-left: solid 30px rgb(255, 149, 31);
    position: absolute;
    bottom: 80px;
    right: -30px;
}

.comment_img {
    float: right;
    width: 160px;
}

.comment_img img {
    display: block;
    width: 100%;
}

.impression_block {
    overflow: hidden;
    margin-bottom: 80px;
}

.impression_box {
    background: #fff0c3;
    border-radius: 200px;
    width: 770px;
    position: relative;
}

.impression_box_inner {
    padding: 30px 70px 20px;
}

.impression_box_outer {
    overflow: hidden;
    margin-bottom: 50px;
}

.impression_box_img {
    width: 160px;
}

.impression_box_img img {
    width: 100%;
    display: block;
}

.impression_box_outer:nth-child(odd) .impression_box,
.impression_box_outer:nth-child(even) .impression_box_img {
    float: left;
}

.impression_box_outer:nth-child(even) .impression_box,
.impression_box_outer:nth-child(odd) .impression_box_img {
    float: right;
}

.impression_box_outer:nth-child(odd) .impression_box::after {
    content: "";
    display: block;
    border-top: solid 30px rgba(0,0,0,0);
    border-right: solid 30px rgba(0,0,0,0);
    border-bottom: solid 30px rgba(255,240,195,1);
    border-left: solid 30px rgba(255,240,195,1);
    position: absolute;
    top: 50%;
    right: -30px;
    transform: translateY(-50%);
}

.impression_box_outer:nth-child(even) .impression_box::after {
    content: "";
    display: block;
    border-top: solid 30px rgba(0,0,0,0);
    border-right: solid 30px rgba(255,240,195,1);
    border-bottom: solid 30px rgba(255,240,195,1);
    border-left: solid 30px rgba(255,255,255,0);
    position: absolute;
    top: 50%;
    left: -30px;
    transform: translateY(-50%);
}

.impression_box_outer:nth-last-child(1) {
    margin-bottom: 0;
}

.impression_box_title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
    color: #f08300;
}

.impression_box_txt {
    margin-bottom: 18px;
}

.impression_box_name {
    text-align: right;
    font-weight: bold;
}

.prize_box {
    overflow: hidden;
    margin-bottom: 30px;
}

.prize_box_left {
    overflow: hidden;
    width: 520px;
    float: left;
}

.prize_box_right {
    width: 420px;
    height: 300px;
    float: right;
    background: gray;
}

.prize_box ol {
    width: 90%;
    margin: 0 auto;
}

.prize_box li {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 16px;
    text-indent: -24px;
    margin-left: 24px;
}

.prize_box li:last-child {
    margin-bottom: 0;
}

.prize_box li::before {
    content: "";
    width: 18px;
    height: 18px;
    background: #333333;
    border-radius: 100px;
    margin-right: 6px;
    display: inline-block;
    text-indent: initial;
}

.prize_box .ast {
    font-size: 14px;
    text-indent: -1em;
    margin-left: 1em;
    display: block;
}

.prize_box .small {
    font-size: 14px;
    line-height: 1.6;
    display: inline-block;
    text-indent: 0;
}

.prize_box .title {
    font-size: 24px;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    border-radius: 100px;
    padding: 8px 0 4px;
    margin-bottom: 6px;
}

.prize_box.n1 .title {
    background: #ed1c24;
}

.prize_box.n2 .title,
.prize_box.n3 .title,
.prize_box.n4 .title,
.prize_box.n6 .title {
    background: #f7931e;
}

.prize_box.n5 .title {
    background: #00aaf2;
}

.prize_box .caption {
    font-size: 14px;
    margin: 0 auto 16px;
    width: 90%;
    font-weight: bold;
}

.prize_box.n1 .caption {
    color: #ed1c24;
}

.prize_box.n2 .caption,
.prize_box.n3 .caption,
.prize_box.n4 .caption,
.prize_box.n6 .caption {
    color: #f7931e;
}

.prize_box.n5 .caption {
    color: #00aaf2;
}

.prize_box_right img {
    width: 100%;
    display: block;
}

.product_link li {
    margin-bottom: 20px;    
}

.product_link li span.icon {
    width: 40px;
    height: 40px;
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 30px;
    transform: translateY(-50%);
}

.product_link li:nth-child(1) span.icon {
    background: url(../img/sakubun_icon.png) no-repeat;
    background-size: 100%;
}

.product_link li:nth-child(2) span.icon {
    background: url(../img/jiyu_icon.png) no-repeat;
    background-size: 100%;
}

.product_link li:nth-child(3) span.icon {
    background: url(../img/kankyo_icon.png) no-repeat;
    background-size: 100%;
}

.product_link li:nth-child(4) span.icon {
    background: url(../img/kaiga_icon.png) no-repeat;
    background-size: 100%;
}

.product_link li:nth-child(5) span.icon {
    background: url(../img/english_icon.png) no-repeat;
    background-size: 100%;
}

#past .past_box:nth-child(1) .product_link li span.icon{
    background: url(../img/sakubun_icon.png) no-repeat;
    background-size: 100%;
}
#past .past_box:nth-child(2) .product_link li span.icon{
    background: url(../img/jiyu_icon.png) no-repeat;
    background-size: 100%;
}
#past .past_box:nth-child(3) .product_link li span.icon{
    background: url(../img/kankyo_icon.png) no-repeat;
    background-size: 100%;
}
#past .past_box:nth-child(4) .product_link li span.icon{
    background: url(../img/kaiga_icon.png) no-repeat;
    background-size: 100%;
}
#past .past_box:nth-child(5) .product_link li span.icon{
    background: url(../img/english_icon.png) no-repeat;
    background-size: 100%;
}

.question_box ol {
    margin-bottom: 30px;
}

.question_box ol:last-child {
    margin-bottom: 0;
}

.question_box li {
    margin-bottom: 20px;
    font-size: 18px;
}

.question_box li:last-child {
    margin-bottom: 0;
}

.question,.answer {
    text-indent: -40px;
    margin-left: 40px;
}

.question {
    color: #00aaf2;
    font-weight: bold;
}

.question::before,
.answer::before {
    display: inline-block;
    margin-right: 10px;
    border-radius: 100px;
    color: #ffffff;
    width: 20px;
    height: 20px;
    text-indent: 0;
    font-weight: bold;
    text-align: center;
    padding: 5px;
    line-height: 1.2;
}

.question::before {
    content: "Q";
    background: #00aaf2;
}

.answer::before {
    content: "A";
    background: #f7931e;
}



/* 応募用紙 */

.attention {
    border: solid 2px #f15a24;
    border-radius: 5px;
    background: #ffffff;
    padding: 20px;
    margin-bottom: 50px;
}

.attention_lead {
    font-size: 24px;
    margin-bottom: 20px;
    color: #f15a24;
    font-weight: bold;
    text-align: center;
}

.attention_lead span {
    display: inline-block;
    font-size: 24px;
    width: 34px;
    height: 34px;
    color: #ffffff;
    background: #f15a24;
    border-radius: 100px;
    line-height: 1.6;
}

.attention_outline {
    width: 400px;
    margin: 0 auto;
    position: relative;
}

.attention_outline::before {
    content: "";
    display: block;
    width: 34px;
    height: 34px;
    background: url(../img/menu_icon_01.png);
    background-size: cover;
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
}

.form_select{
    margin-bottom: 50px;
}

.form_select p{
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    color: #f15a24;
    margin-bottom: 2%;
}

.form_anchor{
    display: flex;
    justify-content: space-between;
}

.form_anchor a{
    width: 44%;
}

.form_anchor .btn::after {
    transform: translateY(-50%) rotate(135deg);
}

.dl_block {
    overflow: hidden;
    margin-bottom: 40px;
}

.dl_block_left {
    width: 320px;
    float: left;
    margin-bottom: 20px;
}

.dl_block_right {
    width: 594px;
    float: right;
    margin-bottom: 20px;
}

.dl_block_left .title {
    font-size: 24px;
    color: #ffffff;
    font-weight: bold;
    background: #f7931e;
    padding: 8px 0 4px;
    border-radius: 100px;
    text-align: center;
}

.dl_block_left_box {
    width: 280px;
    margin: 0 auto;
    padding: 20px 0;
    background: #ffffff;
    border: solid 1px #cccccc;
    border-top: none;
    border-radius: 0 0 5px 5px;
}

.dl_block_left .lead {
    font-size: 20px;
    color: #f7931e;
    font-weight: bold;
    margin-bottom: 10px;
    padding: 0 20px;
}

.dl_block_left_box img {
    display: block;
    margin: 0 auto 10px;
}

.dl_left_btn {
    width: 240px;
    display: block;
    margin: 0 auto;
    text-align: center;
    text-decoration: none;
    color: #ffffff;
    font-size: 18px;
    font-weight: bold;
    background: #f7931e;
    padding: 24px 0 20px;
    border-radius: 5px;
    position: relative;
    margin-bottom: 20px;
}

.dl_left_btn span {
    display: block;
    width: 18px;
    height: 21px;
    background: url(../img/dl_icon.png);
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
}

.dl_block_right .title {
    font-size: 24px;
    color: #ffffff;
    font-weight: bold;
    background: #0071bc;
    padding: 8px 0 4px;
    border-radius: 100px;
    text-align: center;
}

.dl_block_right_box {
    overflow: hidden;
    width: 554px;
    margin: 0 auto;
    padding: 20px 0;
    background: #ffffff;
    border: solid 1px #cccccc;
    border-top: none;
    border-radius: 0 0 5px 5px;
}

.dl_block_right .lead {
    font-size: 20px;
    color: #0071bc;
    font-weight: bold;
    margin-bottom: 10px;
    padding: 0 20px;
}

.dl_block_right_box img {
    display: block;
    margin: 0 auto 10px;
}

.right_box_01 {
    width: 240px;
    float: left;
    margin-left: 20px;
}

.right_box_02 {
    width: 240px;
    float: right;
    margin-right: 20px;
}

.dl_right_btn_01 {
    background: #0071bc;
    text-decoration: none;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    width: 100%;
    height: 38px;
    padding: 14px 0 10px;
    text-align: center;
    display: block;
    position: relative;
    border-radius: 5px;
    margin-bottom: 20px;
}

.dl_right_btn_01 span {
    display: block;
    width: 18px;
    height: 21px;
    background: url(../img/dl_icon.png);
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
}

.right_box_02 .btn {
    margin-bottom: 71px;
}

.dl_right_btn_02 {
    background: #00a99d;
    text-decoration: none;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    width: 100%;
    height: 38px;
    padding: 14px 0 10px;
    text-align: center;
    display: block;
    position: relative;
    border-radius: 5px;
    margin-bottom: 20px;
}

.dl_right_btn_02 span {
    display: block;
    width: 18px;
    height: 21px;
    background: url(../img/dl_icon.png);
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
}

.dl_block .caption {
    font-size: 14px;
    text-align: right;
    padding: 0 20px;
    margin-bottom: 10px;
    line-height: 1;
}

.dl_block .dl_block_right_box .caption {
    padding: 0;
}

.dl_block .sample {
    color: #29abe2;
    width: 134px;
    display: block;
    margin: 0 auto;
    text-align: center;
    background: #fbff00;
    padding: 10px 10px 8px;
    border-radius: 4px;
}

.caution {
    font-size: 18px;
    color: #ff2200;
}

.dl_attention {
    clear: both;
    background: #ffffff;
    padding: 20px 25px;
    overflow: hidden;
    border: solid 1px #cccccc;
    border-radius: 5px;
    margin-bottom: 20px;
}

.dl_attention_left {
    float: left;
    width: 600px;
}

.dl_attention_lead {
    color: #00aaf2;
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 10px;
}

.dl_attention_lead span {
    display: inline-block;
    width: 16px;
    height: 16px;
    background: #00aaf2;
    border-radius: 100px;
    margin-right: 4px;
}

.dl_attention_box {
    margin-left: 20px;
}

.dl_attention_box span {
    color: #ff2200;
}

.dl_attention_box a {
    color: #00aaf2;
}

.dl_attention_right {
    float: right;
    width: 300px;
    height: 148px;
    position: relative;
}

.dl_attention_right img {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%)
}

.sp_dl_block {
    margin-bottom: 60px;
}

.paper_box {
    position: relative;
    width: 944px;
    margin-left: 20px;
    background: #ffffff;
    margin-top: 50px;
}

.paper_box .title {
    font-size: 24px;
    color: #fff;
    font-weight: bold;
    background: #00aaf2;
    width: 180px;
    border-radius: 100px;
    text-align: center;
    padding: 8px 0 4px;
    position: absolute;
    top: -20px;
    left: -20px;
}

.dl_area {
    padding: 50px 30px 30px;
    overflow: hidden;
    border: solid 1px #cccccc;
    border-radius: 5px;
    display: flex;
}

.dl_area li {
    /* float: left;
    width: 200px;
    margin-right: 28px; */
    width: 23%;
    margin-right: 2%;
}

.dl_area li:last-child {
    margin-right: 0;
}

.dl_area li img {
    height: 62px;
    display: block;
    margin: 0 auto 10px;
    border: solid 2px #cbcbcb;
}

.dl_area li a {
    width: 100%;
    display: block;
    text-align: center;
    text-decoration: none;
    color: #ffffff;
    font-weight: bold;
    font-size: 80%;
    border-radius: 5px;
    padding: 8px 0 4px;
    position: relative;
}

.dl_area li a span {
    display: inline-block;
    width: 12px;
    height: 14px;
    background: url(../img/dl_icon.png);
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
}

.dl_area li.sakubun a {
    background: #ef8200;
}

.dl_area li.jiyu a {
    background: #00a0e9;
}

/* .paper_box:nth-of-type(3) .dl_area li.kankyo a {
    font-size: 16px;
} */

.dl_area li.kankyo a {
    background: #009e3b;
    /* font-size: 14px;
    padding: 9px 0 5px; */
}

.dl_area li.kaiga a {
    background: #d72317;
}

.dl_area li.english a {
    background: #5e00ef;
}

#form .ast{
    font-size: 85%;
    text-indent: -1em;
    margin-left: 1em;
}

.attention ol{
    margin-top: 4%;
}

.attention li{
    margin-bottom: 1%;
}

.attention li:last-child{
    margin-bottom: 0;
}

#anchor_1,#anchor_2{
    padding-top: 150px;
    margin-top: -150px;
}

#anchor_2{
    margin-bottom: 0;
}

.dl_block_lead p{
    margin-bottom: 1%;
}

.dl_block_lead p:last-child{
    margin-bottom: 40px;
}

.possible_box{
    margin: 0 auto 30px;
    border: solid 2px #00aaf2;
    border-radius: 5px;
    overflow: hidden;
}

.p_box_inner{
    padding: 3% 3% 2%;
}

.possible_box .lead{
    font-size: 130%;
    background: #00aaf2;
    color: #ffffff;
    font-weight: bold;
    padding: 1% 3%;
}

.p_box_inner{
    display: flex;
    justify-content: space-around;
}

.p_box{
    flex: 0.3;
}

.p_box_inner p{
    background: #00aaf2;
    color: #ffffff;
    font-size: 120%;
    padding: 2% 10%;
    border-radius: 100px;
    font-weight: bold;
}

.p_box_inner li{
    font-weight: bold;
    margin: 5% 0 0 10%;
}

.paper_lead {
    font-size: 150%;
    font-weight: bold;
    margin-bottom: 2%;
    color: #00aaf2;
}

.dl_block_lead a{
    color: #00aaf2;
}

.form_btn {
    border: solid 2px #00aaf2;
    background: #ffffff;
    color: #00aaf2;
}

.form_btn::after {
    border-top: solid 2px #00aaf2;
    border-right: solid 2px #00aaf2;
}

.form_online {
    margin: 0 auto 2%;
    display: flex;
    justify-content: space-between;
}

.form_online a {
    width: 44%;
    font-size: 130%;
    line-height: 1.6;
}

@media screen and (max-width:1024px) { 
    #anchor_1,#anchor_2{
        padding-top: 20px;
        margin-top: -20px;
    }
    .form_btn:hover {
        border: solid 2px #00aaf2;
        background: #ffffff;
        color: #00aaf2;
    }
    .form_btn:hover::after {
        border-top: solid 2px #00aaf2;
        border-right: solid 2px #00aaf2;
    }
}


/* 夏休みの宿題 タイプ診断・自由研究のテーマ検索・環境・絵画部門のテーマ選びのヒント */

#shindan h3,
#search h3,
#hint h3 {
        text-align: center;
        text-indent: initial;
        padding-left: 0;
}

#shindan .access,
#search .access,
#hint .access {
    overflow: hidden;
    margin-bottom: 80px;
}

#shindan .access:last-child,
#search .access:last-child,
#hint .access:last-child {
    margin-bottom: 0;
}

#shindan .access_img,
#search .access_img,
#hint .access_img {
    width: 540px;
    /* height: 300px; */
    background: gray;
    float: left;
}

#shindan .access_img img,
#search .access_img img,
#hint .access_img img {
    display: block;
    width: 100%;
}

#shindan .access_txt,
#search .access_txt,
#hint .access_txt {
    width: 400px;
    /* height: 300px; */
    float: right;
    position: relative;
}

#shindan .access_txt a,
#search .access_txt a,
#hint .access_txt a {
    transition: .2s;
    display: block;
}

#shindan .access_txt a img,
#search .access_txt a img,
#hint .access_txt a img {
    display: block;
    width: 100%;
}

#shindan .access_txt a:hover,
#search .access_txt a:hover,
#hint .access_txt a:hover {
    opacity: 0.8;
}

#shindan .access_txt p,
#search .access_txt p,
#hint .access_txt p {
    font-size: 20px;
    line-height: 1.6;
    margin-bottom: 30px;
}


#search .plan {
    overflow: hidden;
    margin-bottom: 80px;
}

#search .plan:last-child {
    margin-bottom: 0;
}

#search .plan_img {
    width: 540px;
    background: gray;
    float: left;
}

#search .plan_img img {
    display: block;
    width: 100%;
}

#search .plan_txt {
    width: 400px;
    float: right;
    position: relative;
}

#search .plan_txt a {
    transition: .2s;
    display: block;
}

#search .plan_txt a img {
    display: block;
    width: 100%;
}

#search .plan_txt a:hover {
    opacity: 0.8;
}

#search .plan_txt p {
    font-size: 20px;
    line-height: 1.6;
    margin-bottom: 30px;
}
#search .plan_txt p.txt_1 {
    font-size: 20px;
    line-height: 1.6;
    margin-bottom: 10px;
    color: #ffffff;
    background: #7d7d7d;
    padding: 6px 10px 4px;
    position: relative;
}
#search .plan_txt p.txt_1::after {
    content: "";
    display: block;
    width: 32px;
    height: 32px;
    background: #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: -17px;
    top: 5px;
}
#search .plan_txt p.txt_2 {
    font-size: 24px;
    line-height: 1.6;
    margin-bottom: 10px;
    font-weight: bold;
}
#search .plan_txt p.txt_3 span {
    background: #fff45f;
}
#search .plan_txt p.txt_3 span span {
    color: #e60012;
    font-weight: bold;
}

/* #shindan #MV {
    height: 267px;
    background-image: url(../img/MV_05.jpg);
    background-size: cover;
    background-position: left center;
} */

/* #shindan .contents {
    width: 964px;
    background: url(../img/shindan_back.gif);
    border-radius: 5px;
    box-shadow: 3px 3px 5px 0px rgba(0,0,0,0.3);
    margin: -50px auto 50px;
    padding: 15px 0;
}

#shindan .contents_inner {
    background: #fff;
    width: 934px;
    margin: 0 auto;
    border: solid 1px #9ce2ff;
}

#shindan .btn {
    width: 320px;
    float: right;
    margin: 30px 30px 80px 0;
}

#shindan .shindan_title {
    clear: both;
    margin-bottom: 80px;
}

#shindan .shindan_title img {
    display: block;
    margin: 0 auto;
}

#shindan .start_btn {
    width: 400px;
    display: block;
    margin: 0 auto 70px;
    transition: .2s;
}

#shindan .start_btn img {
    display: block
}

#shindan .start_btn:hover {
    opacity: 0.8;
} */


/* 保護者向け写真部門 */


/* 受賞者発表 */

.result_ann_menu {
    display: block;
    padding-bottom: 30px;
    display: none;
}

.result_ann .result_ann_menu {
    display: block;
    position: relative;
}

.result_ann_menu p {
    color: #333333;
    font-size: 24px;
    display: block;
    font-weight: bold;
    text-align: center;
    width: 340px;
    margin: 0 auto 20px;
    background: #ffffc3;
}

.result_ann_menu ol {
    max-width: 964px;
    margin: 0px auto 0;
    display: flex;
    justify-content: space-between;
}

.result_ann_menu li {
    width: 19%;
    text-align: center;
    background-color: #333333;
    border-radius: 5px;
    transition: .2s;
    padding: 4% 0;
    position: relative;
}

.result_ann_menu li:nth-child(1) {
    background: #ef8200;
}

.result_ann_menu li:nth-child(2) {
    background: #00a0e9;
}

.result_ann_menu li:nth-child(3) {
    background: #d72317;
}

.result_ann_menu li:nth-child(4) {
    background: #009e3b;
}

.result_ann_menu li:nth-child(5) {
    background: #5e00ef;
}

.result_ann_menu a {
    width: 100%;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.result_ann_menu a span {
    font-size: 90%;
}

.result_ann_menu li:hover {
    opacity: 0.8;
}

.result_ann_menu li:last-child {
    margin-right: 0;
}

/* 20周年記念 */
.anniversary{
    display: flex;
    align-items: center;
}
.anniversary_logo{
    max-width: 160px;
    margin: 0 20px 0 0;
}
.anniversary_logo img{
    width: 100%;
    display: block;
}

/* 過去の上位入賞作品 */

.past_box{
    margin-bottom: 80px;
}
.past_box:last-child{
    margin-bottom: 0;
}

/* オンライン応募フォーム */

.form_lp_select{
    margin-bottom: 50px;
}

.form_lp_select p{
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    color: #f15a24;
    margin-bottom: 5%;
}

.form_page{
    display: flex;
    justify-content: space-between;
}

.form_page a:nth-child(1){
    background: #ef8200;
}

.form_page a:nth-child(2){
    background: #00a0e9;
}

.form_page a:nth-child(3){
    background: #009e3b;
}

.form_page a:nth-child(4){
    background: #5e00ef;
}

.form_page a{
    width: 17%;
    /* flex: 1; */
    font-size: 120%;
    line-height: 1.6;
    padding: 2% 5% 1.6% 2%;
    display: flex;
    align-items: center;
}

.form_page a span{
    width: 100%;
}

.form_page a span span {
    font-size: 80%;
    line-height: 1.4;
    display: block;
    margin-top: 3%;
}

.form_page a:hover{
    background: #fcee21;
}