﻿@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@500&display=swap');
.font2{font-family: 'DM Sans', sans-serif;}

.font1{
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-weight: 900;
  font-style: normal;
}
/*---------all page-----------------------------------*/
#loader img{width:300px!important;}
#body{
  background-color:#333;
  overflow:hidden;   
}
#logo2{width:300px!important;}


/*----------top page--------------------------------------*/
#main_img .main_bg, #contents1 .con1_bg{
    background: linear-gradient(to bottom right, rgb(94, 168, 214), rgb(27,75, 140))!important;
}
#main_img .main_txt{font-size:5rem;}
#main_img .main_txt_wrap p{padding-left:50px;}
#intro {
    background-image: url(./Dup/img/intro.png),url(./Dup/img/intro1.png);
    background-color: #333;
    background-repeat: repeat,no-repeat;
    background-position: top right;
}
#intro .intro_title,#intro .intro_txt{padding-left:20px;}
#intro .intro_img{position:relative;}
#intro .intro_img::before{
  content:'';
  position:absolute;
  display:block;
  width:339px;
  height:393px;
  background-image:url(./Dup/img/intro2.png);
  background-repeat:no-repeat;
  bottom:-170px;
  right:-120px;
  z-index:1;
}
#intro .intro_wrap{
  padding: 150px 100px 200px 200px;
}
#contents1 .font2,#contents2 .font2,#contents3 .font2{font-size:5rem;}
#contents1{position:relative;}
#contents1 .con1_item{
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    margin: auto;
    width: 522px;
    top: -50px;
}
#contents2 .con2_box{background:url(./Dup/img/intro.png) #333 repeat;}
#contents3 .con3_box {
    background: linear-gradient(to bottom right, rgb(9, 84, 130), rgb(178, 170, 107));
    opacity:0.7;
}

#top_cms{background:url(./Dup/img/intro.png) #333 repeat;}
#top_cms .bg_color2{
  width:80%;
  margin:auto;
}
#top_cms .con1_item {
    width: 551px;
    left: 0;
    right: 0;
    margin: auto;
    padding-top: 30px;
    padding-bottom: 30px;
}
#top_cms .cms_box{
  padding-bottom:200px;
  margin-bottom:0;
}
#top_cms .cms_box::after{
  content:'';
  position:absolute;
  display:block;
  width:80%;
  height:2px;
  background-color:white;
  top:-2px;
  left:0;
  right:0;
  margin:auto;
}
#top_cms .bg_color2{background-color:rgba(145,145,145,0.2);}
#top_cms .top_cms_wrap{margin-bottom:0;}
#top_cms .cms_title{font-size:calc(2rem + 5px);}
.cms_5-c .box_title1 {border-color: rgba(255,255,255,0.1);}
.cms_5-c .box_txt1::before{color:rgba(255,255,255,0.5);}

/*---------under page--------------------------------------*/
#page_title .page_title_gradient{background:transparent!important;}
#page_title p{
  font-size:calc(5rem - 8px);
  font-weight:bold;
  line-height: 1.2;
  letter-spacing: 0.1em;
  font-family: 'DM Sans', sans-serif;
}
#page02,#page03,#page04,#page05,#page6,#page07,#page08,#page09,#page10{background: url(./Dup/img/intro.png) #333 repeat;}



/*-----------responsive-------------------*/
@media screen and (max-width: 1600px){
#intro .intro_wrap { padding: 50px;}
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
#logo a{
  padding-top:10px;
  padding-bottom:10px;
  width:250px!important;
}
#main_img .main_txt {font-size: 3rem;}
#intro{
  padding-right:30px;
  background:url(./Dup/img/intro.png) #333 repeat;
}
#intro .intro_wrap{padding-bottom:200px;}
#intro .intro_img::before{background-size:80%;}
#contents1 .con1_wrap,#contents2 .grid_6,#contents3 .con3_wrap{padding-right:80px;}
#page_top{right:15px;}
#sp_nav .nav_bg {background: linear-gradient(to bottom right, rgb(94, 168, 214), rgb(27,75, 140))!important;}
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
#logo a{width:120px!important;}
#logo a img{width:100%!important;}
#intro{padding-right:0;}
#intro .main_txt{font-size:2rem;}
#intro .intro_title{text-align:center;}
#intro .intro_title, #intro .intro_txt {padding-left:0;}
#main_img .main_txt_wrap p {padding-left: 0;}
#intro .intro_wrap {padding: 20px 20px 250px 20px;}
#intro .intro_img::before {
    background-size: 75%;
    bottom: -210px;
    right: -120px;
}
#contents1 .con1_item,#top_cms .con1_item{width:100%;}
#contents1 .con1_box{padding-top:20px;}
#contents1 .con1_wrap,#contents2 .grid_6, #contents3 .con3_wrap {padding-right: 0;}
#contents2 .con2_box{padding-top:0;}
#contents3 .con3_box{padding-top:50px;}
#top_cms .con1_item{padding-top:50px;}
#top_cms .top_cms_wrap {margin-bottom: 20px;}
#top_cms .cms_title {font-size: calc(2rem - 5px);}
#top_cms .cms_box {
    padding-bottom: 130px;
    margin-bottom: 0;
}
#page_title p {font-size: calc(4rem - 10px);}
#page_top {right: 0;}
}

@media screen and (max-width: 568px){
#page_title p {font-size: calc(4rem - 18px);}
}

/* ---------- IEの処理 ---------- */
@media all and (-ms-high-contrast: none){

}