﻿@import url('https://fonts.googleapis.com/css2?family=Zen+Antique+Soft&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bonheur+Royale&display=swap');

body{
    font-family:"游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";    
}
.font_en{
    font-family: 'Zen Antique Soft',"游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
    letter-spacing:1px;
    overflow:hidden;
}
.font1,
.cms_title p{
    font-family: 'Bonheur Royale', cursive;
}

.linkStyle{
    color:#1bb3ef;
}
.linkStyle:hover{
    transition:all 0.3s;
    opacity:0.7;
    text-decoration:underline;
}
.font_14{
    line-height:2;
    font-size:16px;    
}
.txt_vertical{
    letter-spacing:-1px;
}
.pd_t-80px{
    padding-top:80px;
}



/*--all page---------------------------
-------------------------------------*/
.button:hover::after {
    box-shadow: inset 0 0 0 15em rgb(249,163,34);
}
.main_box{
    background-image:url(./Dup/img/hd.png);
    background-repeat:repeat-x;
    background-position:bottom;
    background-size:50%;   
    overflow:hidden;
}
header{
    background-color: #fcfcfc!important;
    border-left:30px solid #1bb3ef;
    box-shadow:-4px -4px 5px 5px #ddd;
}


.pc_box .contact_bt a,
.pc_box .tel_bt a{
    color:#333;
    border:1px solid #1bb3ef;
}

.pc_box .button:hover::after{
    box-shadow: inset 0 0 0 15em #1bb3ef;
}
.pc_box .button:hover{
    border-color:#1bb3ef!important;
    color:#fff;
}
#main_menu ul li a{
    color:#333;
}
#main_menu ul li a::before{
    background-color:#1bb3ef;
}
.link_box ul{justify-content:center;}
.link_box li{margin-right: 3%;}
.link_box li:last-of-type{margin-right: 0;}
.pc_box .fa-envelope:before{
    display:none;
}
/*
.main_box{
    background-image:url(./Dup/img/ft.png);
    background-repeat:no-repeat;
    background-position:right bottom;
    background-size:100%;
    background-color:#fcfcfc;
}
*/
footer .button:hover{
    background-color:#f9a322;
}


/*--top page---------------------------
-------------------------------------*/
#main_img{
  max-height: initial;
  min-height: auto;
  position:relative;
}
#main_img::before{
    content:'';
    position:absolute;
    display:block;
    width:100%;
    height:100%;
    background-color:rgba(0,0,0,0.2);
    top:0;
    left:0;
    z-index:1;
}
.catch{
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    z-index:1;
}
.con1_outer{
    position:relative;
}

.con1_outer::before{
    content:'';
    position:absolute;
    display:block;
    width:300px;
    height:300px;
    background-image:url(./Dup/img/en.png);
    background-size:contain;
    background-repeat:no-repeat;
    top:-20%;
    left:-6%;
    animation:rotate 30s linear infinite;
    pointer-events:none;
}
.txt1{
    width:initial;
    top:30%;
    left:auto;
    right:5%;
    -webkit-transform: none;
    transform: none;
}
.scroll_bt{
    bottom:0;
}
.icon1 img{
    width:auto;
}
#contents1 h2,
#contents2 h2{
    font-size: 26px;
}
#attach{
    display:none;
}
.con2_outer{
    position:relative;
    background: rgb(241,241,241);
    background: linear-gradient(90deg, rgba(241,241,241,1) 0%, rgba(255,255,255,1) 100%);
}
.con2_outer::before{
    content:'';
    position:absolute;
    display:block;
    width:350px;
    height:350px;
    background-image:url(./Dup/img/en2.png);
    background-size:contain;
    background-repeat:no-repeat;
    bottom:-10%;
    right:-6%;
    animation:rotate 30s linear infinite;
    pointer-events:none;
}    


#contents3 h3,
#top_cms h2{
    font-size: 24px;
}
.cms_title p{
    font-size:25px;
    color: #072466;
}
#top_cms .more a{
    border-color:#f9a322;
}
#top_cms .more a:hover{
    background-color:#f9a322;
}

/*下からフェードイン*/
 .fadein {
  opacity: 0;
  transform : translate(0, 50px);
  transition : all 1500ms;
}
.fadein.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}

/*--under page---------------------------
-------------------------------------*/
#cms_2-c .box_description2{
    background: rgb(241,241,241);
    background: linear-gradient(90deg, rgba(241,241,241,1) 0%, rgba(255,255,255,1) 100%);
}
.cate_list li a{
    border-color:#f9a322;
}
.cate_list li a:hover{
    background-color:#f9a322;
}
.pager li a:hover{
    background-color:#072466;
}

/* ---------- responsive ---------- */
@media screen and (max-width: 1375px){
#contents1 .grid_4{
    width:100%!important;
    margin-bottom:30px;
}
#contents1 .txt3{
    width:100%!important;
}
.con1_outer::before{
    left:auto;
    right:-6%;
}
}

@media screen and (max-width: 1100px){
.con1_outer::before{
    top:-25%;
}
.con2_outer::before{
    bottom:-2%;
}    
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.font_14{
    line-height:1.5;
}
header{
    border:0;
}
.hamburger {
    top:30px;
}
#logo{
    max-width:150px;
}
.con1_outer{
    background-size:70%;
}
.con1_outer::before {
    top: -41%;
    right: -12%;
}

footer{
    background: rgb(241,241,241);
    background: linear-gradient(0deg, rgba(241,241,241,1) 0%, rgba(255,255,255,1) 100%);
}
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
.txt_vertical {
    letter-spacing: 1px;
}
.hamburger {
    top:15px;
}
#logo{
    max-width:100px;
}
.catch{
    width:80%;
}
.con1_outer::before{
    top: -11%;
    right: -12%;
    width: 200px;
    height: 200px;
}
#contents1{
    padding-top:100px;
}
.con2_outer::before{
    display:none;
}
footer .logo,
.footer_cms{
    text-align:center;
}
#main_img::before{
    height:98%;
}
}

/* ---------- IEの処理 ---------- */
@media all and (-ms-high-contrast: none){
.pc_box .contact_bt a,
.pc_box .tel_bt a{
    padding:12px 0 12px;
}
#top_cms .more a{
    padding-top:8px;
}
.foot_tel_bt a{
    padding-top:12px;
}
#contact_tel a{
    padding-top:35px;
}
}


