/* 画面幅が768px以下のときだけ適用 */
@media screen and (max-width: 768px) {
/****** WIDTH ******/
.w160 {
    width: 30%;
}

.w720 {
    width: 90%;
}

/****** MARGIN ******/
/* TOP */
.mt10 {
    margin-top: 10px;
}

.mt30 {
    margin-top: 30px;
}

.mt75 {
    margin-top: 75px;
}

.mt100 {
    margin-top: 100px;
}

/* BOTTOM */
.mb30 {
    margin-bottom: 30px;
}

.mb75 {
    margin-bottom: 75px;
}

.mb100 {
    margin-bottom: 100px;
}

/* SIDE */
.msauto {
    margin-left: auto;
    margin-right: auto;
}

.ms10 {
    margin-left: 10px;
    margin-right: 10px;
}

.ms15 {
    margin-left: 15px;
    margin-right: 15px;
}

/****** PADDING ******/
/* TOP */
.pt15 {
    padding-top: 15px;
}

.pt30 {
    padding-top: 30px;
}

.pt50 {
    /* padding-top: 50px; */
    padding-top: 10px;
}

.pt75 {
    /* padding-top: 75px; */
    padding-top: 10px;
}

.pt100 {
    padding-top: 100px;
}

/* BOTTOM */
.pb15 {
    padding-bottom: 15px;
}

.pb30 {
    padding-bottom: 30px;
}

.pb50 {
    /* padding-bottom: 50px; */
    padding-bottom: 10px;
}

.pb75 {
    padding-bottom: 75px;
}

.pb100 {
    padding-bottom: 100px;
}

/****** TEXT-ALIGN ******/
.taleft {
    text-align: left;
}

.tacenter {
    text-align: center;
}

.taright {
    text-align: right;
}

/****** TEXT-COLOR ******/
/* ORIGINAL COLOR */
.tcorg {
    color: #116066;
}

.tcdark {
    color: #093033;
}

.tcblack {
    color: black;
}

.tcwhite {
    color: white;
}

/****** LETTER-SPACING ******/
.ls03 {
    letter-spacing: 0.3rem;
}

/****** TEXT-DECORATION ******/
.tdnone {
    text-decoration: none;
}


/****** LINE-HEIGHT ******/
.lh16 {
    line-height: 1.6;
}

.lh18 {
    line-height: 1.8;
}

.lh20 {
    line-height: 2.0;
}


/****** FLEX ******/
.flxcol {
    flex-direction: column;
}

.flxcolrev {
    flex-direction: column-reverse;
}

body{
    font-family: 'Noto Sans JP', sans-serif;
    /*padding-top: 90px;*/
    margin: 0;
}

header {
    position: sticky; /* ここに注目! */
    z-index: 1000;
    top: 0;
    height: 70px;
    color: white;
    background-color: #FFF;
    /*padding-inline: 50px;*/
    align-content: center;
    box-shadow: 0 0 10px gray;
}

header .header_wrapper {
    width: 100%;
    margin: 0 auto;
}

header .logo {
    float: left;
    align-content: center;
    height: 50px;
    margin-top: 1px;
    padding-left: 5px;
}

header .header_menu {
    display: none;
    /* justify-content: flex-end;
    height: 100%; */
}

header .header_menu_item {
    text-align: center;
    align-content: center;
    min-width: 100px;
    margin: 0 8px;
}

header .header_menu_item a {
    display: block;
    width: 100%;
    height: 100%;
    align-content: center;
    font-size: 15px;
    font-weight: 600;
    color: #116066;
    text-decoration: none;
    padding: 0 8px;
    margin-bottom: 4px;
    background-image: linear-gradient(#116066, #116066);
    background-repeat: no-repeat;
    background-position: bottom right; /* 下線の初期位置 */
    background-size: 0 4px; /* 下線のサイズ（横幅、高さ） */
    transition: background-size 0.3s, background-color 0.3s;
}

header .header_menu_item a:hover {
    background-color: #F4F4F4;
    background-position: bottom left; /* 下線のホバー時位置 */
    background-size: 100% 4px; /* 下線の横幅を100%にする */
}

main .subheader {
    position: relative;
}

main .subheader .text {
    position: absolute;
    width: 90%;
    /* padding: 10px 20px;
    background: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(5px); */
    color: #116066;
    left: 0;
    right: 0;
    top: 5%;
    bottom: 0;
    margin: 0 auto;
}

main .subheader .text h1{
    font-size: 40px;
}

main .subheader .text p{
    width: 100%;
    font-size: 21px;
}

main .subheader .img {
    overflow-x: hidden;
}

main .subheader .img img {
    width: 300%;
    margin-left: -700px;
}

/****** BACKGROUND ******/
.bgorg1 {
    background-image: linear-gradient(135deg, #B0FF9C, #116066);
}

.bgorg2 {
    background-image: linear-gradient(135deg, #116066, #74cc5e);
}

.bgorg3 {
    background-color: #116066;
}

/****** BORDER ******/
.bdbtm1 {
    border-bottom: 1px solid;
}

.buorg {
    border-bottom: 4px solid;
    border-image: linear-gradient(to right, #7f7fff, #7fff7f) 1;
}

.bdcwhite {
    border-color: white;
}

.bdcpaleorg {
    border-color: #7FAAAD;
}


/****** SECTION ******/
/* SECTION1 */
.section1 {
    width: 100%;
}

.section1 .contents {
    width: 90%;
    margin: 0 auto;
}

.section1 .contents .header .text h2 {
    font-size: 32px;
    font-weight: 500;
}

.section1 .contents .header .text h3 {
    margin-top: -30px;
    font-size: 20px;
    font-weight: 500;
}

.section1 .contents .subheader {
    position: relative;
}

.section1 .contents .subheader .text {
    position: absolute;
    top: 10;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    text-align: center;
    text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.2);
    letter-spacing: 0.5rem;
}

.section1 .contents .subheader .text h2 {
    font-size: 36px;
    font-weight: 500;
}

.section1 .contents .subheader .text h3 {
    margin-top: -30px;
    font-size: 24px;
    font-weight: 500;
}

.section1 .contents .subheader img {
    height: 170px;
    filter: blur(3px);
}

.section1 .contents .table .row {
    display: flex;
    justify-content: flex-start;
    border-top: 1px solid;
    border-color: gray;
}

.section1 .contents .table .row:last-child {
    border-bottom: 1px solid;
    border-color: gray;
}




/****** BOX ******/
/* BOX1 */

.box1 {
    width: 1280px;
    margin-left:auto;
    margin-right:auto;
    border: 1px solid gray;
    border-radius: 20px;
    overflow: hidden;
}

.box1 .box1_header {
    position: relative;
    background-color: #093033;
}

.box1 .box1_header .text {
    position: absolute;
    color: white;
    left: 30px;
    top: 5px;
}

.box1 .box1_header .text h2 {
    font-size: 32px;
    font-weight: 500;
}

.box1 .box1_header .text h3 {
    font-size: 24px;
    font-weight: 500;
    margin-top: -20px;
}

.box1 .box1_header img {
    width: 100%;
    filter: blur(2px);
}

.box1 .box1_caption {
    background-color: white;
    padding: 20px 30px 10px 30px;
    color: #116066;
    font-size: 18px;
}

.box1 .more_detail {
    text-align: right;
    margin-right: 25px;
    margin-top: -50px;
}

.box1 .more_detail a {
    font-size: 18px;
    font-weight: 600;
    color: #116066;
    text-decoration: none;
}

/* NEWS */
.news {
    margin-top: 50px;
    width: 100%;
}

.news .item {
    display: flex;
    padding: 20px 0;
    width: 100%;
    border-top: 1px solid;
    border-color: gray;
}

.news .item:last-child {
    border-bottom: 1px solid;
    border-color: gray;
}

.news .item .date {
    width: 40%;
    padding-left: 0;
}

/* FOOTER */
.footer .contents {
    width: 100%;
}

.footer .contents .line {
    display: flex;
    justify-content: space-between;
}

.footer .contents .line .logo img {
    height: 50px;
    padding-left: 5px;
}

.footer .contents .line .menu {
    display: block;
    justify-content: flex-end;
}

.footer .contents .line .menu .menu_item {
    align-content: center;
    text-align: center;
    margin-top: 10px;
}

.footer .contents .line .copyright{
    font-size: 12px;
    margin-top: 20px;
    text-align: center;
}

.footer .contents .line .pmenu {
    display: flex;
    justify-content: flex-end;
}

.footer .contents .line .pmenu .pmenu_item {
    align-content: center;
    font-size: 14px;
}
}

