body {
    margin: 0;
    padding: 0;
    background-image: url(../image/bk.png);
    background-position: 100%;
    background-size: 100%;
    background-repeat: repeat;
    font-family: 'Noto Sans JP', 'Hiragino Gothic';
    color: #fff;
    width: 100%;
    box-sizing: border-box;
}
main{
    text-align: center;
    margin-bottom: calc((180/1440)*100vw);
}
@media screen and (min-width:751px) {
    .border-gradation br,
    h4 br,
    .sp,
    .Menu {
        display: none;
    }
}
/*-------header------*/
header {
    margin: 0 auto;
    position: relative;
    z-index:0;
}
#header.fixed {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
}
.header_inr {
    background-color: #fff;
    box-shadow: 0 4px 4px rgb(0 0 0 / 25%);
    box-sizing: border-box;
    width: 100%;
    display: flex;
    padding: 0 calc((50/1440)*100vw);
    justify-content: space-between;
    align-items: center;
    z-index: 999;
}
.header_inr img {
    width: calc((200/1440)*100vw);
}
.pc_menu ul {
    display: flex;
    gap: calc((40/1440)*100vw);
    align-items: center;
}
.header_inr li {
    position: relative;
    list-style: none;
}
@media screen and (min-width:751px) {
    .header_inr li {
        height: calc((80/1440)*100vw);
        display: flex;
        align-items: center;
    }
}
.header_inr ul button {
    display: flex;
    gap: calc((40/1440)*100vw);
    padding: calc((5/1440)*100vw) 0;
    border: none;
}
.header_inr ul button a {
    font-size: calc((14/1440)*100vw);
    font-weight: bold;
    letter-spacing: 0;
    text-decoration: none;
    padding: calc((5/1440)*100vw) calc((20/1440)*100vw);
    color: #fff;
    display: flex;
    align-items: center;
    gap: calc((10/1440)*100vw);
    justify-content: center;
}
.header_button_box { display: flex; }
.pc_menu{
    display: flex;
    justify-content: right;
    gap: 0 calc((40/1440)*100vw);
    align-items: center;
}
.pc_menu a {
    font-size: max((16/1440)*100vw,13px);
    text-decoration: none;
    color: #171B2E;
    font-weight: bold;
}
.pc_menu li a {
    display: inline-block;
    transition: all .3s ease 0s;
    text-decoration: none;
}
.pc_menu li a:hover {
    cursor: pointer;
    color: #066FC8;
}
.header_inr .pc_menu li a::after {
    background: -webkit-linear-gradient(-45deg, rgba(24, 131, 255, 1), rgba(138, 199, 255, 1) 70%, rgba(204, 188, 255, 1) 85%, rgba(255, 160, 233, 1));
    bottom: 0;
    content: "";
    height: calc((3/1440)*100vw);
    left: 0;
    position: absolute;
    opacity: 0;
    transition: all 0.3s;
    width: 100%;
}
.header_inr .pc_menu li a:hover::after {
    opacity: 1;
}
.sp_menu {
    display: none;
}
/*-------contact------*/
.contact, .downlord {
    width: calc((550/1440)*100vw);
    margin: 0 auto;
    position: relative;
    border-radius: calc((16/1440)*100vw);
    border: none;
    box-shadow: 8px 8px 4px rgb(0 0 0 / 25%);
    transition: all 0.2s ease;
    outline: none;
    overflow: hidden;
    text-decoration: none;
    font-family: 'Noto Sans JP', 'Hiragino Gothic';
}
.contact, .head_contact { background: #2063AE; }
.downlord { margin-left: calc((20/1440)*100vw); background: linear-gradient(90deg, #0072BF 0%, #12B7EB 30%,#F2A8C8); }
.contact:hover, .downlord:hover {
    border-color: transparent;
}
.pushdown:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: calc((4/1440)*100vw);
    left: 0;
    width: 100%;
    height: 100%;
}
.pushdown:hover {
    color: #fff;
    transform: translateY(calc((4/1440)*100vw));
}
.contact::before, .downlord::before {
    content: '';
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
    transform: skewX(-25deg);
}
.contact:hover::before, .downlord:hover::before {
    animation: shine 1s;
}
.button_dl::after, .button_top::after {
    content: '';
    position: absolute;
    top: 50%;   /* 縦軸をセンタリングする */
    right: 3%;
    transform: translateY(-50%);   /* 縦軸をセンタリングする */
    border: calc((18/1440)*100vw) solid transparent;
    border-left: calc((20/1440)*100vw) solid #fff;
}
.contact.head_contact, .downlord.head_downlord{
    box-shadow: none;
}
.contact.head_contact::after, .downlord.head_downlord::after{
    content: none;
}
@keyframes shine {
    100% {
        left: 125%;
    }
}
.contact a, .downlord a {
    width: 100%;
    position: relative;
    padding: calc((25/1440)*100vw) 0;
    font-size: calc((36/1440)*100vw);
    font-weight: bold;
    letter-spacing: calc((2/1440)*100vw);
    text-decoration: none;
    color: #fff;
    display: flex;
    align-items: center;
    gap: calc((20/1440)*100vw);
    justify-content: center;
    transition: all 0.3s ease;
}
.head_contact, .head_downlord {
    box-sizing: border-box;
    width: calc((200/1440)*100vw);
    margin-top: 0;
    border-radius: calc((6/1440)*100vw);
}
.head_downlord { background: linear-gradient(135deg, #0072BF 0%, #12B7EB 30%,#F2A8C8); }
.head_contact a, .head_downlord a {
    font-size: calc((16/1440)*100vw);
    padding: calc((16/1440)*100vw) 0 calc((16/1440)*100vw) calc((10/1440)*100vw);
    letter-spacing: normal;
}
/*--------->-----------*/
.dli-chevron-round-right {
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    position: relative;
    width: calc((12/1440)*100vw);
    height: calc((12/1440)*100vw);
    transform: translateX(-25%) rotate(45deg);
}
.pc_menu ul .dli-chevron-round-right {
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    position: relative;
    width: calc((10/1440)*100vw);
    height: calc((10/1440)*100vw);
    transform: translateX(-25%) rotate(45deg);
}
.pc_menu ul .dli-chevron-round-right::before {
    top: 0;
    left: 0;
    right: 0;
    height: calc((3/1440)*100vw);
}
.pc_menu ul .dli-chevron-round-right::after {
    top: 0;
    right: 0;
    bottom: 0;
    width: calc((3/1440)*100vw);
}
.dli-chevron-round-right::before,
.dli-chevron-round-right::after {
    content: '';
    position: absolute;
    background: currentColor;
    border-radius: 0.1em;
}
.dli-chevron-round-right::before {
    top: 0;
    left: 0;
    right: 0;
    height: calc((4/1440)*100vw);
}
.dli-chevron-round-right::after {
    top: 0;
    right: 0;
    bottom: 0;
    width: calc((4/1440)*100vw);
}
/*-------footer-------*/
footer {
    background-color: #fff;
    color: #171B2E;
    line-height: calc((20/1440)*100vw);
    font-size: calc((14/1440)*100vw);
    padding: calc((60/1440)*100vw) calc((112/1440)*100vw) calc((20/1440)*100vw) calc((98/1440)*100vw);
}
.footer_logo_nav{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: calc((20/1440)*100vw);
}
.footer_menu>ul{
    justify-content: space-between;
}
.footer_menu>ul>li>a{
    font-size: calc((14/1440)*100vw);
    font-weight: bold;
}
.footer_policy {
    margin-top: max((35/1440)*100vw,20px);
}
.footer_policy>ul {
    margin: 0 auto;
    display: flex;
    gap: 0 calc((36/1440)*100vw);
    justify-content: center;
}
.footer_policy a {
    font-size: calc((12/1440)*100vw);
    color: #171B2E;
    display: inline-block;
    transition: all .3s ease 0s;
    font-weight: normal;
}
.footer_policy li a:hover {
    cursor: pointer;
    color: #066FC8;
    transform: scale(1, 1);
}
.footer_logo_nav img {
    width: calc((300/1440)*100vw);
}
.footer_add_policy {
    display: flex;
    justify-content: space-between;
}
.address {
    margin-top: calc((30/1440)*100vw);
}
.address_title {
    font-size: calc((16/1440)*100vw);
    font-weight: bold;
}
.address_text {
    margin: calc((10/1440)*100vw) 0 0;
}
.footer_copyright{
    text-align: center;
}
.footer_copyright-txt {
    line-height: 1;
    font-size: calc((10/1440)*100vw);
}