@charset "UTF-8";

header { background-color:#fefefe; padding-top:60px; padding-bottom:40px; }

h1 { font-size:28px; font-weight: normal; text-indent: 0.5em; letter-spacing: 0.5em; margin:auto; text-align:center; padding-top:40px; position:relative; }
h1::before { content: ""; display: block; position: absolute; width:50px; height:37px; top:0; left:50%; transform: translateX(-50%); background:url("../img/icon_img01.png"); background-repeat: no-repeat; background-size: contain; }
h1::after { content: ""; display: none; }
@media (max-width:900px) {
    header { padding-top:50px; padding-bottom:30px; }
    h1 { font-size:21px; padding-top:26px; }
    h1::before { width:32px; }
}

div#main_img { position:relative; height:240px; z-index: -1; }
div#main_img::before { content: ''; position:fixed; width:100%; height:50vh; z-index: -1; top:0; background:url("../img/main_history.webp"); background-size: cover; background-position: center center; background-repeat: no-repeat;  }
div#main_img::after { content: ''; display: block; position:absolute; left:0; bottom:-10px; width:100%; height: 20px; background: linear-gradient(to right, #cdf4f4, #99c2c4); }

@media (max-width:900px) {
    div#main_img { height:150px; }
    div#main_img::after { height:10px; bottom:-5px; }
}


div#logo_icon { position:fixed; left:30px; top:30px; width:35%; max-width:250px; z-index: 10000; }
div#logo_icon img { width:100%; }
@media (max-width:900px) {
    div#logo_icon { top:15px; left:20px; width:36%; }
}

div#prayer_block { margin:auto; padding-top:60px; padding-bottom:100px; width:100%; position: relative; background:linear-gradient(to bottom, #fefefe 0%, #ecf4f4 30%, #cbe3e5 100%); }
div#prayer_area { width:84%; max-width:900px; margin:auto; padding:50px 130px 70px; background-color:#fafdff; border-radius: 2px; box-sizing: border-box; }
@media (max-width:900px) {
    div#prayer_block { padding-top:30px; padding-bottom:60px; }
    div#prayer_area { width:88%; padding:30px 5%; }
}

div#prayer_area { margin:auto; text-align:center; }
div#prayer_area h2 { font-size:24px; font-weight: normal; padding-bottom:15px; margin-bottom:30px; letter-spacing: 0.2em; text-align: center; position:relative; display: inline-block; }
div#prayer_area h2::after { content: ""; display: inline-block; width:80%; height:2px; bottom:0; left:10%; position: absolute; background-color:#2199Bf; }
div#prayer_area h2 > span { font-size:18px; letter-spacing: 0.1em; }
div#prayer_area h2.subtitle { font-size:26px; border:solid 2px #2199Bf; padding:5px 0 6px; display: block; }
div#prayer_area h2.subtitle::after { display: none; }
div#prayer_area h2.smallTitle { font-size:24px; letter-spacing: 0.2em; }
div#prayer_area p.prayer_info { color:#c64242; letter-spacing: 1px; margin-bottom:20px; }
div#prayer_area h3 { font-size:26px; font-weight: normal; letter-spacing: 0.1em; color:#c64242; margin-bottom:5px; }
div#prayer_area h4 { font-size:21px; font-weight: normal; letter-spacing: 0.1em; color:#c64242; margin-bottom:5px; }
div#prayer_area h4 > span { font-size:18px; }
div#prayer_area p.info_txt { font-size:12px; letter-spacing: 0.1em; }
@media (max-width:900px) {
    div#prayer_area h2 { font-size:20px; }
    div#prayer_area h2 > span { font-size:15px; }
    div#prayer_area h2.subtitle { font-size:20px; }
    div#prayer_area h2.smallTitle { font-size:19px; letter-spacing: 0.1em; }
    div#prayer_area p.prayer_info { font-size:12px; }
    div#prayer_area h3 { font-size:18px; }
    div#prayer_area h4 { font-size:16px; }
    div#prayer_area h4 > span { font-size:14px; }
    div#prayer_area p.info_txt { font-size:11px; }
}





div#navBlock { display: flex; width:100%; justify-content: center; gap:4%; margin:auto; margin-bottom:40px; box-sizing: border-box; flex-wrap: wrap; }
div#navBlock > div { margin:auto; width:40%; margin-bottom:20px; }
div#navBlock > div > a { font-size:15px; color:#333; display: block; letter-spacing: 0.1em; position: relative; padding-right:1.5em; transition: all 0.6s ease-in-out; }
div#navBlock > div > a::before { width:100%; height:1px; background:linear-gradient(to right, #2199bf 50%, #333 50%); background-size:200% 100%; background-position: top right; content: ""; bottom:-5px; display: block; position: absolute; transition: all 0.6s ease-in-out; }
div#navBlock > div > a::after { content: ""; width:6px; height:6px; border-bottom:solid 1px #333; border-right:solid 1px #333; display: block; position:absolute; top:50%; right:0.2em; transform: translateY(-50%) rotateZ(45deg); transition: all 0.6s ease-in-out; }
div#navBlock > div > a:hover { color:#2199bf; }
div#navBlock > div > a:hover::before { background-position: top left; }
div#navBlock > div > a:hover::after { border-bottom:solid 1px #2199bf; border-right:solid 1px #2199bf; top:60%; }
@media (max-width:900px) {
    div#navBlock { flex-direction: column; margin-bottom:40px; }
    div#navBlock > div { margin-bottom:15px; width:100%; }
    div#navBlock > div > a::before { bottom:-3px; }
    div#navBlock > div > a::after { right:0.8em }
}

/* 3つまで
div#navBlock { display: flex; width:100%; justify-content: center; gap:4%; margin:auto; margin-bottom:40px; box-sizing: border-box; flex-wrap: wrap; }
div#navBlock > div { margin:auto; width:28%; margin-bottom:20px; }
div#navBlock > div > a { font-size:15px; color:#333; display: block; letter-spacing: 0.1em; position: relative; padding-right:1.5em; transition: all 0.6s ease-in-out; }
div#navBlock > div > a::before { width:100%; height:1px; background:linear-gradient(to right, #2199bf 50%, #333 50%); background-size:200% 100%; background-position: top right; content: ""; bottom:-5px; display: block; position: absolute; transition: all 0.6s ease-in-out; }
div#navBlock > div > a::after { content: ""; width:6px; height:6px; border-bottom:solid 1px #333; border-right:solid 1px #333; display: block; position:absolute; top:50%; right:0.2em; transform: translateY(-50%) rotateZ(45deg); transition: all 0.6s ease-in-out; }
div#navBlock > div > a:hover { color:#2199bf; }
div#navBlock > div > a:hover::before { background-position: top left; }
div#navBlock > div > a:hover::after { border-bottom:solid 1px #2199bf; border-right:solid 1px #2199bf; top:60%; }
@media (max-width:900px) {
    div#navBlock { flex-direction: column; margin-bottom:40px; }
    div#navBlock > div { margin-bottom:15px; width:100%; }
    div#navBlock > div > a::before { bottom:-3px; }
    div#navBlock > div > a::after { right:0.8em }
}
*/


div#content01 { border-bottom:solid 2px #333; padding-top:20px; padding-bottom:50px; margin-bottom:80px; }
div#content02 { border-bottom:solid 2px #333; padding-top:20px; padding-bottom:70px; margin-bottom:80px; }
div#content03 { padding-top:20px; }
div#content04 { border-bottom:solid 2px #333; padding-top:20px; padding-bottom:70px; margin-bottom:80px; }
div#content05 { border-bottom:solid 2px #333; padding-top:20px; padding-bottom:70px; margin-bottom:80px; }
@media (max-width:900px) {
    div#content01 { padding-bottom:10px; margin-bottom:50px; }
    div#content02 { padding-bottom:10px; margin-bottom:50px; }
}


div#txt_block01 { margin-top:50px; margin-bottom:60px; }
div#txt_block01 > p { font-size:16px; text-align:left; margin-bottom:15px; letter-spacing: 0.1em; line-height: 2; }
div#txt_block01 > p > span { font-size:20px; color:#c64242; }
div#txt_block01 > p > span.txtGreen { font-size:18px; color:#06ae14; line-height: 1.5; }
@media (max-width:900px) {
    div#txt_block01 { margin-top:30px; margin-bottom:40px; }
    div#txt_block01 > p { font-size:13px; }
    div#txt_block01 > p > span { font-size:16px; }
    div#txt_block01 > p > span.txtGreen { font-size:16px; }
}

div#ontheDay { margin:auto; margin-bottom:100px; }
div#ontheDay > h5 { font-size:18px; letter-spacing: 0.1em; font-weight: normal; padding-bottom:10px; display: inline-block; position:relative; }
div#ontheDay > h5::before { content: ""; position:absolute; width:6em; height:1px; background-color:#333; left:-7em; top:40%; transform: translateY(-50%); }
div#ontheDay > h5::after { content: ""; position:absolute; width:6em; height:1px; background-color:#333; right:-7em; top:40%; transform: translateY(-50%);  }
div#ontheDay > p { font-size:16px; text-align:left; letter-spacing: 0.1em; line-height: 1.8; }
@media (max-width:900px) {
    div#ontheDay { margin-bottom:70px; }
    div#ontheDay > h5 { font-size:16px; letter-spacing: 1px; }
    div#ontheDay > h5::before { width:2em; left:-3em; }
    div#ontheDay > h5::after { width:2em; right:-3em; }
    div#ontheDay > p { font-size:13px; line-height: 1.8; }
}

div.flow_block { margin:auto; margin-top:10px; margin-bottom:60px; }
div.flow_block.last_child { margin-bottom:100px; }
div.flow_block > h5 { font-size:20px; font-weight: normal; letter-spacing: 0.1em; padding-top:10px; padding-bottom:10px; border-top:solid 1px #2199Bf; border-bottom:solid 1px #2199Bf; margin-bottom:20px; }
div.flow_block > p { font-size:18px; margin-bottom:5px; text-align:left; letter-spacing: 0.05em; text-indent: -1.5em; padding-left:1.5em; }
@media (max-width:900px) {
    div.flow_block { margin-bottom:50px; }
    div.flow_block.last_child { margin-bottom:80px; }
    div.flow_block > h5 { font-size:16px; }
    div.flow_block > p { font-size:14px; letter-spacing: 0.02em; margin-bottom:8px; }
}




div.appForm_link { margin:auto; width:60%; }
div.appForm_link.secondForm { margin-top:30px; }
div.appForm_link > a { font-size:21px; border-radius: 2px; font-weight: normal; letter-spacing: 0.2em; padding:4px 0 12px; color:#fefefe; background:linear-gradient(to right, #555 50%, #2199bf 50%); background-size: 200% 100%; background-position: right top; display: block; transition: all 0.5s ease-in-out; }
div.appForm_link > a > span { display: block; font-size:14px; line-height: 1; }
div.appForm_link > a:hover { background-position: left top; }

div.detail_block { margin:auto; margin-top:60px; margin-bottom:50px; }

div.detail_block > p { text-align:left; margin-bottom:10px; letter-spacing: 1px; }
div.detail_block > dl { width:100%; margin:auto; display: flex; padding-bottom:8px; margin-bottom:8px; border-bottom:dotted 1px #ddd; }
div.detail_block > dl:last-child { border:none; }
div.detail_block > dl > dt { text-align:left; width:25%; }
div.detail_block > dl > dd { text-align:left; line-height: 1.6; }
@media (max-width:900px) {
    div.appForm_link { width:92%; }
    div.appForm_link > a { font-size:16px; padding:4px 0 10px; }
    div.appForm_link > a > span { font-size:11px; }

    div.detail_block { width:92%; margin-top:50px; margin-bottom:80px; }
    div.detail_block > dl { flex-direction: column; }
    div.detail_block > dl > dt { width:100%; padding-bottom:4px; }
    div.detail_block > dl > dd { width:100%; }
}


div.itemInfo { margin-bottom:50px; }
div.itemInfo > p { font-size:16px; letter-spacing: 0.1em; text-align:left; }
div.itemInfo > p.mgt20 { margin-top:20px; }
@media (max-width:900px) {
    div.itemInfo { margin-bottom:30px; }
    div.itemInfo > p { font-size:14px; }
    div.itemInfo > p.mgt20 { margin-top:15px; }
}

div.itemTxt { margin-bottom:30px; }
div.itemTxt > p { font-size:16px; letter-spacing: 0.1em; }
div.itemFlex { display: flex; width:100%; margin:auto; flex-wrap: wrap; justify-content: center; gap:20px 5px; margin-bottom:60px; }
div.itemFlex > div { width:200px; height: auto; text-align:center; margin-bottom:20px; }
div.itemFlex > div > img { width:200px; height: 200px; object-fit: contain; }
div.itemFlex > div > h3 { font-size:20px !important; color:#333 !important; letter-spacing: 1px; font-weight: normal; line-height: 1.3; margin-top:10px; margin-bottom:5px; }
div.itemFlex > div > h3.space_s { font-size:18px; letter-spacing: 0; }
div.itemFlex > div > h3 > span { font-size:16px; letter-spacing: 0; }
div.itemFlex > div > h3 > span.font_small { font-size:14px; margin-right:10px; }
div.itemFlex > div > h3.space_s > span { font-size:15px; }
div.itemFlex > div > p { font-size:14px; letter-spacing: 1px; }
div.itemFlex > div > p > span { font-size:20px; }
@media (max-width:900px) {
    div.itemTxt > p { font-size:14px; text-align:left; }
    div.itemFlex { justify-content: flex-start; margin:auto; margin-bottom:50px; gap:20px 15px; }
    div.itemFlex > div { width:44%; margin:auto; }
    div.itemFlex > div > img { width:100%; height:auto; }
    div.itemFlex > div > h3 { font-size:16px !important; }
    div.itemFlex > div > h3.space_s { font-size:13px; }
    div.itemFlex > div > h3 > span { font-size:12px; }
    div.itemFlex > div > h3 > span.font_small { font-size:12px; margin-right:0; line-height: 1.4; display: block; }
    div.itemFlex > div > h3.space_s > span { font-size:11px; }
    div.itemFlex > div > p { font-size:12px; }
    div.itemFlex > div > p > span { font-size:18px; }
}

div#itemDetail { margin-bottom:80px; }
div#itemDetail div#itemDetailImg { width:70%; margin:auto; margin-bottom:15px; }
div#itemDetail div#itemDetailImg > img { width:100%; }
div#itemDetail div#itemDetailTxt { width:70%; margin:auto; margin-bottom:60px; }
div#itemDetail div#itemDetailTxt > p { font-size:18px; text-align:left; letter-spacing: 0.1em; line-height: 2; }
div#itemDetail div#itemDetailTxt > p#itemDetailInfo { font-size:12px; color:#2199Bf; }
div#itemDetail div#itemDetailTxt > p > span.font_small { font-size:13px; letter-spacing: 0; }
@media (max-width:900px) {
    div#itemDetail { margin-bottom:40px; }
    div#itemDetail div#itemDetailImg { width:90%; }
    div#itemDetail div#itemDetailTxt { width:90%; }
    div#itemDetail div#itemDetailTxt > p { font-size:16px; line-height: 1.2; margin-bottom:15px; }
    div#itemDetail div#itemDetailTxt > p#itemDetailInfo { font-size:11px; }
    div#itemDetail div#itemDetailTxt > p > span.font_small { font-size:12px; }
}


div#person_block { margin:1px auto 40px; }
div#person_block > p { font-size:16px; letter-spacing: 0.1em; text-align:left; line-height: 1.8; margin-bottom:20px; }
@media (max-width:900px) {
    div#person_block { margin:1px auto 30px; }
    div#person_block > p { font-size:13px; }
}
