/* トップページ
----------------------------------------------------*/
/* メインビジュアル */
#main_visual {
    width: 100%;
    height: 500px;
    line-height: 0;
    position: relative;
}

#main_visual::before {
    display: block;
    content: "";
    background-color: #784f8c4d;
    width: 80%;
    max-width: 900px;
    height: 300px;
    right: 0;
    position: absolute;
    top: 40%;
    z-index: 1;
}

.main_img {
    width: 100%;
    max-width: 1100px;
    height: auto;
    margin: 0 auto;
    position: relative;
    padding: 69px 0;
    z-index: 2;
}

.inner {
    width: 80%;
    max-width: 800px;
    margin: 0 auto;
    background-color: rgb(255 255 255 / 85%);
}

/*キャッチコピー*/
.catch {
    position: absolute;
    background-color: #FFF;
    padding: 20px;
}

.catch .inner {
    width: 100%;
    border-bottom: 2px solid #784f8c;
}

.catch h2 {
    font-size: 26px;
}

/*おしらせ*/
.info {
    background: url(../images/photo_img_2.png) no-repeat;
    background-size: 100%;
    margin: 4% 0 0;
    padding: 13% 0 100px;
}

.info .inner {
    margin-bottom: 1%;
}

.info .inner:first-of-type {
    padding: 0.8% 1% 0;
    background-color: #FFF;
}

.info .inner:nth-of-type(2) {
    padding: 2% 1%;
    border-radius: 5px;
    box-shadow: 5px 5px 14px rgb(0 0 0 / 13%);
}

.important {
    display: flex;
}

.important p {
    padding: 0.4% 1%;
    font-weight: bold;
}

.important p:first-of-type {
    background-color: #d82558;
    color: #FFF;
    font-weight: normal;
}

.important p span {
    margin-right: 10px;
    font-weight: bold;
}

.info ul {
    width: 94%;
    margin: 0 auto 40px;
}

.info ul li {
    margin-bottom: 10px;
}

.info ul li a {
    font-weight: bold;
}

.info ul li span {
    margin-right: 10px;
}

.link_btn {
    background-color: #291183;
    width: 30%;
    margin-left: auto;
    border-radius: 5px;
}

.link_btn a {
    display: block;
    color: #FFF;
    text-align: center;
    padding: 1.6% 0;
}

.link_btn a:hover {
    background-color: #7f1183;
    border-radius: 5px;
    opacity: 1;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
}

@media screen and (min-width: 769px) {
    .info ul li a {
        display: inline-flex;
    }

    .info ul li span {
        display: block;
        width: 150px;
    }
}

/*会報*/
.kaiho {
    width: 30%;
    max-width: 177px;
    margin: 0 auto;
    border: 1px solid #ededed;
}

.kaiho img {
    height: auto;
}

/*ゆめチャレンジ*/
.column.yume {
    background: url(../images/challenge_bg.png) no-repeat;
    background-size: 100%;
    padding: 50px 0;
}

.yume .inner {
    width: 86%;
    max-width: 1000px;
    padding: 4% 2% 1%;
    border-radius: 5px;
    box-shadow: 5px 5px 14px rgb(0 0 0 / 13%);
}

.yume .inner h3 {
    border: none;
}

.yume .inner h3 img {
    max-width: 733px;
}

.yume .inner p {
    font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
    text-align: center;
    width: 56%;
    margin: 0 auto 60px;
    line-height: 2em;
    color: #000;
}

.yume ul {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto 50px;
}

.yume ul li {
    width: 24%;
    margin: 0 1% 0 0;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.yume ul li:first-of-type {
    width: 25%;
}

.yume ul li:last-of-type {
    margin: 0;
}

.yume ul li a {
    width: 100%;
    background-color: #784f8c;
    color: #FFF;
    text-align: center;
    padding: 3% 0;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

/*NEWS*/
.toho_news {
    background: url(../images/photo_img_3.png) no-repeat;
    background-position: bottom;
    background-size: 100%;
    padding: 100px 0;
}

.toho_news h3 {
    border: none;
    font-size: 36px;
}

.toho_news .inner {
    padding: 3%;
    border-radius: 5px;
    box-shadow: 5px 5px 14px rgb(0 0 0 / 13%);
}

.toho_news article {
    display: flex;
    margin-bottom: 20px;
}

.toho_news article:last-of-type {
    margin-bottom: 50px;
}

.news_img {
    width: 28%;
    /*background-color: #CCC;*/
    /*max-height: 150px;*/
    margin: 0 2% 3% 0;
    overflow: hidden;
}

.news_img img {
    width: 100%;
    height: 160px;
    object-fit: cover;
}

#contents.toho_news .news_img img {
    width: 100%;
    height: 160px;
    object-fit: cover;
}

.news_con {
    width: 70%;
}

.news_con p:first-of-type {
    border-bottom: 1px solid #d1c7d7;
    padding-bottom: 6px;
    font-weight: bold;
}

.news_con p:nth-of-type(2) {
    font-size: 15px;
}

.news_con p span {
    color: #999;
    font-weight: normal;
}

.toho_news .inner>p.link_btn {
    margin: 0 auto 0;
}

/*桐朋アルバム*/
.toho_album {
    position: relative;
}

.toho_album .inner {
    background-color: rgb(255 255 255 / 0%);
    position: relative;
    padding: 100px 0;
}

.toho_album h3 {
    border: none;
    font-size: 36px;
}

.toho_album::before {
    position: absolute;
    content: "";
    display: block;
    width: 300px;
    height: 150px;
    background-color: #e7d9ef;
}

.toho_album ul {
    display: flex;
    margin-bottom: 30px;
}

.toho_album ul li {
    width: 25.3%;
    max-width: 200px;
    margin: 0 4%;
}

.toho_album ul li a {
    display: block;
    width: 100%;
    padding-top: 100%;
    background-color: #ffb6c1;
}

.toho_album .link_btn {
    margin: 0 auto;
}

/*フォームリンク*/
.form_link {
    margin-bottom: 100px;
}

.form_link .inner {
    border: 1px solid #CCC;
    box-shadow: 20px 20px 0px 0px #784f8c;
    padding: 2% 0;
}

.form_link h3 {
    border: none;
    margin-bottom: 10px;
    font-size: 36px;
}

.form_link p {
    text-align: center;
}

.to_form {
    background-color: #948bb8;
    border-radius: 5px;
    padding: 1%;
    width: 30%;
    margin: 0 auto;
}

.to_form p {
    color: #FFF;
}

.to_form a {
    display: block;
    text-align: center;
}

.to_form img {
    width: 50%;
    max-width: 169px;
    margin: 0 auto;
}

/*リンク集*/
.links {
    background-color: #f1e7f6;
}

.links:last-of-type {
    background-color: #e0d1e7;
}

.links .inner {
    background-color: rgb(255 255 255 / 0%);
    padding: 30px 0;
}

.links h4 {
    border: none;
    font-size: 36px;
}

.links ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: stretch;
    /*justify-content: center;*/
}

.links ul li {
    width: 23%;
    margin: 1%;
    border: 1px solid #784f8c;
    box-sizing: border-box;

    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

}

.links ul li a {
    display: block;
    text-align: center;
    background-color: #FFF;
    width: 100%;
    padding: 2% 0;

    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.links ul li a span {
    font-size: 90%;
}

/*******************************
お知らせ
**************************************/
#contents.info {
    background: none;
    padding: 1% 0;
}

.info .pagenavi ul li span {
    width: auto;
    margin: 0;
}

.single .single-content p a {
    color: #e91ba1;
    text-decoration: underline;
}

.single .single-content p img {
    width: auto;
}

/*******************************
同窓会News
**************************************/
#contents.toho_news {
    background: none;
    padding: 1% 0;
}

/*******************************
会報
**************************************/
.download_btn {
    width: 30%;
    margin-bottom: 10px;
}

.download_btn a {
    display: block;
    background-color: #3225ba;
    padding: 8px 0;
    text-align: center;
    color: #FFF;
    font-size: 18px;
    border-radius: 5px;
}

.single_kaiho .single-content {
    background-color: #f1f1f1;
}

.howto_use_title a {
    margin: 0 0 5px 10px;
    padding: 0px 20px 0 7px;
    border: 1px solid #b78ecc;
    border-radius: 5px;
    box-sizing: border-box;
    color: #74418d;
    font-size: 14px;
    font-weight: normal;
}

.arrow {
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
}

.arrow::after {
    right: 7px;
    width: 6px;
    height: 7px;
    border-bottom: 1px solid #7c11b0;
    border-right: 1px solid #7c11b0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.arrow::after {
    position: absolute;
    top: -2px;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}


#howto_use {
    margin: 10px 0;
}

.howto_use_title {
    font-weight: bold;
    /* background-color: #e4d4ec; */
    color: #784f8c;
    padding: 0 10px;
    border-bottom: 2px solid #e4d4ec;
}

#howto_use ul {
    display: flex;
    flex-wrap: wrap;
}

#howto_use ul li {
    margin: 0 5px 10px;
    border: 1px solid #e4e4e4;
    padding: 5px 5px 0;
}

#howto_use ul li img {
    width: auto;
    max-width: 100%;
}



/*******************************
ゆめチャレンジProject
**************************************/
.yume {
    margin: 0 0 80px 0;
}

p.yume_hd {
    font-size: 20px;
    font-weight: bold;
    background-color: #f1f1ff;
    padding: 5px 10px;
}

#report.yume h4 {
    width: 40%;
    margin: 20px auto 20px;
}

.c_editor {
    margin: 0 0 10px 0;
}

.c_editor a {
    color: #8b51c1;
    text-decoration: underline;
}

.c_editor img {
    width: auto;
    height: auto;
}

.c_editor table th,
.c_editor table td {
    border: 1px solid #CCC;
    padding: 5px 10px;
    box-sizing: border-box;
    vertical-align: middle;
}

.c_editor table p {
    margin-bottom: 0;
}

.link_btn.f_link {
    /*基金への募金について*/
    margin-right: -18px;
    background-color: #4398bb;
    width: 230px;
}

.link_btn.f_link a {
    position: relative;
    padding: 3% 0;
}

.link_btn.f_link a::after {
    position: absolute;
    right: 8%;
    top: 31%;
    display: block;
    content: "";
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
}

.yume .link_btn {
    margin-left: 0;
}

.link_btn.fund {
    margin-left: 0;
}

/*
.target_list th, .target_list td {
    border: 1px #CCC solid;
    padding: 1%;
}
.target_list td:first-child {
	width: 10%;
}
.link_btn.fund {
    margin: 5% auto;
}
.link_btn.fund a {
    padding: 10% 0;
    font-size: 120%;
}*/
/*----------------
決済画面
--------------------*/
img.wp-image-870 {
    /*申込方法の（2）記入例*/
    width: auto;
}

.settlement_stripe {
    display: flex;
    width: 90%;
    margin: 0 auto;
}

.box1 {
    width: 46%;
    border: 4px solid #e1d6e6;
    border-radius: 10px;
    box-sizing: border-box;
    padding: 10px;
    margin: 2%;
}

.box1 form p {
    text-align: left;
    font-weight: bold;
    margin: 20px 0 0 0;
}

.box1 input {
    font-size: 16px;
    padding: 5px 10px;
    margin: 0 0 10px;
}

.box1 input[type="text"] {
    max-width: 300px;
}

.box1 input.term_txt {
    width: 100px;
    margin: 0 5px 10px 0;
}

.box1 label {
    display: inline-flex;
    width: 60%;
    margin: 0 0 20px;
}

.required {
    color: #F00;
    margin: 0 0 0 10px;
    font-size: 14px;
}

.donate_plan {
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 20px;
    background-color: #784f8c;
    color: #ffffff;
    padding: 5px 10px;
}

.box1:nth-of-type(2) .donate_plan {
    background-color: #ae6dce;
}

.plan_desc {
    font-size: 14px;
    margin: 0 0 20px;
}

button.stripe-button-el {
    clear: both;
    display: block;
}

.cancel_txt {
    background-color: #fcecec;
    width: 90%;
    margin: 0 auto;
    padding: 1%;
}

.card_error {
    background-color: #f8ebeb;
    padding: 20px;
    font-size: 18px;
}

.card_success {
    background-color: #d0edf0;
    padding: 20px;
    font-size: 18px;
}

/*******************************
桐朋アルバム
**************************************/
.archives {
    display: flex;
    flex-wrap: wrap;
}

.archives article {
    width: 23%;
    margin: 1%;
    text-align: center;
}

.archives article .kaiho {
    width: 100%;
}

/*問合せフォーム ----------------------------------*/
#mailform {
    margin-bottom: 50px;
    width: 100%;
}

.mail-btn {
    background-color: #1e90ff;
    color: #FFF;
    -moz-border-radius: 10px;
    /* Firefox */
    -webkit-border-radius: 10px;
    /* Safari and Chrome */
    border-radius: 10px;
    border: none;
    padding: 15px 20px;
    margin: 0 10px;
}

.mail-btn:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
}

table.mail_box {
    width: 80%;
    margin: 0 auto;
}

table.mail_box th {
    width: 25%;
    padding: 10px;
    text-align: left;
    font-weight: bold;
    vertical-align: middle;
    background-color: #eeeeff;
    border-bottom: #FFF solid 1px;
}

table.mail_box td {
    width: 75%;
    vertical-align: middle;
    padding: 10px;
    border: #eeeeff solid 1px;
}

span.txt_red {
    color: #FF0000;
}

form p {
    text-align: center;
    margin: 20px 0 0 0;
}

input {
    padding: 8px;
    border: #CCCCCC solid 1px;
    box-sizing: border-box;
    display: block;
    width: 100%;
}

input[type="text"] {
    margin: 0;
}

textarea {
    padding: 8px;
    display: block;
    width: 100%;
    min-height: 150px;
    border: #CCCCCC solid 1px;
    box-sizing: border-box;
}

input.no_input {
    width: 100px;
}

/*
input.btn {
    margin-bottom:100px;
}
*/

input[type="reset"] {
    background-color: #CCC;
    -webkit-appearance: none;
}

input[type="submit"] {
    -webkit-appearance: none;
    width: 30%;
    margin: 0 auto 20px;
    background-color: #291183;
    color: #FFF;
    padding: 16px 0;
    border: none;
}

input[type="submit"].back_btn {
    background-color: #958c99;
}

/*
input[type="password"] {  
}  
input[type="checkbox"] {  
}  
input[type="radio"] {  
}  
select {  
}
*/

/**/
.c_editor ul {
    display: inherit;
}

.c_editor ul li {
    width: 100% !important;
}

.c_editor ul li a {
    background-color: unset;
    color: #784f8c;
    text-align: left;
    padding: 0;
}