@charset 'UTF-8';
*,
::before,
::after
{
    font-weight: 400;

    box-sizing: border-box;

    border-width: 0;
    border-style: solid;
}

html
{
    line-height: 1.15;
    /* 1 */

    -webkit-text-size-adjust: 100%;
    /* 2 */
    -webkit-tap-highlight-color: transparent;
    /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body
{
    font-family: 'Noto Sans JP', '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    line-height: 2;

    margin: 0;

    color: #3c2c25 !important;
    background: #f7f5f0 !important;
}

/**
 * Render the `main` element consistently in IE.
 */
main
{
    display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl
{
    margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6
{
    font-size: inherit ;
    font-weight: inherit;
    line-height: inherit;

    margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol
{
    margin: 0;
    padding: 0;

    list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt
{
    font-weight: bold;
}

dd
{
    margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr
{
    clear: both;
    /* 1 */
    overflow: visible;

    box-sizing: content-box;
    /* 1 */
    height: 0;
    margin: 0;

    color: inherit;
    /* 2 */
    border-top-width: 1px;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre
{
    font-family: monospace, monospace;
    /* 1 */
    font-size: inherit;
    /* 2 */
}

address
{
    font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a
{
    text-decoration: none;

    color: inherit;
    background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title]
{
            text-decoration: underline;
            text-decoration: underline dotted;
    /* 2 */

    -webkit-text-decoration: underline dotted;
    /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong
{
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp
{
    font-family: monospace, monospace;
    /* 1 */
    font-size: inherit;
    /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small
{
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup
{
    font-size: 75%;
    line-height: 0;

    position: relative;

    vertical-align: baseline;
}

sub
{
    bottom: -.25em;
}

sup
{
    top: -.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe
{
    vertical-align: bottom;
}

img
{
    max-width: 100%;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea
{
    font: inherit;

    margin: 0;
    padding: 0;

    text-align: inherit;
    vertical-align: middle;

    color: inherit;
    border-radius: 0;
    outline: 0;
    background: transparent;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type='checkbox']
{
    -webkit-appearance: checkbox;
       -moz-appearance: checkbox;
            appearance: checkbox;
}

[type='radio']
{
    -webkit-appearance: radio;
       -moz-appearance: radio;
            appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input
{
    /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select
{
    /* 1 */
    text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type='button'],
[type='reset'],
[type='submit']
{
    cursor: pointer;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

button[disabled],
[type='button'][disabled],
[type='reset'][disabled],
[type='submit'][disabled]
{
    cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner
{
    padding: 0;

    border-style: none;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring
{
    outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand
{
    display: none;
}

/**
 * Remove padding
 */
option
{
    padding: 0;
}

/**
 * Reset to invisible
 */
fieldset
{
    min-width: 0;
    margin: 0;
    padding: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend
{
    /* 2 */
    display: table;
    /* 1 */

    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */

    white-space: normal;

    color: inherit;
    /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress
{
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea
{
    overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button
{
    height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type='search']
{
    outline-offset: -2px;
    /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type='search']::-webkit-search-decoration
{
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button
{
    /* 1 */
    font: inherit;

    -webkit-appearance: button;
    /* 2 */
}

/**
 * Clickable labels
 */
label[for]
{
    cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details
{
    display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary
{
    display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]
{
    outline: none;
}

/* Table */
/* ============================================ */
table
{
    border-spacing: 0;
    border-collapse: collapse;
}

caption
{
    text-align: left;
}

td,
th
{
    padding: 0;

    vertical-align: top;
}

th
{
    font-weight: bold;

    text-align: left;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template
{
    display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden]
{
    display: none;
}

/* Link */
/* ============================================ */
a
{
    color: #f39800;
}

.inner
{
    max-width: 1000px;
    margin: 0 auto;
}

.inner._L
{
    max-width: 1200px;
}

.text-left
{
    text-align: left;
}

.text-center
{
    text-align: center;
}

.text-right
{
    text-align: right;
}

.shadow
{
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
}

.bg100
{
    margin: 0 calc(50% - 50vw);
}

.underline
{
    display: block;

    text-decoration: underline;

    color: #f39800;
}

.mg1
{
    margin: 1em;
}

.mgT1
{
    margin-top: 1em;
}

.mgR1
{
    margin-right: 1em;
}

.mgB1
{
    margin-bottom: 1em;
}

.mgL1
{
    margin-left: 1em;
}

.pd1
{
    padding: 1em;
}

.pdT1
{
    padding-top: 1em;
}

.pdR1
{
    padding-right: 1em;
}

.pdB1
{
    padding-bottom: 1em;
}

.pdL1
{
    padding-left: 1em;
}

.mg2
{
    margin: 2em;
}

.mgT2
{
    margin-top: 2em;
}

.mgR2
{
    margin-right: 2em;
}

.mgB2
{
    margin-bottom: 2em;
}

.mgL2
{
    margin-left: 2em;
}

.pd2
{
    padding: 2em;
}

.pdT2
{
    padding-top: 2em;
}

.pdR2
{
    padding-right: 2em;
}

.pdB2
{
    padding-bottom: 2em;
}

.pdL2
{
    padding-left: 2em;
}

.mg3
{
    margin: 3em;
}

.mgT3
{
    margin-top: 3em;
}

.mgR3
{
    margin-right: 3em;
}

.mgB3
{
    margin-bottom: 3em;
}

.mgL3
{
    margin-left: 3em;
}

.pd3
{
    padding: 3em;
}

.pdT3
{
    padding-top: 3em;
}

.pdR3
{
    padding-right: 3em;
}

.pdB3
{
    padding-bottom: 3em;
}

.pdL3
{
    padding-left: 3em;
}

.mg4
{
    margin: 4em;
}

.mgT4
{
    margin-top: 4em;
}

.mgR4
{
    margin-right: 4em;
}

.mgB4
{
    margin-bottom: 4em;
}

.mgL4
{
    margin-left: 4em;
}

.pd4
{
    padding: 4em;
}

.pdT4
{
    padding-top: 4em;
}

.pdR4
{
    padding-right: 4em;
}

.pdB4
{
    padding-bottom: 4em;
}

.pdL4
{
    padding-left: 4em;
}

.mg5
{
    margin: 5em;
}

.mgT5
{
    margin-top: 5em;
}

.mgR5
{
    margin-right: 5em;
}

.mgB5
{
    margin-bottom: 5em;
}

.mgL5
{
    margin-left: 5em;
}

.pd5
{
    padding: 5em;
}

.pdT5
{
    padding-top: 5em;
}

.pdR5
{
    padding-right: 5em;
}

.pdB5
{
    padding-bottom: 5em;
}

.pdL5
{
    padding-left: 5em;
}

.mg6
{
    margin: 6em;
}

.mgT6
{
    margin-top: 6em;
}

.mgR6
{
    margin-right: 6em;
}

.mgB6
{
    margin-bottom: 6em;
}

.mgL6
{
    margin-left: 6em;
}

.pd6
{
    padding: 6em;
}

.pdT6
{
    padding-top: 6em;
}

.pdR6
{
    padding-right: 6em;
}

.pdB6
{
    padding-bottom: 6em;
}

.pdL6
{
    padding-left: 6em;
}

.mg7
{
    margin: 7em;
}

.mgT7
{
    margin-top: 7em;
}

.mgR7
{
    margin-right: 7em;
}

.mgB7
{
    margin-bottom: 7em;
}

.mgL7
{
    margin-left: 7em;
}

.pd7
{
    padding: 7em;
}

.pdT7
{
    padding-top: 7em;
}

.pdR7
{
    padding-right: 7em;
}

.pdB7
{
    padding-bottom: 7em;
}

.pdL7
{
    padding-left: 7em;
}

.mg8
{
    margin: 8em;
}

.mgT8
{
    margin-top: 8em;
}

.mgR8
{
    margin-right: 8em;
}

.mgB8
{
    margin-bottom: 8em;
}

.mgL8
{
    margin-left: 8em;
}

.pd8
{
    padding: 8em;
}

.pdT8
{
    padding-top: 8em;
}

.pdR8
{
    padding-right: 8em;
}

.pdB8
{
    padding-bottom: 8em;
}

.pdL8
{
    padding-left: 8em;
}

.mg9
{
    margin: 9em;
}

.mgT9
{
    margin-top: 9em;
}

.mgR9
{
    margin-right: 9em;
}

.mgB9
{
    margin-bottom: 9em;
}

.mgL9
{
    margin-left: 9em;
}

.pd9
{
    padding: 9em;
}

.pdT9
{
    padding-top: 9em;
}

.pdR9
{
    padding-right: 9em;
}

.pdB9
{
    padding-bottom: 9em;
}

.pdL9
{
    padding-left: 9em;
}

.mg10
{
    margin: 10em;
}

.mgT10
{
    margin-top: 10em;
}

.mgR10
{
    margin-right: 10em;
}

.mgB10
{
    margin-bottom: 10em;
}

.mgL10
{
    margin-left: 10em;
}

.pd10
{
    padding: 10em;
}

.pdT10
{
    padding-top: 10em;
}

.pdR10
{
    padding-right: 10em;
}

.pdB10
{
    padding-bottom: 10em;
}

.pdL10
{
    padding-left: 10em;
}

.midashi-main
{
    font-size: 46px;
    font-weight: bold;

    width: -webkit-fit-content;
    width:    -moz-fit-content;
    width:         fit-content;
    margin: 0 auto;

    color: #3c2c25;
    border-bottom: 3px dotted #3c2c25;
}

@media screen and (max-width: 834px)
{
    .midashi-main
    {
        font-size: 30px;
    }
}

.midashi-sub
{
    font-weight: bold;

    color: #f39800;
}

.sec-01
{
    padding-top: var(--top);
    padding-bottom: var(--bottom);

    background: url(../images/section1-bg-icon1.png) center top/var(--size1) no-repeat, url(../images/section1-bg-icon2.png) center bottom/var(--size2) no-repeat;

    --top: 260px;
    --bottom: 150px;
    --size1: auto;
    --size2: 100%;
}

@media screen and (max-width: 834px)
{
    .sec-01
    {
        --top: 30%;
        --bottom: 10%;
        --size1: 100%;
    }
}

.sec-01 .inner
{
    padding: 40px;

    border-radius: 20px;
    background: #fff;
}

.sec-02
{
    margin-top: -1px;

    background: #fec67d;
}

.sec-03
{
    overflow: hidden;

    background: #fff;
}

.sec-03._bg
{
    background: #fec67d;
}

.activities-item._men,
.activities-item._girl
{
    position: absolute;
    z-index: 1;
    top: -25%;

    display: flex;

    width: 55%;
    height: 100%;

    align-items: center;
}

.activities-item._men img,
.activities-item._girl img
{
    width: 100%;
}

@media screen and (max-width: 834px)
{
    .activities-item._men,
    .activities-item._girl
    {
        position: static;

        width: auto;
        margin: 0 auto 20px;
    }
}

.activities
{
    margin-top: 5%;
}

.activities._girl
{
    margin-top: 10%;
}

.activities-midashi
{
    margin-bottom: 30px;
}

@media screen and (max-width: 834px)
{
    .activities-midashi
    {
        margin-bottom: 15px;

        text-align: center;
    }
}

.activities-midashi._right
{
    display: flex;

    justify-content: flex-end;
}

@media screen and (max-width: 834px)
{
    .activities-midashi._right
    {
        display: block;
    }
}

.activities-midashi ._icon
{
    font-size: 40px;
    font-weight: bold;

    padding-left: 50px;

    background: url(../images/arrow.png) top 60% left no-repeat;
}

@media screen and (max-width: 834px)
{
    .activities-midashi ._icon
    {
        font-size: 30px;
    }
}

.activities-list
{
    position: relative;
}

@media screen and (max-width: 834px)
{
    .activities-list
    {
        display: flex;
        flex-direction: column;
    }
}

.activities-item
{
    position: relative;
    z-index: 10;
}

@media screen and (max-width: 834px)
{
    .activities-item._01
    {
        margin-top: -130px;

        order: 2;
    }
}

@media screen and (max-width: 834px)
{
    .activities-item._02
    {
        order: 1;
    }
}

@media screen and (max-width: 834px)
{
    .activities-item._03
    {
        order: 3;
    }
}

.activities-item._half
{
    width: 55%;
    min-height: 205px;
}

@media screen and (max-width: 834px)
{
    .activities-item._half
    {
        width: 100%;
        min-height: auto;
    }
}

@media screen and (max-width: 834px)
{
    .activities-item._half br
    {
        display: none;
    }
}

.activities-item._right
{
    margin-left: auto;
}

.activities-item._men
{
    right: 0;
}

.activities-item._girl
{
    left: 0;
}

.detail-midashi
{
    font-size: 20px;
    font-weight: bold;

    display: inline-block;

    margin-bottom: -20px;
    padding: 2px 20px 5px;

    color: #fff;
    border-radius: 30px;
    background: #65bb35;
}

.detail-text
{
    margin-left: 20px;
    padding: 40px 20px;

    border-radius: 10px;
    background: #fff;
}

@media screen and (max-width: 834px)
{
    .detail-text
    {
        padding: 20px;
    }
}

.detail-list
{
    display: flex;

    align-items: center;
    justify-content: space-between;
}

@media screen and (max-width: 834px)
{
    .detail-list
    {
        display: block;
    }
}

.detail-item
{
    padding: 0 20px;

    flex-grow: 1;
}

@media screen and (max-width: 834px)
{
    .detail-item
    {
        padding: 20px;
    }
}

.detail-item:not(:last-child)
{
    border-right: 2px dotted #ccc;
}

@media screen and (max-width: 834px)
{
    .detail-item:not(:last-child)
    {
        border: none;
        border-bottom: 2px dotted #ccc;
    }
}

.block
{
    display: flex;

    padding: 30px 70px;

    border-radius: 10px;
    background: #fff;

    align-items: center;
    justify-content: space-between;
}

@media screen and (max-width: 834px)
{
    .block
    {
        padding: 30px 40px;
    }
}

.block._bg
{
    background: #f7f5f0;
}

@media screen and (max-width: 834px)
{
    .block._tab
    {
        display: block;
    }
    .block._tab .block-img,
    .block._tab .block-section
    {
        width: 100% !important;
    }
    .block._tab .block-img
    {
        text-align: center;
    }
    .block._tab .block-section
    {
        margin-top: 15px;
    }
    .block._tab .block-section br
    {
        display: none;
    }
}

@media screen and (max-width: 640px)
{
    .block._sp
    {
        display: block;
    }
    .block._sp .block-img,
    .block._sp .block-section
    {
        width: 100% !important;
    }
    .block._sp .block-img
    {
        text-align: center;
    }
    .block._sp .block-section
    {
        margin-top: 15px;
    }
    .block._sp .block-section br
    {
        display: none;
    }
}

.block._position
{
    position: relative;
}

.block._position .block-img
{
    position: absolute;
    right: 0;
    bottom: 0;

    width: 40%;
}

@media screen and (max-width: 834px)
{
    .block._position .block-img
    {
        position: static;
    }
}

.block._position .block-section
{
    width: 58%;
}

.block-img
{
    width: 30%;
}

.block-section
{
    width: 68%;
}

@media screen and (max-width: 834px)
{
    .card._tab .card-list
    {
        display: block;
    }
    .card._tab .card-item
    {
        width: 100%;
    }
    .card._tab .card-item
    {
        margin-bottom: 3%;
    }
}

@media screen and (max-width: 640px)
{
    .card._sp .card-list
    {
        display: block;
    }
    .card._sp .card-item
    {
        width: 100%;
    }
    .card._sp .card-item
    {
        margin-bottom: 3%;
    }
}

.card-list
{
    display: flex;

    align-items: stretch;
    justify-content: space-between;
}

.card-item
{
    display: flex;

    width: calc(100% / 2 - 2%);
    padding: 30px;

    border-radius: 10px;
    background: #f7f5f0;

    justify-content: center;
}

.volunteer-list
{
    position: relative;
}

@media screen and (max-width: 834px)
{
    .volunteer-list
    {
        padding-right: 20%;
    }
}

@media screen and (max-width: 640px)
{
    .volunteer-list
    {
        padding: 0;
    }
}

.volunteer-list:after
{
    position: absolute;
    top: -40px;
    right: 0;

    width: 50%;
    height: 405px;

    content: '';

    background: url(../images/section3-icon3.png) right bottom/65% no-repeat;
}

@media screen and (max-width: 640px)
{
    .volunteer-list:after
    {
        display: none;
    }
}

.volunteer-wrap
{
    display: flex;

    align-items: center;
    justify-content: space-between;
    justify-content: flex-start;
}

.volunteer-midashi
{
    position: relative;
    z-index: 10;
}

.volunteer-text
{
    font-weight: bold;

    display: block;

    width: 60%;
    margin-left: -20px;
    padding: 10px;
    padding-left: 35px;

    border-radius: 10px;
    background: #f7f5f0;
}

@media screen and (max-width: 640px)
{
    .volunteer-text
    {
        width: 100%;
    }
}

.volunteer-text ._color
{
    font-size: 16px;
    font-weight: bold;

    color: #f39800;
}
